La tarea de incorporación de texto de MediaPipe 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 características de alta dimensión, también conocidos como vectores de incorporación, en formato de punto flotante o cuantificado.
Comenzar
Para comenzar a usar esta tarea, sigue una de estas guías de implementación para tu plataforma de destino. En estas guías específicas de la plataforma, se explica una implementación básica de esta tarea, incluido 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, las entradas, las salidas y las opciones de configuración de esta tarea.
Funciones
- Procesamiento de texto de entrada: Admite la tokenización fuera del grafo para modelos sin tokenización dentro del grafo.
- Cálculo de similitud de incorporación: Es una función de utilidad integrada para calcular la similitud de coseno entre dos vectores de características.
- Cuantización: Admite la cuantificación escalar para los vectores de características.
Entradas de tareas | Resultados de las tareas |
---|---|
El incorporador de texto 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 tiene 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 características que se muestra con la norma L2. Usa esta opción solo si el modelo aún no contiene una operación nativa de TFLite L2_NORMALIZATION. En la mayoría de los casos, ya es así, y la normalización de L2 se logra a través de la inferencia de TFLite sin necesidad de esta opción. | Boolean |
False |
quantize |
Indica si la incorporación que se muestra debe cuantificarse en bytes a través de la cuantificación escalar. Se supone implícitamente que las incorporaciones tienen una norma de unidad y, por lo tanto, se garantiza que cualquier dimensión tenga un valor en [-1.0, 1.0]. Usa la opción l2_normalize si no es así. | Boolean |
False |
Modelos
Ofrecemos un modelo predeterminado y recomendado cuando comienzas a desarrollar con esta tarea.
Modelo de Codificador universal de oraciones (recomendado)
Este modelo usa una arquitectura de codificador dual y se entrenó en varios conjuntos de datos de preguntas y respuestas.
Considera los siguientes pares de oraciones:
- ("es un viaje encantador y, a menudo, conmovedor", "qué viaje tan fantástico y genial")
- ("I like my phone", "I hate my phone")
- ("Este restaurante tiene un gran truco", "Necesitamos volver a revisar los detalles de nuestro plan")
Las incorporaciones de texto en los primeros dos pares tendrán una similitud de coseno más alta que las incorporaciones en el tercer par porque los primeros dos pares de oraciones comparten un tema común de “sentimiento de viaje” y “opinión sobre teléfonos”, respectivamente, mientras que el tercer par de oraciones no comparte un tema común.
Ten en cuenta que, aunque las dos oraciones del segundo par tienen sentimientos opuestos, 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 de oraciones universal | cadena, cadena, cadena | Ninguno (float32) | Más reciente |
Comparativas de tareas
Estas son las comparativas de tareas de toda la canalización según los modelos previamente entrenados anteriores. El resultado de la latencia es la latencia promedio en el Pixel 6 con CPU o GPU.
Nombre del modelo | Latencia de la CPU | Latencia de la GPU |
---|---|---|
Codificador universal de oraciones | 18.21 ms | - |