- Categorias:
VECTOR_COSINE_SIMILARITY¶
Calcula a similaridade do cosseno entre dois vetores.
A similaridade do cosseno é baseada no ângulo entre dois vetores em um espaço multidimensional; a magnitude dos vetores não é considerada. O valor de similaridade do cosseno é o produto interno dos vetores dividido pelo produto de seus comprimentos. A similaridade do cosseno está sempre no intervalo [-1, 1]
. Por exemplo, vetores idênticos têm uma similaridade de cosseno de 1
, dois vetores ortogonais têm uma similaridade de 0
, e dois vetores opostos têm uma similaridade de -1
.
- Consulte também:
VECTOR_INNER_PRODUCT , VECTOR_L2_DISTANCE , Incorporações de vetor
Sintaxe¶
VECTOR_COSINE_SIMILARITY( <vector>, <vector> )
Argumentos¶
vector
O valor VECTOR para calcular o ângulo.
vector
O valor VECTOR para calcular o ângulo.
Retornos¶
Retorna um valor FLOAT, no intervalo [-1, 1]
que indica a similaridade do cosseno entre os dois vetores de entrada.
Notas de uso¶
Devido a otimizações computacionais nas funções de comparação de vetores, os erros de ponto flutuante podem ser um pouco maiores do que o normal (por exemplo, cerca de 1e-4).
Exemplos¶
Este exemplo chama a chama VECTOR_COSINE_SIMILARITY para encontrar o vetor mais próximo de [1,2,3]
.
SELECT a, VECTOR_COSINE_SIMILARITY(a, [1,2,3]::VECTOR(FLOAT, 3)) AS similarity
FROM vectors
ORDER BY similarity DESC
LIMIT 1;
+-------------------------+
| [1, 2.2, 3] | 0.9990... |
+-------------------------+