Guia de detecção de linguagem para Python

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.