Distância de Coseno e Significado

Meta: explicar por que a distância entre dois vetores de embedding mede o significado — e por que o cosseno, e não a distância euclidiana, é o padrão. Escreva no fim: se passar de 40 palavras explicando por que cosseno, ainda está abstrato demais.

Resumo em 3 frases

  1. Embeddings põem o significado na direção do vetor, não no seu tamanho — por isso comparar vetores é comparar significado.
  2. A distância de cosseno mede o ângulo entre dois vetores e ignora a magnitude, o que a torna invariante ao tamanho do documento.
  3. O cosseno retorna valores entre -1 e 1; em embeddings de texto, textos com o mesmo tema ficam quase sempre acima de 0,7.

O mapa

AEmbeddings e vetorização mostrou como texto vira vetor. Esta seção mostra o que fazer com esses vetores: medir o quanto dois textos significam a mesma coisa. É a ponte entre “ter embeddings” e “buscar por similaridade” (o coração de qualquer RAG).

flowchart TD
    A["texto vira vetor"] --> B["vetores põem sentido<br/>na DIREÇÃO"]
    B --> C["medir ângulo entre<br/>dois vetores"]
    C --> D["distância de cosseno<br/>→ escala -1 a 1"]
    D --> E["limiar de corte<br/>(o que é 'parecido'?)"]
    E --> F["busca semântica<br/>e RAG"]

Conceitos-chave

Distância de cosseno vs. as outras métricas

MétricaO que medeQuando preferir
Cossenoângulo, invariante à magnitudepadrão para embeddings de texto
Produto escalarângulo × magnitudequando a magnitude carrega informação (ex.: frequência) — comum em índices de produção
Euclidianadistância direta, fora de [0,1]quando o modelo foi treinado com distância euclidiana

⚠️ Misturar métricas entre treino e inferência quebra o índice silenciosamente. Se o modelo foi treinado com produto escalar, usar cosseno na hora de buscar degrada o ranqueamento sem lançar erro nenhum.

Erros comuns

ErroCorreção
”Distância de cosseno vai de 0 a 1”Vai de -1 a 1. Embeddings de texto costumam ficar todos no positivo, mas o domínio completo é [-1, 1].
”Quanto maior o cosseno, mais longe”Ao contrário: maior cosseno = mais parecido (ângulo menor).
”Euclidiana e cosseno dão o mesmo ranqueamento”Só se todos os vetores tiverem a mesma norma. Com normas diferentes, o ranqueamento muda.
”Embeddings mais longos têm cosseno menor”Não — o cosseno ignora o tamanho. É exatamente por isso que ele é o padrão.

O limiar de corte é o pulo do gato

O cosseno te dá um número; a decisão é sua. Onde você corta para dizer “isto contém”? Corta baixo (0,3) e o RAG puxa lixo; corta alto (0,9) e ele deixa de fora trechos úteis. Esse limiar é empirico, por domínio, e é a parte do RAG que ninguém ajusta — e que mais afeta a qualidade da resposta.

Exercício

Rode o Lab 02 - Embeddings e similaridade e, antes de olhar o resultado, escreva o que você espera para três pares: (mesmo texto), (texto parecido), (texto relacionado mas de outro tema). Depois compare com o cosseno calculado. Se seu chute e o número discordarem no terceiro caso, o limiar de corte é onde olhar.

Onde isso conecta