Tipos de métricas
As métricas de semelhança são utilizadas para medir as semelhanças entre vectores. A escolha de uma métrica de distância apropriada ajuda a melhorar significativamente o desempenho da classificação e do agrupamento.
Atualmente, o Milvus suporta estes tipos de métricas de semelhança: Distância euclidiana (L2
), Inner Product (IP
), Cosine Similarity (COSINE
), JACCARD
, HAMMING
, e BM25
(especificamente concebido para pesquisa de texto completo em vectores esparsos).
A tabela abaixo resume o mapeamento entre os diferentes tipos de campos e os tipos de métricas correspondentes.
Tipo de campo | Intervalo de dimensão | Tipos de métricas suportados | Tipo de métrica predefinido |
---|---|---|---|
| 2-32,768 |
|
|
| 2-32,768 |
|
|
| 2-32,768 |
|
|
| Não é necessário especificar a dimensão. |
|
|
| 8-32,768*8 |
|
|
Para campos vectoriais do tipo
SPARSE_FLOAT_VECTOR
, utilize o tipo métricoBM25
apenas quando efetuar a pesquisa de texto integral. Para obter mais informações, consulte Pesquisa de texto integral.Para campos vectoriais do tipo
BINARY_VECTOR
, o valor da dimensão (dim
) tem de ser um múltiplo de 8.
A tabela abaixo resume as caraterísticas dos valores de distância de similaridade de todos os tipos de métrica suportados e o seu intervalo de valores.
Tipo de métrica | Caraterísticas dos valores de distância de similaridade | Intervalo de valores da distância de similaridade |
---|---|---|
| Um valor menor indica uma maior similaridade. | [0, ∞) |
| Um valor maior indica uma maior semelhança. | [-1, 1] |
| Um valor maior indica uma maior semelhança. | [-1, 1] |
| Um valor menor indica uma maior semelhança. | [0, 1] |
| Um valor mais pequeno indica uma maior semelhança. | [0, dim(vetor)] |
| Pontua a relevância com base na frequência do termo, na frequência invertida do documento e na normalização do documento. | [0, ∞) |
Distância euclidiana (L2)
Essencialmente, a distância euclidiana mede o comprimento de um segmento que liga 2 pontos.
A fórmula da distância euclidiana é a seguinte.
Fórmula da distância euclidiana
em que a = (a0, a1,...,an-1) e b = (b0, b1,..., bn-1) são dois pontos num espaço euclidiano n-dimensional.
É a métrica de distância mais comummente utilizada e é muito útil quando os dados são contínuos.
O Milvus só calcula o valor antes de aplicar a raiz quadrada quando a distância euclidiana é escolhida como métrica de distância.
Produto interno (IP)
A distância IP entre dois embeddings é definida da seguinte forma.
Fórmula do produto interno
O PI é mais útil se precisar de comparar dados não normalizados ou quando se preocupa com a magnitude e o ângulo.
Se utilizar o PI para calcular as semelhanças entre as incrustações, deve normalizar as suas incrustações. Após a normalização, o produto interno é igual à similaridade de cosseno.
Suponha que X' seja normalizado a partir da incorporação X.
Fórmula do produto interno normalizado
A correlação entre os dois embeddings é a seguinte.
Correlação entre os embeddings
Semelhança de cosseno
A semelhança do cosseno utiliza o cosseno do ângulo entre dois conjuntos de vectores para medir a sua semelhança. Pode pensar nos dois conjuntos de vectores como segmentos de linha que partem do mesmo ponto, como [0,0,...], mas que apontam em direcções diferentes.
Para calcular a semelhança de cosseno entre dois conjuntos de vectores A = (a0, a1,...,an-1) e B = (b0, b1,..., bn-1), utilize a seguinte fórmula.
Fórmula de semelhança do cosseno
A semelhança do cosseno está sempre no intervalo [-1, 1]. Por exemplo, dois vectores proporcionais têm uma semelhança de cosseno de 1, dois vectores ortogonais têm uma semelhança de 0 e dois vectores opostos têm uma semelhança de -1. Quanto maior for o cosseno, menor é o ângulo entre os dois vectores, indicando que estes dois vectores são mais semelhantes entre si.
Ao subtrair a semelhança de cosseno de 1, obtém-se a distância de cosseno entre dois vectores.
Distância JACCARD
O coeficiente de semelhança JACCARD mede a semelhança entre dois conjuntos de amostras e é definido como a cardinalidade da intersecção dos conjuntos definidos dividida pela cardinalidade da união dos mesmos. Só pode ser aplicado a conjuntos de amostras finitos.
Fórmula do coeficiente de semelhança JACCARD
A distância JACCARD mede a dissemelhança entre conjuntos de dados e é obtida subtraindo o coeficiente de semelhança JACCARD de 1. Para variáveis binárias, a distância JACCARD é equivalente ao coeficiente de Tanimoto.
Fórmula da distância JACCARD
Distância HAMMING
A distância HAMMING mede cadeias de dados binárias. A distância entre duas cadeias de dados de igual comprimento é o número de posições de bits em que os bits são diferentes.
Por exemplo, suponha que existem duas cadeias de caracteres, 1101 1001 e 1001 1101.
11011001 ⊕ 10011101 = 01000100. Uma vez que isto contém dois 1s, a distância HAMMING, d (11011001, 10011101) = 2.
Similaridade BM25
O BM25 é um método de medição da relevância do texto amplamente utilizado, especificamente concebido para a pesquisa de textos completos. Combina os três factores-chave seguintes.
Frequência de termos (TF): Mede a frequência com que um termo aparece num documento. Embora frequências mais elevadas indiquem frequentemente uma maior importância, o BM25 utiliza o parâmetro de saturação k1 para evitar que termos demasiado frequentes dominem a pontuação de relevância.
Frequência inversa do documento (IDF): Reflecte a importância de um termo em todo o corpus. Os termos que aparecem em menos documentos recebem um valor IDF mais alto, indicando uma maior contribuição para a relevância.
Normalização do comprimento do documento: Documentos mais longos tendem a ter uma pontuação mais alta por conterem mais termos. O BM25 atenua esse viés normalizando o comprimento dos documentos, com o parâmetro b controlando a força dessa normalização.
A pontuação do BM25 é calculada da seguinte forma.
Fórmula de similaridade BM25
Descrição dos parâmetros.
Q
: O texto da consulta fornecido pelo utilizador.D
: O documento que está a ser avaliado.TF(qi,D)
: Frequência do termo, que representa a frequência com que o termoqi
aparece no documentoD
.IDF(qi)
: Frequência inversa do documento, calculada como.Fórmula IDF
onde
N
é o número total de documentos no corpus, en(qi)
é o número de documentos que contêm o termo qi.∣D∣
: Comprimento do documentoD
(número total de termos).avgdl
: Comprimento médio de todos os documentos do corpus.k1
: Controla a influência da frequência do termo na pontuação. Valores mais altos aumentam a importância da frequência dos termos. O intervalo típico é [1.2, 2.0], enquanto o Milvus permite um intervalo de [0, 3].b
: Controla o grau de normalização do comprimento, variando de 0 a 1. Quando o valor é 0, nenhuma normalização é aplicada; quando o valor é 1, a normalização completa é aplicada.