Guia de incorporação de texto

Com a tarefa MediaPipe Text Embedder, é possível criar uma representação numérica dos dados de texto para capturar o significado semântico deles. Essa funcionalidade é usada com frequência para comparar a semelhança semântica de dois textos usando técnicas matemáticas de comparação, como a similaridade de cossenos. Essa tarefa opera em dados de texto com um modelo de machine learning (ML) e gera uma representação numérica dos dados de texto como uma lista de vetores de atributo de alta dimensão, também conhecidos como vetores de embedding, em formato de ponto flutuante ou quantizado.

Faça um teste.

Comece já

Comece a usar essa tarefa seguindo um destes guias de implementação para sua plataforma de destino. Estes guias específicos da plataforma orientam você em uma implementação básica dessa tarefa, incluindo um modelo recomendado e um exemplo de código com as opções de configuração recomendadas:

Detalhes da tarefa

Nesta seção, descrevemos os recursos, as entradas, as saídas e as opções de configuração desta tarefa.

Recursos

  • Processamento de texto de entrada: oferece suporte à tokenização fora do gráfico para modelos sem tokenização no gráfico.
  • Como incorporar a computação de similaridade: função utilitária integrada para calcular a semelhança de cossenos entre dois vetores de atributos.
  • Quantização: oferece suporte à quantização escalar para os vetores de atributos.
Entradas de tarefas Saídas de tarefas
O incorporador de texto aceita os seguintes tipos de dados de entrada:
  • String
O incorporador de texto gera uma lista de embeddings que consiste em:
  • Embedding: o próprio vetor de atributo, em forma de ponto flutuante ou quantizado escalar.
  • Índice de cabeçalho: o índice do cabeçalho que produziu esse embedding.
  • Nome do cabeçalho (opcional): o nome do cabeçalho que produziu essa incorporação.

Opções de configuração

Essa tarefa tem as seguintes opções de configuração:

Nome da opção Descrição Intervalo de valor Valor padrão
l2_normalize Define se o vetor de atributo retornado será normalizado com a norma L2. Use essa opção somente se o modelo ainda não tiver uma operação nativa do TFLite L2_NORMALIZATION. Na maioria dos casos, esse já é o caso, e a normalização L2 é, portanto, feita por meio da inferência TFLite sem precisar dessa opção. Boolean False
quantize Define se o embedding retornado precisa ser quantizado em bytes por meio da quantização escalar. Os embeddings são implicitamente considerados padrão de unidade e, portanto, qualquer dimensão tem um valor em [-1.0, 1.0]. Use a opção l2_normalize se esse não for o caso. Boolean False

Modelos

Oferecemos um modelo padrão recomendado quando você começa a desenvolver com essa tarefa.

Esse modelo usa uma arquitetura de codificador duplo e foi treinado com vários conjuntos de dados de perguntas e respostas.

Considere os seguintes pares de frases:

  • ("é uma viagem charmosa e muitas vezes impactante", "que viagem ótima e fantástica")
  • ("Eu gosto do meu smartphone", "Odeio meu smartphone")
  • ("Este restaurante tem um ótimo truque", "Precisamos verificar novamente os detalhes do nosso plano")

Os embeddings de texto nos dois primeiros pares têm maior semelhança de cosseno do que os do terceiro porque os dois primeiros pares de frases compartilham um tópico comum de "sentimento de viagem" e "opinião telefônica", respectivamente, enquanto o terceiro par de frases não compartilha um tópico comum.

Observe que, embora as duas frases no segundo par tenham sentimentos opostos, elas têm uma alta pontuação de similaridade porque compartilham um tópico comum.

Nome do modelo Forma de entrada Tipo de quantização Versions
Universal Sentence Encoder (em inglês) string, string, string Nenhum (float32) Mais recente

Comparativos de mercado de tarefas

Aqui estão os comparativos de mercado de tarefas para todo o pipeline com base nos modelos pré-treinados acima. O resultado da latência é a latência média no Pixel 6 usando CPU / GPU.

Nome do modelo Latência da CPU Latência da GPU
Codificador de frases universais 18,21 ms -