La tarea MediaPipe Text Embedder te permite crear una representación numérica de los datos de texto para capturar su significado semántico. Esta funcionalidad se usa con frecuencia para comparar la similitud semántica de dos textos con técnicas de comparación matemática, como la similitud coseno. Esta tarea opera en datos de texto con un modelo de aprendizaje automático (AA) y genera una representación numérica de los datos de texto como una lista de vectores de atributos de alta dimensión, también conocidos como vectores de incorporación, en forma de punto flotante o cuantificada.
Comenzar
Comienza a utilizar esta tarea siguiendo una de estas guías de implementación para la plataforma de destino. 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 las opciones de configuración recomendadas:
- Android - Ejemplo de código - Guía
- Python - Ejemplo de código - Guía
- Web - Ejemplo de código - Guía
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.
- Cálculo de similitud de incorporación: es una función de utilidad integrada para calcular la similitud coseno entre dos vectores de atributos.
- Cuantización: Admite la cuantización escalar para los vectores de atributos.
Entradas de tareas | Resultados de la tarea |
---|---|
Text Embedder acepta el siguiente tipo de datos de entrada:
|
Text Embedder genera una lista de incorporaciones que consta de 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 |
---|---|---|---|
l2_normalize |
Indica si se debe normalizar el vector de atributos mostrados con la norma L2. Usa esta opción solo si el modelo todavía no contiene una operación nativa de TFLite L2_NORMALIZATION. En la mayoría de los casos, este ya es el caso y, por lo tanto, la normalización L2 se logra a través de inferencia de TFLite sin necesidad de esta opción. | Boolean |
False |
quantize |
Indica si la incorporación que se muestra debe cuantizarse en bytes a través de la cuantización escalar. Se supone implícitamente que las incorporaciones son la norma unitaria y, por lo tanto, se garantiza que cualquier dimensión tenga un valor en [-1.0, 1.0]. Si este no es el caso, usa la opción l2_normalize. | Boolean |
False |
ajustables
Ofrecemos un modelo predeterminado y recomendado cuando comiences a desarrollar con esta tarea.
Modelo de codificador universal de oraciones (recomendado)
Este modelo usa una arquitectura de codificador doble y se entrenó con varios conjuntos de datos de preguntas y respuestas.
Considera los siguientes pares de oraciones:
- ("es un viaje encantador que, a menudo, afecta de forma negativa", "que es un viaje increíble y fantástico")
- ("Me gusta mi teléfono", "Odio mi teléfono")
- ("Este restaurante tiene un gran truco", "Necesitamos verificar los detalles de nuestro plan")
Las incorporaciones de texto de los dos primeros pares tendrán una similitud coseno mayor que las del tercer par, ya que los dos primeros pares de oraciones comparten un tema común, como "opinión de viaje" y "opinión telefónica", respectivamente, mientras que el tercer par de oraciones no comparten un tema en común.
Ten en cuenta que, aunque las dos oraciones del segundo par tienen opiniones opuestas, tienen una puntuación de similitud alta porque comparten un tema en común.
Nombre del modelo | Forma de entrada | Tipo de cuantización | Versiones |
---|---|---|---|
Codificador universal de oraciones | cadena, cadena, cadena | 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 |
---|---|---|
Codificador universal de oraciones | 18.21ms | - |