NormalizeEmbedding
Normaliza un vector de incrustación. Si se especifica, el parámetro dimensión reduce el número de dimensiones vectoriales a utilizar antes de la normalización.
Formato
NormalizeEmbedding ( data { ; dimension } )
Parámetros
data
: cualquier expresión de texto, campo de texto o campo contenedor que contenga un vector de incrustación.
dimension
: el número de dimensiones vectoriales que se utilizan para la normalización. Si se omite, o si el valor es mayor que el tamaño de dimensión real del vector o menor o igual a 0, se utiliza todo el tamaño de la dimensión del vector en el cálculo.
Los parámetros entre llaves { } son opcionales.
Tipo de datos devuelto
texto, contenedor
Se origina en
22.0
Descripción
Esta función devuelve una versión normalizada del vector de incrustación de entrada. Normalizar un vector significa ampliar sus valores para que su longitud (magnitud) sea 1. Este es a menudo un paso requerido antes de realizar cálculos como la similitud del coseno, porque garantiza que la medida de similitud se base solo en la dirección de los vectores, y no en su magnitud.
Si el parámetro data
es texto, debe tener formato de matriz JSON con números de punto flotante, por ejemplo, [-0.1, 0.5, ...]
. Sin embargo, por lo general, el uso de vectores de incrustación como datos contenedores binarios mejora el rendimiento.
El parámetro dimension
le permite normalizar el vector basándose solo en un número especificado de sus dimensiones iniciales. Si se especifica el parámetro dimension
, la función calcula la magnitud usando solo los primeros elementos de "dimension" y luego amplía el vector original entero basándose en esa magnitud. El vector devuelto tiene el mismo número de dimensiones que el vector de entrada, a menos que se utilice el parámetro dimension
para truncar el vector antes de la normalización.
Notas
-
La mayoría de los modelos de incrustación generan vectores de incrustación que ya están normalizados (longitud unitaria). En tales casos, no es necesario llamar a
NormalizeEmbedding
para estos vectores, ya que simplemente devuelve el vector original. Por lo general, solo necesita usar esta función si está trabajando con vectores incrustados generados por un modelo que no emite vectores normalizados, o si necesita ejecutar una normalización específica en función de un subconjunto de las dimensiones del vector. -
El uso del parámetro opcional
dimension
puede ser útil si desea trabajar con una representación más pequeña y de tamaño fijo de un vector más grande mientras mantiene la comparabilidad basada en las dimensiones iniciales.
Ejemplo 1
NormalizeEmbedding ( "[3, 4]" )
devuelve [0.5999999999999999778, 0.80000000000000004441], que a efectos de ilustración, es aproximadamente [0.6, 0.8]
. El vector original [3, 4]
tiene una longitud de Sqrt(3^2 + 4^2) = 5. El vector normalizado [0.6, 0.8]
tiene una longitud de Sqrt(0.6^2 + 0.8^2) = 1.
Ejemplo 2
NormalizeEmbedding ( Table::EmbeddingData; 256 )
devuelve un nuevo vector que contiene solo las primeras 256 dimensiones del vector original y se ha normalizado para que su longitud sea 1. El vector de incrustación se almacena en un campo contenedor llamado Table::EmbbeddingData. Esto es útil si su modelo de incrustación produce vectores grandes, pero desea usar solo un número más pequeño y fijo de dimensiones en sus cálculos de similitud de coseno y necesita que esas dimensiones se normalicen.