Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Use language detector API para detectar el idioma del texto del código JavaScript en su sitio web o extensión del explorador. La API usa un modelo específico de la tarea integrado en Microsoft Edge.
Contenido detallado:
- Introducción
- Uso de Language Detector API con Translator API
- Ventajas de Language Detector API
- Alternativas a Language Detector API
- Aviso de declinación de responsabilidades
- Disponibilidad del modelo
- Consulte un ejemplo de trabajo
- Uso de Language Detector API
- Compruebe si language detector API está habilitado
- Compruebe si se puede usar el modelo (availability())
- Crear una nueva sesión (create())
- Supervisión del progreso de la descarga del modelo (monitor)
- Ejecución de Language Detector API (detect())
- Descripción de las puntuaciones de confianza
- Destruir una sesión (destroy())
- Enviar comentarios
- Ver también
Introducción
Para obtener información introductoria sobre language detector API, consulte:
Uso de Language Detector API con Translator API
Para facilitar la traducción de texto proporcionado por el usuario a otro idioma, use language detector API junto con Translator API.
Para más información sobre Translator API, consulte Traducción de texto con Translator API.
Ventajas de Language Detector API
Language Detector API usa un modelo de detección de lenguaje que se ejecuta en el mismo dispositivo donde se usan las entradas y salidas del modelo (es decir, localmente). Este enfoque tiene las siguientes ventajas en comparación con las soluciones basadas en la nube:
Costo reducido: No hay ningún costo asociado con el uso de un servicio de detección de lenguaje en la nube.
Independencia de red: Más allá de la descarga del modelo inicial, no hay latencia de red al usar esta API para detectar idiomas y la API también se puede usar cuando el dispositivo está sin conexión.
Privacidad mejorada: La entrada de datos en el modelo nunca sale del dispositivo y no se recopila para entrenar otros modelos de inteligencia artificial.
El modelo de detección de idioma se descarga la primera vez que se usa la API en Microsoft Edge y, posteriormente, se comparte en todos los sitios web del explorador. Se accede al modelo a través de una API web sencilla que no requiere conocimientos de marcos de trabajo de terceros y no requiere conocimientos de inteligencia artificial (IA) ni aprendizaje automático (ML).
Alternativas a Language Detector API
Puede enviar solicitudes de red a servicios de detección de lenguaje basados en la nube con funcionalidades más sofisticadas; consulte Azure documentación del lenguaje de IA.
Como alternativa en el dispositivo, la API de aviso sirve para escenarios más personalizados, con un modelo de lenguaje pequeño integrado en Microsoft Edge; consulte Prompt a built-in language model with the Prompt API (Preguntar un modelo de lenguaje integrado con prompt API).
Aviso de declinación de responsabilidades
Al igual que otros modelos de aprendizaje automático, el modelo de detección de lenguaje de Microsoft Edge puede generar resultados inexactos o poco confiables para determinadas entradas, como texto corto o palabras únicas.
Disponibilidad del modelo
Se requiere una descarga inicial del modelo la primera vez que un sitio web llama a Language Detector API. Puede supervisar la descarga del modelo mediante la opción de supervisión al crear una nueva sesión de LA API de Language Detector; consulte Supervisión del progreso de la descarga del modelo (monitor) a continuación.
Consulte un ejemplo de trabajo
Para ver language detector API en acción y ver el código existente que usa esta API:
En Microsoft Edge 148 o posterior, vaya al área de juegos de Language Detector API en una nueva ventana o pestaña.
En el banner de información de la parte superior, compruebe el estado: inicialmente lee: API en el dispositivo y modelo disponibles.
En el cuadro de texto Texto para analizar , opcionalmente puede cambiar el texto.
Haga clic en el botón Detectar idioma .
El modelo comienza a detectar el idioma del texto.
La salida se genera en la sección de respuesta de la página.
La salida muestra:
- Nombre del idioma detectado.
- La certeza porcentual de qué idioma.
Vea también:
- /built-in-ai/ - Código fuente y Léame para la demostración de áreas de juegos de IA integrada.
Uso de Language Detector API
En las secciones siguientes se trata sobre el uso de Language Detector API.
Compruebe si language detector API está habilitado
Antes de usar language detector API en el código del sitio web, compruebe que la API está disponible en el explorador, comprobando la presencia del LanguageDetector objeto:
if (!LanguageDetector) {
// The Language Detector API is not available.
} else {
// The Language Detector API is available.
}
Compruebe si se puede usar el modelo (availability())
Language Detector API se puede usar si Microsoft Edge ha descargado el modelo y el entorno de ejecución del modelo.
Para comprobar si se puede usar la API, llame a LanguageDetector.availability():
const availability = await LanguageDetector.availability();
if (availability == "unavailable") {
// The model is not available.
}
if (availability == "downloadable" || availability == "downloading") {
// The model can be used, but it needs to be downloaded first.
}
if (availability == "available") {
// The model is available and can be used.
}
Creación de una nueva sesión (create())
La creación de una sesión indica al explorador que cargue el modelo de detección de idioma en la memoria para que se pueda usar el modelo. Para poder detectar el idioma, cree una nueva sesión mediante el LanguageDetector.create() método :
// Create a Language Detector session.
const session = await LanguageDetector.create();
Para personalizar la sesión del modelo, puede pasar opciones al create() método :
// Create a Language Detector session with options.
const session = await LanguageDetector.create({
expectedInputLanguages: ["en", "es", "fr"]
monitor: monitorProgress
});
Las opciones disponibles son:
| Opción | Descripción |
|---|---|
expectedInputLanguages |
Matriz de códigos de idioma. Si hay determinados idiomas que debe poder detectar para su caso de uso, incluya esos idiomas en la expectedInputLanguages opción . Esto permite a Microsoft Edge descargar recursos adicionales, si es necesario, para mejorar la precisión. Los códigos de idioma deben estar en formato BCP 47 (por ejemplo, "en" para inglés, "es" español o "fr" francés). |
monitor |
Función que se usa para supervisar el progreso de la descarga del modelo. Consulte Supervisión del progreso de la descarga del modelo (monitor) a continuación. |
Supervisar el progreso de la descarga del modelo (monitor)
Puede seguir el progreso de la descarga del modelo mediante la monitor opción . Esto resulta útil cuando el modelo aún no se ha descargado por completo en el dispositivo donde se usará, para informar a los usuarios de su sitio web de que deben esperar.
// Create a Language Detector session with the monitor option
// to monitor the model download.
const session = await LanguageDetector.create({
monitor: m => {
// Use the monitor object argument to add a listener for the
// downloadprogress event.
m.addEventListener("downloadprogress", event => {
// The event is an object with the loaded and total properties.
if (event.loaded == event.total) {
// The model is fully downloaded.
} else {
// The model is still downloading.
const percentageComplete = (event.loaded / event.total) * 100;
}
});
}
});
Ejecución de Language Detector API (detect())
Después de crear una sesión de modelo, puede detectar el idioma del texto. Language Detector API proporciona el detect() método para detectar idiomas:
// Create a Language Detector session.
const session = await LanguageDetector.create();
// Detect the language of the text.
const results = await session.detect(someUserText);
// Use the results.
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely.
console.log(result.detectedLanguage, result.confidence);
}
El detect() método devuelve una promesa que se resuelve en una matriz de resultados de detección de idioma. Cada resultado es un objeto con las siguientes propiedades:
| Propiedad | Descripción |
|---|---|
detectedLanguage |
Etiqueta de idioma BCP 47 del idioma detectado (por ejemplo, "en" para inglés, "es" español o "und" no determinado). |
confidence |
Número comprendido entre 0,0 y 1,0, que indica el nivel de confianza de la detección. Los valores más altos indican una mayor confianza. |
Los resultados se ordenan por confianza en orden descendente, con el idioma más probable primero. La última entrada de la matriz de resultados siempre es el lenguaje no determinado ("und"). El undetermined miembro de la matriz representa la confianza porcentual de que el texto no está en ninguno de los idiomas que conoce el modelo.
Descripción de las puntuaciones de confianza
Las puntuaciones de confianza devueltas por Language Detector API tienen las siguientes características:
Intervalo: Cada puntuación de confianza es un número entre 0 (confianza más baja) y 1 (mayor confianza), ambos incluidos.
Resultados ordenados: Los resultados se ordenan de mayor a menor confianza.
Filtrado de baja confianza: Los idiomas que tienen una confianza muy baja se filtran automáticamente para reducir el ruido. La confianza baja suele ser inferior al 1 %, o menos segura que la categoría "no determinada".
Suma de puntuaciones: La suma de todas las puntuaciones de confianza puede ser menor que 1, porque los lenguajes de baja probabilidad se omiten de los resultados.
Destruir una sesión (destroy())
Después de detectar idiomas, destruya la sesión. Esto permite que el explorador sepa que ya no necesita el modelo de lenguaje para que el modelo se pueda descargar de la memoria.
Puede destruir una sesión de dos maneras diferentes:
- Mediante el
destroy()método . - Mediante el uso de .
AbortController
A continuación se detallan los detalles.
Destruir una sesión llamando a destroy()
Para destruir una sesión llamando a destroy() con una LanguageDetector sesión:
const session = await LanguageDetector.create();
// Later, destroy the session by using the destroy method.
session.destroy();
Destrucción de una sesión mediante AbortController
Para destruir una sesión mediante la creación de un AbortController objeto, cree una LanguageDetector sesión y, a continuación, llame a abort():
// Create an AbortController object.
const controller = new AbortController();
// Create a Language Detector session and pass the
// AbortController object by using the signal option.
const session = await LanguageDetector.create({
signal: controller.signal
});
// Later, perhaps when the user interacts with the UI, destroy the session by
// calling the abort() function of the AbortController object.
controller.abort();
Enviar comentarios
Estamos interesados en aprender sobre:
- Intervalo de escenarios para los que se usa Language Detector API.
- Cualquier problema que encuentre con la API o el modelo de detección de lenguaje.
- Si otras API integradas específicas de la tarea serían útiles.
Para enviar comentarios sobre los escenarios y las tareas que desea lograr, agregue un comentario al problema de comentarios de Language Detector API.
Si observa algún problema al usar la API en su lugar, notifíquelo en el repositorio.
También puede contribuir a la discusión sobre el diseño de Language Detector API en el repositorio del grupo de trabajo de W3C Web Machine Learning.
Vea también
- Traducción de texto con Translator API
- Solicitud de un modelo de lenguaje integrado con prompt API
- Resumir, escribir y reescribir texto con las API de asistencia para escritura
- Corrección gramatical y ortográfica con proofreader API
GitHub:
Azure documentos:
Repositorio de demostraciones:
- Área de juegos de Language Detector API
- /built-in-ai/ - Código fuente y Léame para la demostración de áreas de juegos de IA integrada.