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 idioma en apps web y de JavaScript. La muestra de código descrita en estas instrucciones está disponible en GitHub:
Para ver esta tarea en acción, consulta el demostración. 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 JavaScript para tu referencia. Este código te ayuda a probar la tarea y empezar a crear tu propia función de detector de idioma. Puedes ver, ejecutar y edita el Código de ejemplo del detector de idioma 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 la Web.
Paquetes de JavaScript
El código del detector de idioma está disponible a través del
@mediapipe/tasks-text
. Puedes encontrar y descargar estas bibliotecas en los vínculos que se proporcionan en la
plataforma
Guía de configuración.
Puedes instalar los paquetes obligatorios con el siguiente código para la etapa de pruebas local con el siguiente comando:
npm install @mediapipe/tasks-text
Si quieres realizar la implementación en un servidor, puedes usar un modelo de red de VPC (CDN), como jsDelivr, al agrega el código directamente a tu página HTML de la siguiente manera:
<head>
<script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
crossorigin="anonymous"></script>
</head>
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 de la descripción general de la tarea.
Selecciona y descarga un modelo y, luego, guárdalo en el directorio de tu proyecto:
<dev-project-root>/app/shared/models
Especifica la ruta del modelo con el objeto modelAssetPath
de baseOptions
según se muestra a continuación:
baseOptions: {
modelAssetPath: `/app/shared/models/language_detector.tflite`
}
Crea la tarea
Usa una de las funciones LanguageDetector.createFrom...()
del detector de idioma para lo siguiente:
preparan la tarea para ejecutar inferencias. Puedes usar el createFromModelPath()
con una ruta de acceso absoluta o relativa al archivo de modelo entrenado. El código
En el siguiente ejemplo, se muestra el uso de la función createFromOptions()
. Para ver 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.
async function createDetector() {
const textFiles = await FilesetResolver.forTextTasks(
"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm/");
languageDetector = await languageDetector.createFromOptions(
textFiles,
{
baseOptions: {
modelAssetPath: `https://storage.googleapis.com/mediapipe-models/language_detector/language_detector/float32/1/language_detector.tflite`
},
}
);
}
createDetector();
Opciones de configuración
Esta tarea tiene las siguientes opciones de configuración para la Web y JavaScript aplicaciones:
Nombre de la opción | Descripción | Rango de valores | Valor predeterminado |
---|---|---|---|
maxResults |
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 |
scoreThreshold |
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 |
categoryAllowlist |
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
categoryDenylist , y usar ambos generará un error. |
Cualquier cadena | Sin establecer |
categoryDenylist |
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 categoryAllowlist y
usar ambos dará como resultado un error. |
Cualquier cadena | Sin establecer |
Preparar los datos
El detector de idioma funciona con datos de texto (string
). La tarea controla
Procesamiento previo de la entrada de datos, 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 es necesario
para un procesamiento previo adicional del texto de entrada.
const inputText = "The input text for the detector.";
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 modelo:
// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);
Cómo controlar y mostrar resultados
La tarea Detector de idioma genera un LanguageDetectorResult
que consta de una lista
de predicciones de lenguaje junto con las probabilidades de esas predicciones. El
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."
Si deseas ver un ejemplo del código necesario para procesar y visualizar los resultados de esta tarea, consulta la App de ejemplo web.