A tarefa Detector de idiomas do MediaPipe permite identificar o idioma de um texto. Esses mostram como usar o detector de linguagem para apps da Web e JavaScript. O exemplo de código descrito nestas instruções está disponível em GitHub.
Para saber como essa tarefa funciona, acesse o demonstração. Para mais informações sobre recursos, modelos e opções de configuração, desta tarefa, consulte a Visão geral.
Exemplo de código
O código de exemplo para o detector de linguagem fornece uma implementação completa desse em JavaScript para sua referência. Esse código ajuda a testar a tarefa a criar seu próprio recurso de detecção de idiomas. Você pode conferir, executar e edite o Exemplo de código do detector de linguagem usando apenas seu navegador da Web.
Configuração
Esta seção descreve as principais etapas para configurar seu ambiente de desenvolvimento e projetos de código especificamente para usar o Language Detector. Para informações gerais a configuração do seu ambiente de desenvolvimento para usar tarefas do MediaPipe, incluindo requisitos de versão da plataforma, consulte Guia de configuração para a Web.
Pacotes JavaScript
O código do detector de linguagem é disponibilizado pelo
@mediapipe/tasks-text
. Essas bibliotecas podem ser encontradas e baixadas nos links fornecidos na
plataforma
Guia de configuração.
É possível instalar os pacotes necessários com o seguinte código para preparo local usando o seguinte comando:
npm install @mediapipe/tasks-text
Se você quiser implantar em um servidor, use uma API de envio de conteúdo de rede (CDN), como jsDelivr, para adicionar o código diretamente à página HTML, da seguinte forma:
<head>
<script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
crossorigin="anonymous"></script>
</head>
Modelo
A tarefa Detector de linguagem do MediaPipe requer um modelo treinado compatível com essa tarefa. Para mais informações sobre os modelos treinados disponíveis para o Language Detector, consulte na seção de visão geral da tarefa Modelos.
Selecione e faça o download de um modelo e armazene-o no diretório do projeto:
<dev-project-root>/app/shared/models
Especifique o caminho do modelo com o objeto baseOptions
modelAssetPath
, conforme mostrado abaixo:
baseOptions: {
modelAssetPath: `/app/shared/models/language_detector.tflite`
}
Criar a tarefa
Use uma das funções LanguageDetector.createFrom...()
do detector de linguagem para
preparar a tarefa para executar inferências. Você pode usar o createFromModelPath()
função com um caminho relativo ou absoluto para o arquivo de modelo treinado. O código
exemplo abaixo demonstra o uso da função createFromOptions()
. Para mais
informações sobre como configurar tarefas, consulte
Opções de configuração.
O código abaixo demonstra como criar e configurar essa tarefa.
async function createDetector() {
const textFiles = await FilesetResolver.forTextTasks(
"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm/");
languageDetector = await languageDetector.createFromOptions(
textFiles,
{
baseOptions: {
modelAssetPath: `https://storage.googleapis.com/mediapipe-models/language_detector/language_detector/float32/1/language_detector.tflite`
},
}
);
}
createDetector();
Opções de configuração
Esta tarefa tem as seguintes opções de configuração para Web e JavaScript aplicativos:
Nome da opção | Descrição | Intervalo de valor | Valor padrão |
---|---|---|---|
maxResults |
Define o número máximo opcional de previsões de idiomas com maior pontuação como voltar. Se esse valor for menor que zero, todos os resultados disponíveis serão retornados. | Qualquer número positivo | -1 |
scoreThreshold |
Define o limite de pontuação da previsão que substitui o fornecido no os metadados do modelo (se houver). Resultados abaixo desse valor são rejeitados. | Qualquer flutuação | Não definido |
categoryAllowlist |
Define a lista opcional de códigos de idioma permitidos. Se não estiver vazio,
previsões de idiomas cujo código de idioma não estiver neste conjunto serão
que foram filtradas. Essa opção é mutuamente exclusiva com
categoryDenylist e usar os dois resultará em um erro. |
Qualquer string | Não definido |
categoryDenylist |
Define a lista opcional de códigos de idiomas que não são permitidos. Se
as previsões de idiomas com código nesse conjunto serão filtradas
para fora. Essa opção é mutuamente exclusiva com categoryAllowlist e
usar ambos resulta em erro. |
Qualquer string | Não definido |
Preparar dados
O detector de idiomas funciona com dados de texto (string
). A tarefa lida com o
Pré-processamento de entrada de dados, incluindo tokenização e pré-processamento de tensor.
Todo o pré-processamento é feito na função detect
. Não é necessário
para pré-processamento adicional do texto de entrada.
const inputText = "The input text for the detector.";
Executar a tarefa
O detector de linguagem usa a função detect
para acionar inferências. Para idioma
isso significa retornar os idiomas possíveis para o texto de entrada.
O código a seguir demonstra como executar o processamento com a tarefa modelo:
// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);
Gerenciar e exibir resultados
A tarefa do Detector de linguagem gera um LanguageDetectorResult
que consiste em uma lista
de previsões de idiomas e as probabilidades delas. A
Veja a seguir um exemplo dos dados de saída desta tarefa:
LanguageDetectorResult:
LanguagePrediction #0:
language_code: "fr"
probability: 0.999781
Este resultado foi obtido executando o modelo no texto de entrada:
"Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent."
:
Para um exemplo do código necessário para processar e visualizar os resultados de para essa tarefa, consulte App de amostra da Web (link em inglês).