NormalizeEmbedding

Normalizza un vettore di embedding. Se specificato, il parametro della dimensione riduce il numero di dimensioni del vettore da utilizzare prima della normalizzazione.

Formato 

NormalizeEmbedding ( dati { ; dimensione } )

Parametri 

dati - qualsiasi espressione di testo, campo Testo o campo Contenitore che contenga un vettore di embedding.

dimensione - il numero di dimensioni del vettore da utilizzare per la normalizzazione. Se omesso, o se il valore è maggiore della dimensione effettiva del vettore o inferiore o uguale a 0, nel calcolo viene utilizzata la dimensione dell'intero vettore.

I parametri racchiusi tra parentesi graffe { } sono opzionali.

Tipo di dati riportato 

Testo, Contenitore

Creata nella versione 

22.0

Descrizione 

Questa funzione restituisce una versione normalizzata del vettore di embedding di input. Normalizzare un vettore significa ridimensionare i suoi valori in modo che la sua lunghezza (grandezza) diventi 1. Spesso questo passaggio è necessario prima di eseguire calcoli come la similarità del coseno, perché assicura che la misura della similarità si basi solo sulla direzione dei vettori, non sulla loro grandezza.

Se il parametro dati è costituito da testo, deve essere sotto forma di un array JSON contenente numeri a virgola mobile, ad esempio [-0.1, 0.5, ...] In genere, tuttavia, l'uso di vettori di embedding come dati contenitore binari migliora le prestazioni.

Il parametro dimensione consente di normalizzare il vettore basandosi solo su un numero specificato delle sue dimensioni iniziali. Se il parametro dimensione viene specificato, la funzione calcola la grandezza usando solo i primi elementi di "dimensione" e quindi ridimensiona l'intero vettore originale in base a quella grandezza. Il vettore restituito ha lo stesso numero di dimensioni del vettore di input, a meno che il parametro dimensione non venga utilizzato per troncare il vettore prima della normalizzazione.

Note 

  • La maggior parte dei modelli di embedding genera vettori di embedding già normalizzati (lunghezza dell'unità). In tali casi, richiamare NormalizeEmbedding per questi vettori non è necessario e restituisce semplicemente il vettore originale. In genere è necessario utilizzare questa funzione solo se si sta lavorando con vettori di embedding generati da un modello che non genera vettori normalizzati, o se è specificamente necessario eseguire la normalizzazione in base a un sottogruppo di dimensioni del vettore.

  • L'utilizzo del parametro opzionale dimensione può essere utile se si desidera lavorare con una rappresentazione più piccola e di dimensioni fisse di un vettore più grande, mantenendo la comparabilità in base alle dimensioni iniziali.

Esempio 1 

NormalizeEmbedding ( "[3, 4]" ) restituisce [0.5999999999999999778, 0.80000000000000004441], che, a scopo esemplificativo, è approssimativamente [0.6, 0.8]. Il vettore originale [3, 4] ha una lunghezza di Radq(3^2 + 4^2) = 5. Il vettore normalizzato [0.6, 0.8] ha una lunghezza di Radq(0.6^2 + 0.8^2) = 1.

Esempio 2 

NormalizeEmbedding ( Tabella::DatiEmbedding; 256 ) restituisce un nuovo vettore contenente solo le prime 256 dimensioni del vettore originale, normalizzato in modo che la sua lunghezza sia 1. Il vettore di embedding è memorizzato in un campo Contenitore denominato Tabella::DatiEmbedding. Questo è utile se il modello di embedding produce vettori di grandi dimensioni, ma si desidera utilizzare solo un numero più piccolo e fisso di dimensioni per i calcoli di similarità del coseno e occorre che tali dimensioni siano normalizzate.