NormalizeEmbedding
Normalisiert einen Einbettungsvektor. Wenn angegeben, reduziert der Dimensionsparameter die Anzahl der zu verwendenden Vektordimensionen vor der Normalisierung.
Format
NormalizeEmbedding ( Daten { ; Dimension } )
Parameter
Daten
– beliebiger Textausdruck, Textfeld oder Containerfeld, das einen Einbettungsvektor enthält.
Dimension
– die Anzahl der Vektordimensionen, die für die Normalisierung verwendet werden sollen. Wenn dieser Parameter weggelassen wird oder der Wert größer als die tatsächliche Dimension des Vektors oder kleiner oder gleich 0 ist, wird die gesamte Vektordimension in der Formel verwendet.
Parameter in geschweiften Klammern { } sind optional.
Zurückgegebener Datentyp
Text, Container
Ursprung in Version
22.0
Beschreibung
Diese Funktion gibt eine normalisierte Version des eingegebenen Einbettungsvektors zurück. Die Normalisierung eines Vektors bedeutet, dass dessen Werte so skaliert werden, dass seine Länge (Betrag) 1 wird. Dies ist oft ein erforderlicher Schritt vor der Durchführung von Formeln wie der Cosinus-Ähnlichkeit, da dadurch sichergestellt wird, dass das Ähnlichkeitsmaß nur auf der Richtung der Vektoren basiert und nicht auf ihrer Größe.
Wenn der Parameter Daten
Text ist, muss er in Form eines JSON-Arrays mit Gleitkommazahlen vorliegen, z. B. [-0.1, 0.5, ...]
. Normalerweise verbessert die Verwendung von Einbettungsvektoren als binäre Containerdaten jedoch die Leistung.
Mit dem Parameter Dimension
können Sie den Vektor nur auf der Grundlage einer angegebenen Anzahl seiner ursprünglichen Dimensionen normalisieren. Wenn Dimension
angegeben ist, berechnet die Funktion die Größe nur anhand der ersten Dimension-Elemente und skaliert dann den gesamten Originalvektor auf der Grundlage dieser Größe. Der zurückgegebene Vektor hat dieselbe Anzahl von Dimensionen wie der Eingabevektor, es sei denn, der Parameter Dimension
wird verwendet, um den Vektor vor der Normalisierung zu kürzen.
Hinweise
-
Die meisten Einbettungsmodelle generieren Einbettungsvektoren, die bereits normalisiert sind (Einheitslänge). In solchen Fällen ist es nicht notwendig,
NormalizeEmbedding
für diese Vektoren aufzurufen, da dies lediglich den ursprünglichen Vektor zurückgibt. In der Regel müssen Sie diese Funktion nur verwenden, wenn Sie mit Einbettungsvektoren arbeiten, die von einem Modell generiert wurden, das keine normalisierten Vektoren ausgibt, oder wenn Sie speziell auf der Grundlage einer Untermenge der Dimensionen des Vektors normalisieren müssen. -
Die Verwendung des optionalen Parameters
Dimension
kann nützlich sein, wenn Sie mit einer kleineren, festen Darstellung eines größeren Vektors arbeiten möchten, dabei aber die Vergleichbarkeit auf der Grundlage der ursprünglichen Dimensionen beibehalten möchten.
Beispiel 1
NormalizeEmbedding ( "[3, 4]" )
gibt [0.5999999999999999778, 0.80000000000000004441] zurück, was zur Veranschaulichung ungefähr [0.6, 0.8]
entspricht. Der ursprüngliche Vektor [3, 4]
hat eine Länge von Wurzel(3^2 + 4^2) = 5. Der normalisierte Vektor [0.6, 0.8]
hat eine Länge von Wurzel(0.6^2 + 0.8^2) = 1.
Beispiel 2
NormalizeEmbedding ( Tabelle::Einbettungsdaten; 256 )
gibt einen neuen Vektor zurück, der nur die ersten 256 Dimensionen des ursprünglichen Vektors enthält – normalisiert, sodass seine Länge 1 ist. Der Einbettungsvektor wird in einem Containerfeld namens Tabelle::Einbettungsdaten gespeichert. Dies ist nützlich, wenn Ihr Einbettungsmodell große Vektoren erzeugt, Sie jedoch nur eine kleinere, feste Anzahl von Dimensionen für Ihre Formeln zur Berechnung der Cosinus-Ähnlichkeit verwenden möchten und diese Dimensionen normalisiert werden müssen.