Guida all'incorporamento del testo

L'attività Incorporamento di testo MediaPipe consente di creare una rappresentazione numerica dei dati di testo per acquisirne il significato semantico. Questa funzionalità viene spesso utilizzata per confrontare la somiglianza semantica di due parti di testo utilizzando tecniche di confronto matematico come la somiglianza coseno. Questa attività opera su dati di testo con un modello di machine learning (ML) e restituisce una rappresentazione numerica dei dati di testo sotto forma di elenco di vettori di caratteristiche ad alta dimensione, noti anche come vettori di incorporamento, in forma a virgola mobile o quantiizzata.

Prova!

Inizia

Inizia a utilizzare questa attività seguendo una di queste guide all'implementazione per la tua piattaforma di destinazione. Queste guide specifiche per piattaforma illustrano un'implementazione di base di questa attività, inclusi un modello consigliato ed un esempio di codice con le opzioni di configurazione consigliate:

Dettagli attività

Questa sezione descrive le funzionalità, gli input, gli output e le opzioni di configurazione di questa attività.

Funzionalità

  • Elaborazione del testo di input: supporta la tokenizzazione fuori dal grafico per i modelli senza tokenizzazione nel grafico.
  • Calcolo della somiglianza di incorporamento - Funzione di utilità integrata per calcolare la somiglianza coseno tra due vettori di caratteristiche.
  • Quantizzazione: supporta la quantizzazione scalare per i vettori di caratteristiche.
Input attività Output attività
L'incorporamento di testo accetta il seguente tipo di dati di input:
  • Stringa
L'incorporamento di testo restituisce un elenco di incorporamenti costituiti da:
  • Incorporamento: il vettore di caratteristiche stesso, in forma in virgola mobile o quantizzato scalare.
  • Indice head: l'indice dell'intestazione che ha prodotto l'incorporamento.
  • (Facoltativo) Nome dell'intestazione: il nome dell'intestazione che ha prodotto l'incorporamento.

Opzioni di configurazione

Questa attività prevede le seguenti opzioni di configurazione:

Nome opzione Descrizione Intervallo di valori Valore predefinito
l2_normalize Indica se normalizzare il vettore di caratteristiche restituito con la norma L2. Utilizza questa opzione solo se il modello non contiene già un'operatività TFLite L2_NORMALIZATION nativa. Nella maggior parte dei casi, è già così e la normalizzazione L2 viene quindi ottenuta tramite l'inferenza TFLite senza necessità di questa opzione. Boolean False
quantize Indica se l'incorporamento restituito deve essere quantizzato in byte tramite la quantizzazione scalare. Gli incorporamenti si presume implicitamente come unità-norm, pertanto è garantito che ogni dimensione abbia un valore in [-1.0, 1.0]. In caso contrario, utilizza l'opzione l2_normalize. Boolean False

ottimizzabili

Offriamo un modello predefinito consigliato quando inizi a sviluppare con questa attività.

Questo modello utilizza un'architettura a doppio codificatore ed è stato addestrato su vari set di dati a risposta a domande.

Considera le seguenti coppie di frasi:

  • ("È un viaggio affascinante e spesso stimolante", "Che viaggio fantastico e fantastico")
  • ("Mi piace il mio telefono", "Odio il mio telefono")
  • ("Questo ristorante ha un grande espediente", "Dobbiamo verificare i dettagli del nostro piano")

Gli incorporamenti di testo nelle prime due coppie avranno una somiglianza coseno maggiore rispetto agli incorporamenti della terza coppia perché le prime due coppie di frasi condividono un argomento comune rispettivamente, "trip sentiment" e "phone opinioni", mentre la terza coppia di frasi non condivide un argomento comune.

Tieni presente che, sebbene le due frasi della seconda coppia abbiano sentimenti opposti, hanno un punteggio di somiglianza elevato perché condividono un argomento comune.

Nome modello Forma di input Tipo di quantizzazione Versions
Codificatore universale di frasi stringa, stringa, stringa Nessuna (float32) Più recente

Benchmark attività

Ecco i benchmark delle attività per l'intera pipeline basati sui modelli preaddestrati precedenti. Il risultato della latenza è la latenza media su Pixel 6 utilizzando CPU / GPU.

Nome modello Latenza CPU Latenza GPU
Codificatore di frasi universale 18,21 ms -