Learn AI with Python · Lezione

Similarità semantica ed embedding delle frasi

Sentence-BERT, similarità coseno per la ricerca semantica, clustering degli embedding

Lezione 4 di 413 passaggi

Similarità semantica ed embedding delle frasi è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.

Frasi, non solo parole

Gli embedding delle parole rappresentano le parole, ma spesso dobbiamo confrontare intere frasi o documenti. Fare la media dei vettori delle parole fa perdere sfumature; vogliamo un singolo vettore che ne catturi il significato completo.

Che cosa sono gli embedding delle frasi

Gli embedding delle frasi associano un'intera frase a un unico vettore denso, così che le frasi con significato simile abbiano vettori vicini, rendendo possibili la ricerca semantica e il clustering.

La libreria sentence-transformers

La libreria sentence-transformers rende tutto semplice. Include modelli transformer sottoposti a fine-tuning che producono direttamente vettori di frasi di alta qualità.

from sentence_transformers import SentenceTransformer

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

Perché all-MiniLM-L6-v2

all-MiniLM-L6-v2 è una scelta predefinita molto diffusa: è compatto, veloce e accurato e produce vettori di 384 dimensioni. Offre un buon equilibrio tra velocità e qualità per la maggior parte delle applicazioni.

Codifica delle frasi

model.encode trasforma un elenco di frasi in una matrice di embedding, con una riga per ogni 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)

Misurare la similarità

La similarità coseno misura l'angolo tra due vettori, ignorandone la magnitudine. Valori vicini a 1 indicano un significato molto simile, mentre valori vicini a 0 indicano che non sono correlati.

from sentence_transformers import util

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

Usare sklearn cosine_similarity

È inoltre possibile usare direttamente scikit-learn sulla matrice di embedding per ottenere una matrice completa delle similarità a coppie.

from sklearn.metrics.pairwise import cosine_similarity

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

Idea della ricerca semantica

La ricerca semantica trova i documenti in base al significato, non alle parole chiave. Codifichi una query e tutti i documenti, quindi ordini i documenti in base alla similarità coseno rispetto al vettore della query.

Un esempio di ricerca semantica

Codifichi il corpus una sola volta, quindi calcoli le similarità per ogni query e restituisca i risultati più pertinenti.

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)

Applicazioni nel mondo reale

Gli embedding delle frasi alimentano il matching delle FAQ, il rilevamento dei duplicati, il clustering, i sistemi di raccomandazione e la fase di retrieval nei sistemi RAG, che forniscono contesto pertinente ai modelli linguistici di grandi dimensioni.

Consigli per ottenere buoni risultati

Scelga un modello addestrato per il proprio obiettivo, come la ricerca semantica o la parafrasi. Normalizzi gli embedding se la metrica di similarità lo richiede e, per corpus di grandi dimensioni, utilizzi un database vettoriale per una ricerca rapida dei vicini più prossimi.

Verifica rapida

Verifichi la propria conoscenza degli embedding delle frasi.

Riepilogo

Riepilogo: gli embedding delle frasi codificano intere frasi in vettori. Utilizzi SentenceTransformer("all-MiniLM-L6-v2") e model.encode(sentences), quindi confronti i risultati con la similarità coseno. Questo abilita la ricerca semantica: codifichi la query e il corpus, quindi ordini i risultati in base alla similarità. È fondamentale per il matching delle FAQ, il clustering e il retrieval nei sistemi RAG.

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
53
Lezioni
225

Domande Frequenti

La lezione «Similarità semantica ed embedding delle frasi» è gratuita?

Sì — il testo completo di «Similarità semantica ed embedding delle frasi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.

Cosa imparerò in «Similarità semantica ed embedding delle frasi»?

Sentence-BERT, similarità coseno per la ricerca semantica, clustering degli embedding Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Learn AI with Python?

Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Similarità semantica ed embedding delle frasi»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?

Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Word2Vec: Skip-gram e CBOW
  2. Embedding GloVe e FastText
  3. Classificazione del testo con BERT
  4. Similarità semantica ed embedding delle frasi
← Torna a Learn AI with Python