Guía de detección de lenguaje para Python

La tarea MediaPipe Language Detector te permite identificar el idioma de una porción del texto. Estos Las instrucciones te muestran cómo usar el detector de lenguaje con Python. La muestra de código que se describe en estas instrucciones está disponible en GitHub:

Para ver esta tarea en acción, consulta el demo. Para obtener más información sobre las capacidades, los modelos y las opciones de configuración para completar esta tarea, consulta la Descripción general.

Ejemplo de código

El código de ejemplo para detector de idiomas proporciona una implementación completa de esto, en Python para tu referencia. Este código te ayuda a probar esta tarea y obtener empezaste a crear tu propia función de detección de idioma. Puedes ver, ejecutar y editar el detector de idioma código de ejemplo usando solo el navegador web.

Configuración

En esta sección, se describen los pasos clave para configurar tu entorno de desarrollo y proyectos de código específicamente para el detector de idioma. Para obtener información general configurar tu entorno de desarrollo para usar tareas de MediaPipe, como de la versión de la plataforma, consulta la Guía de configuración para Python.

Paquetes

El detector de lenguaje utiliza el paquete mediapipe pip. Puedes instalar la dependencia con lo siguiente:

$ python -m pip install mediapipe

Importaciones

Importa las siguientes clases para acceder a las funciones de tarea del detector de idioma:

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

Modelo

La tarea del detector de idioma de MediaPipe requiere un modelo entrenado que sea compatible con este tarea. Para obtener más información sobre los modelos entrenados disponibles para el detector de idioma, consulta la sección Modelos en la descripción general de la tarea.

Selecciona y descarga el modelo; luego, guárdalo en el directorio de tu proyecto:

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

Especifica la ruta del modelo con el objeto model_asset_path de BaseOptions según se muestra a continuación:

base_options = BaseOptions(model_asset_path=model_path)

Crea la tarea

La tarea del detector de idioma de MediaPipe usa la función create_from_options para configurar la tarea. La función create_from_options acepta valores para la configuración para configurar las opciones del detector. También puedes inicializar la tarea usando la función de fábrica create_from_model_path El create_from_model_path acepta una ruta de acceso absoluta o relativa al archivo de modelo entrenado. Para obtener más información sobre la configuración de tareas, consulta Opciones de configuración.

En el siguiente código, se muestra cómo compilar y configurar esta tarea.

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

Opciones de configuración

Esta tarea tiene las siguientes opciones de configuración para las aplicaciones de Python:

Nombre de la opción Descripción Rango de valores Valor predeterminado
max_results Establece el número máximo opcional de predicciones lingüísticas con la puntuación más alta para el resultado. Si este valor es menor que cero, se muestran todos los resultados disponibles. Cualquier número positivo -1
score_threshold Establece el umbral de puntuación de predicción que anula el que se proporciona en los metadatos del modelo (si los hay). Se rechazarán los resultados por debajo de este valor. Cualquier número de punto flotante Sin establecer
category_allowlist Establece la lista opcional de códigos de idioma permitidos. Si no está vacío, las predicciones de idioma cuyo código de idioma no se encuentre en este conjunto serán filtrado. Esta opción es mutuamente excluyente con category_denylist, y usar ambos generará un error. Cualquier cadena Sin establecer
category_denylist Establece la lista opcional de códigos de idioma que no están permitidos. Si Se filtrarán las predicciones de idioma no vacías cuyo código de idioma se encuentra en este conjunto. y sale de ella. Esta opción es mutuamente excluyente con category_allowlist y usar ambos dará como resultado un error. Cualquier cadena Sin establecer

Preparar los datos

El detector de idioma funciona con datos de texto (str). La tarea maneja la entrada de datos el procesamiento previo, incluida la asignación de token y el procesamiento previo del tensor. Todo el procesamiento previo se controla dentro de la función detect. No se necesita el procesamiento previo adicional del texto de entrada de antemano.

input_text = 'The input text to be classified.'

Ejecuta la tarea

El detector de idioma usa la función detect para activar las inferencias. Para idiomas detección, esto significa mostrar los posibles idiomas para el texto de entrada.

En el siguiente código, se muestra cómo ejecutar el procesamiento con la tarea un modelo de responsabilidad compartida.

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

Cómo controlar y mostrar resultados

El detector de idioma genera un LanguageDetectorResult que consta de una lista de lingüísticas junto con las probabilidades de esas predicciones. A continuación, se muestra un ejemplo de los datos de salida de esta tarea:

LanguageDetectorResult:
  LanguagePrediction #0:
    language_code: "fr"
    probability: 0.999781

Se obtuvo este resultado ejecutando el modelo en el texto de entrada: "Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent."

Para ver un ejemplo del código necesario para procesar y visualizar los resultados de esta tarea, consulta la App de ejemplo de Python.