Learn AI with Python · Aula

Similaridade semântica e embeddings de sentenças

Sentence-BERT, similaridade cosseno para busca semântica e agrupamento de embeddings.

Aula 4 de 413 etapas

Similaridade semântica e embeddings de sentenças é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

Frases, não apenas palavras

As representações vetoriais de palavras codificam palavras, mas muitas vezes precisamos comparar frases inteiras ou documentos. Calcular a média dos vetores de palavras faz perder nuances; queremos um único vetor que capture todo o significado.

O que são representações vetoriais de frases

As representações vetoriais de frases transformam uma frase inteira em um único vetor denso, para que frases com significado semelhante tenham vetores próximos, possibilitando a busca semântica e o agrupamento.

A biblioteca sentence-transformers

A biblioteca sentence-transformers facilita esse processo. Ela encapsula modelos de transformadores ajustados especificamente, que produzem diretamente vetores de frases de alta qualidade.

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("all-MiniLM-L6-v2")

Por que usar all-MiniLM-L6-v2

all-MiniLM-L6-v2 é uma opção padrão popular: pequena, rápida e precisa, produzindo vetores com 384 dimensões. Ela equilibra bem velocidade e qualidade para a maioria das aplicações.

Codificando frases

model.encode transforma uma lista de frases em uma matriz de representações vetoriais, com uma linha por frase.

sentences = [
    "The cat sits on the mat.",
    "A feline rests on the rug.",
    "I am learning machine learning.",
]
embeddings = model.encode(sentences)
print(embeddings.shape)   # (3, 384)

Medindo a similaridade

A similaridade de cosseno mede o ângulo entre dois vetores, ignorando sua magnitude. Valores próximos de 1 indicam significados muito semelhantes; valores próximos de 0 indicam que não estão relacionados.

from sentence_transformers import util

sim = util.cos_sim(embeddings[0], embeddings[1])
print(sim.item())   # high, both about a cat resting

Usando cosine_similarity do sklearn

Também é possível usar diretamente o scikit-learn na matriz de representações vetoriais para obter uma matriz completa de similaridade entre cada par.

from sklearn.metrics.pairwise import cosine_similarity

matrix = cosine_similarity(embeddings)
print(matrix)   # (3, 3) pairwise similarities

Ideia da busca semântica

A busca semântica encontra documentos pelo significado, não por palavras-chave. Use encode na consulta e em todos os documentos e, em seguida, classifique os documentos pela similaridade de cosseno com o vetor da consulta.

Exemplo de busca semântica

Use encode no conjunto de documentos uma vez; depois, para cada consulta, calcule as similaridades e retorne as melhores correspondências.

from sentence_transformers import util

corpus = ["How to reset my password", "Refund policy details", "Track my order"]
corpus_emb = model.encode(corpus)

query_emb = model.encode("I forgot my login")
hits = util.semantic_search(query_emb, corpus_emb, top_k=2)
print(hits)

Aplicações no mundo real

As representações vetoriais de frases possibilitam a correspondência de FAQ, a detecção de duplicatas, o agrupamento, a recomendação e a etapa de recuperação em sistemas RAG que fornecem contexto relevante a grandes modelos de linguagem.

Dicas para obter bons resultados

Escolha um modelo treinado para sua tarefa (busca semântica ou paráfrase). Normalize as representações vetoriais se sua métrica de similaridade exigir isso e, para grandes conjuntos de documentos, use um banco de dados vetorial para uma busca rápida pelos vizinhos mais próximos.

Verificação rápida

Teste seus conhecimentos sobre representações vetoriais de frases.

Resumo

Resumo: as representações vetoriais de frases codificam frases inteiras em vetores. Use SentenceTransformer("all-MiniLM-L6-v2") e model.encode(sentences) e, em seguida, compare usando a similaridade de cosseno. Isso possibilita a busca semântica: codifique a consulta e o conjunto de documentos e classifique-os por similaridade. É essencial para correspondência de FAQ, agrupamento e recuperação em RAG.

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
53
Aulas
225

Perguntas Frequentes

A aula “Similaridade semântica e embeddings de sentenças” é grátis?

Sim — o texto completo de “Similaridade semântica e embeddings de sentenças” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Similaridade semântica e embeddings de sentenças”?

Sentence-BERT, similaridade cosseno para busca semântica e agrupamento de embeddings. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Similaridade semântica e embeddings de sentenças”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Word2Vec: Skip-gram e CBOW
  2. Embeddings GloVe e FastText
  3. Classificação de texto com BERT
  4. Similaridade semântica e embeddings de sentenças
← Voltar para Learn AI with Python