Guía de tareas de clasificación de texto

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.

Probar

Comenzar

Comienza a utilizar esta tarea con una de estas guías de implementación para la plataforma en la que estás trabajando:

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:
  • String
El clasificador de texto genera una lista de categorías que contiene lo siguiente:
  • Índice de categoría: el índice de la categoría en los resultados del modelo
  • Puntuación: Es la puntuación de confianza de esta categoría, expresada como una probabilidad entre cero y uno como valor de punto flotante.
  • Nombre de la categoría (opcional): Es el nombre de la categoría según se especifica en los metadatos del modelo de TensorFlow Lite, si está disponible.
  • Nombre visible de la categoría (opcional): Es un nombre visible de la categoría tal como se especifica en los metadatos del modelo de TensorFlow Lite, en el idioma especificado a través de las opciones de configuración regional de los nombres visibles, si están disponibles.

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.

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.