La tarea Clasificador de texto de MediaPipe te permite clasificar texto en un conjunto de categorías definidas, como opiniones positivas o negativas. Las categorías se definen durante el entrenamiento del modelo. Esta tarea opera en datos de texto con un modelo de aprendizaje automático (AA) como datos estáticos y genera una lista de categorías y sus puntuaciones de probabilidad.
Comenzar
Comienza a utilizar esta tarea con una de estas guías de implementación para la plataforma en la que estás trabajando:
- Android - Ejemplo de código - Guía
- Python - Ejemplo de código - Guía
- Web - Ejemplo de código - Guía
- iOS - Ejemplo de código - Guía
En estas guías específicas de la plataforma, se explica la implementación básica de esta tarea, incluidos un modelo recomendado y un ejemplo de código con opciones de configuración recomendadas.
Detalles de la tarea
En esta sección, se describen las capacidades, entradas, salidas y opciones de configuración de esta tarea.
Funciones
- Procesamiento de texto de entrada: Admite la asignación de token fuera del gráfico para modelos sin asignación de token en el gráfico.
- Varios encabezados de clasificación: Cada uno puede usar su propio conjunto de categorías.
- Configuración regional del mapa de etiquetas: Establece el idioma que se usa para los nombres visibles.
- Umbral de puntuación: Filtra los resultados en función de las puntuaciones de predicción.
- Resultados de la clasificación de k superior: filtra la cantidad de resultados de detección.
- Lista de entidades permitidas y listas de bloqueo: Especifica las categorías detectadas.
Entradas de tareas | Resultados de la tarea |
---|---|
El clasificador de texto acepta el siguiente tipo de datos de entrada:
|
El clasificador de texto genera una lista de categorías que contiene lo siguiente:
|
Opciones de configuración
Esta tarea incluye las siguientes opciones de configuración:
Nombre de la opción | Descripción | Rango de valores | Valor predeterminado |
---|---|---|---|
displayNamesLocale |
Configura el idioma de las etiquetas que se usarán para los nombres visibles proporcionados en los metadatos del modelo de la tarea, si están disponibles. El valor predeterminado es en para inglés. Puedes agregar etiquetas localizadas a los metadatos de un modelo personalizado
con la API de Metadata Writer de TensorFlow Lite
| Código de configuración regional | en |
maxResults |
Configura la cantidad máxima opcional de resultados de clasificación con puntuación más alta que se mostrarán. Si es inferior a 0, se devolverán todos los resultados disponibles. | Cualquier número positivo | -1 |
scoreThreshold |
Establece el umbral de puntuación de predicción que anula el proporcionado en los metadatos del modelo (si corresponde). Se rechazarán los resultados inferiores a este valor. | Cualquier número de punto flotante | No establecida |
categoryAllowlist |
Establece la lista opcional de nombres de categorías permitidas. Si no está vacío, se filtrarán los resultados de clasificación cuyo nombre de categoría no esté en este conjunto. Los nombres de categorías duplicados o desconocidos se ignoran.
Esta opción es mutuamente excluyente con categoryDenylist , y el uso de ambos da como resultado un error. |
Cualquier cadena | No establecida |
categoryDenylist |
Establece la lista opcional de nombres de categorías que no están permitidas. Si no está vacío, se filtrarán los resultados de clasificación cuyo nombre de categoría se encuentre en este conjunto. Los nombres de categorías duplicados o desconocidos se ignoran. Esta opción es mutuamente
exclusiva con categoryAllowlist , y el uso de ambas da como resultado un error. |
Cualquier cadena | No establecida |
ajustables
El clasificador de texto se puede usar con más de un modelo de AA. Comienza con el modelo predeterminado y recomendado para la plataforma de destino cuando comiences a desarrollar con esta tarea. Por lo general, los otros modelos disponibles ofrecen compensaciones entre el rendimiento, la precisión, la resolución y los requisitos de recursos y, en algunos casos, incluyen características adicionales.
Los modelos previamente entrenados se entrenan para el análisis de opiniones y predicen si la opinión del texto de entrada es positiva o negativa. Los modelos se entrenaron con el conjunto de datos SST-2 (Stanford Sentiment Treebank), que consta de opiniones sobre películas etiquetadas como positivas o negativas. Ten en cuenta que estos modelos solo son compatibles con el idioma inglés. Dado que se entrenaron con un conjunto de datos de opiniones sobre películas, es posible que veas una calidad reducida en el texto que abarca otras áreas temáticas.
Modelo clasificador de BERT (recomendado)
Este modelo usa una arquitectura basada en BERT (específicamente, el modelo MobileBERT) y se recomienda debido a su alta precisión. Contiene metadatos que permiten que la tarea realice una asignación de token de BERT fuera del gráfico.
Nombre del modelo | Forma de entrada | Tipo de cuantización | Versiones |
---|---|---|---|
Clasificador BERT | [1x128],[1x128],[1x128] | rango dinámico | Más reciente |
Modelo de incorporación de palabras promedio
Este modelo utiliza una arquitectura de incorporación de palabras promedio. Este modelo ofrece un tamaño de modelo más pequeño y una latencia menor a costa de una precisión de predicción menor en comparación con el clasificador BERT. Personalizar este modelo mediante entrenamiento adicional también es más rápido que realizar el entrenamiento del clasificador basado en BERT. Este modelo contiene metadatos que permiten que la tarea realice la asignación de token de regex fuera del gráfico.
Nombre del modelo | Forma de entrada | Tipo de cuantización | Versiones |
---|---|---|---|
Incorporación de palabras promedio | 1 × 256 | Ninguna (float32) | Más reciente |
Comparativas de tareas
Estas son las comparativas de tareas para toda la canalización basadas en los modelos previamente entrenados anteriores. El resultado de latencia es la latencia promedio en el Pixel 6 usando CPU / GPU.
Nombre del modelo | Latencia de la CPU | Latencia de GPU |
---|---|---|
Incorporación de palabras promedio | 0.14ms | - |
Clasificador BERT | 57.68ms | - |
Modelos personalizados
Puedes usar un modelo de AA personalizado con esta tarea si quieres mejorar o alterar las capacidades de los modelos proporcionados. Puedes usar Model Maker para modificar los modelos existentes o compilar un modelo con herramientas como TensorFlow. Los modelos personalizados que se usan con MediaPipe deben estar en formato de TensorFlow Lite y deben incluir metadatos específicos que describan los parámetros operativos del modelo. Considera usar Model Maker para modificar los modelos proporcionados para esta tarea antes de compilar los tuyos.