CosineSimilarity
Retorna a similaridade entre dois vetores de incorporação como um número entre -1 (oposto) e 1 (similar).
Formato
CosineSimilarity ( v1 ; v2 )
Parâmetros
v1
e v2
- qualquer expressão de texto, campo de texto ou campo de container que contenha vetores de incorporação.
Tipo de dados retornado
número
Originada na versão
21.0
Descrição
Esta função retorna uma medida da similaridade entre dois vetores de incorporação usando o método do cosseno. Para vetores de incorporação, a similaridade por cosseno fornece uma medida útil do quão semelhantes são dois valores de texto. Os resultados variam de -1 a 1 (inclusive), sendo que valores mais próximos de 1 indicam maior similaridade semântica, 0 indica nenhuma similaridade e -1 indica dissimilaridade.
Se v1 e v2 são texto, eles devem estar na forma de matrizes JSON. Os vetores também devem ter as mesmas dimensões (o número de elementos nas matrizes deve ser o mesmo). Normalmente, o uso de vetores de incorporação como dados de container binário melhora o desempenho.
Notas
-
Vetores de incorporação normalizados são necessários. Todos os vetores de incorporação devem ser gerados a partir do mesmo modelo para garantir compatibilidade e desempenho; a combinação de vetores de incorporação de modelos diferentes não é suportada.
Exemplo 1
CosineSimilarity ( "[-0.043686170000000003333, 0.042094484000000001456, ... ]" ; "[-0.049242082999999998993, 0.040926795000000001923, ... ]" )
retorna .90848158767415143622 para um determinado modelo.
Exemplo 2
CosineSsimilarity ( v1 ; v2 )
retorna .54682693950088512302 para um modelo específico quando os campos v1 e v2 contêm vetores de incorporação para o texto "Claris" e "Claire", respectivamente.