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.