Com a tarefa Detector de idioma do MediaPipe, você identifica o idioma de um texto. Estas instruções mostram como usar o Detector de idioma com o Python. O exemplo de código descrito nestas instruções está disponível no GitHub.
Para conferir essa tarefa em ação, confira a demonstração. Para mais informações sobre os recursos, modelos e opções de configuração dessa tarefa, consulte a Visão geral.
Exemplo de código
O código de exemplo do detector de linguagem fornece uma implementação completa dessa tarefa em Python para sua referência. Este código ajuda você a testar essa tarefa e começar a criar seu próprio recurso de detecção de idioma. É possível ver, executar e editar o exemplo de código do Detector de idioma usando apenas seu navegador da Web.
Configuração
Nesta seção, descrevemos as principais etapas para configurar seu ambiente de desenvolvimento e projetos de código especificamente para usar o Detector de idiomas. Para informações gerais sobre a configuração do ambiente de desenvolvimento para o uso de tarefas do MediaPipe, incluindo requisitos de versão da plataforma, consulte o Guia de configuração para Python.
Pacotes
O detector de idioma usa o pacote Mediapipe. Você pode instalar a dependência com o seguinte:
$ python -m pip install mediapipe
Importações
Importe as seguintes classes para acessar as funções de tarefa do Detector de idioma:
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text
Modelo
A tarefa do 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 Detector de idiomas, consulte a seção Modelos de visão geral da tarefa.
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 parâmetro model_asset_path
do objeto BaseOptions
, conforme mostrado abaixo:
base_options = BaseOptions(model_asset_path=model_path)
Criar a tarefa
A tarefa do detector de idioma do MediaPipe usa a função create_from_options
para configurar a
tarefa. A função create_from_options
aceita valores das opções de configuração para definir as opções do detector. Você também pode inicializar a tarefa usando
a função de fábrica create_from_model_path
. A funçã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 a seguir 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 idioma com pontuação mais alta a serem retornadas. 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 de previsão que substitui o fornecido nos metadados do modelo (se houver). Os resultados abaixo desse valor são rejeitados. | Qualquer ponto flutuante | Não definido |
category_allowlist |
Define a lista opcional de códigos de idioma permitidos. Se o valor não estiver vazio, as previsões de idioma com código de idioma que não estiver nesse conjunto serão filtradas. Essa opção é mutuamente exclusiva com
category_denylist , e o uso de ambos resulta em erro. |
Qualquer string | Não definido |
category_denylist |
Define a lista opcional de códigos de idioma que não são permitidos. Se não estiver em branco, as previsões de idioma com código de idioma nesse conjunto serão filtradas. Essa opção é mutuamente exclusiva com category_allowlist , e
o uso de ambos resulta em um erro. |
Qualquer string | Não definido |
preparar dados
O detector de idioma funciona com dados de texto (str
). A tarefa lida com o pré-processamento de entrada de dados, incluindo a tokenização e o pré-processamento de tensor. Todo o
pré-processamento é processado na função detect
. Não é necessário fazer outro pré-processamento do texto de entrada.
input_text = 'The input text to be classified.'
Executar a tarefa
O detector de idioma usa a função detect
para acionar inferências. Na detecção de idioma, isso significa retornar os possíveis idiomas para o texto de entrada.
O código a seguir demonstra como executar o processamento com o modelo de tarefa.
with python.text.LanguageDetector.create_from_options(options) as detector:
detection_result = detector.detect(input_text)
Gerenciar e mostrar resultados
O detector de idioma gera um LanguageDetectorResult
que consiste em uma lista de previsões de idioma com as probabilidades dessas previsões.
Veja a seguir um exemplo dos dados de saída dessa tarefa:
LanguageDetectorResult:
LanguagePrediction #0:
language_code: "fr"
probability: 0.999781
Esse resultado foi obtido com a execução do modelo no texto de entrada:
"Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent."
.
Para conferir um exemplo do código necessário para processar e visualizar os resultados dessa tarefa, consulte o app de amostra em Python.