Guia de detecção de linguagem para Python

A tarefa Detector de idiomas do MediaPipe permite identificar o idioma de um texto. Esses as instruções mostram como usar o detector de linguagem com Python. O exemplo de código descritas 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 Python para sua referência. Esse código ajuda a testar a tarefa a criar seu próprio recurso de detecção de idioma. Você pode exibir, executar e editar o detector de idioma exemplo de código 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 Python.

Pacotes

O detector de linguagem usa o pacote pip mediapipe. É possível instalar a dependência pelo seguinte:

$ python -m pip install mediapipe

Importações

Importe as seguintes classes para acessar as funções de tarefa do detector de linguagem:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text

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 a seção de visão geral da tarefa Modelos.

Selecione e faça o download do modelo e armazene-o no diretório do projeto:

model_path = '/absolute/path/to/language_detector.tflite'

Especifique o caminho do modelo com o objeto BaseOptions model_asset_path , conforme mostrado abaixo:

base_options = BaseOptions(model_asset_path=model_path)

Criar a tarefa

A tarefa Detector de linguagem do MediaPipe usa a função create_from_options para configurar o tarefa. A função create_from_options aceita valores para configuração. para definir as opções do detector. Também é possível inicializar a tarefa usando a função de fábrica create_from_model_path. O create_from_model_path aceita um caminho relativo ou absoluto para o arquivo de modelo treinado. 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.

base_options = python.BaseOptions(model_asset_path=model_path)
options = text.LanguageDetectorOptions(base_options=base_options)

Opções de configuração

Esta tarefa tem as seguintes opções de configuração para aplicativos Python:

Nome da opção Descrição Intervalo de valor Valor padrão
max_results 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
score_threshold 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
category_allowlist 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 category_denylist e usar os dois resultará em um erro. Qualquer string Não definido
category_denylist 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 category_allowlist e usar ambos resulta em erro. Qualquer string Não definido

Preparar dados

O detector de idiomas funciona com dados de texto (str). A tarefa lida com a entrada de dados incluindo a tokenização e o pré-processamento de tensores. Todos o pré-processamento é feito na função detect. Não é necessário um pré-processamento adicional do texto de entrada.

input_text = 'The input text to be classified.'

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 um modelo de machine learning.

with python.text.LanguageDetector.create_from_options(options) as detector:
  detection_result = detector.detect(input_text)

Gerenciar e exibir resultados

O detector de linguagem gera uma LanguageDetectorResult que consiste em uma lista de previsões de idiomas e as probabilidades delas. Confira abaixo 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.":

Um exemplo do código necessário para processar e visualizar os resultados desta tarefa, consulte a App de amostra em Python.