Lezione 3 di 8 · 3 min

Il significato come vicinanza: la ricerca semantica

I vettori servono anche a ritrovare un documento in base al significato, senza condividere una sola parola con la domanda.

ObiettivoSpiegare come funziona una ricerca per similarità e cosa la distingue da una ricerca per parole chiave.

Ciò che vale per una parola vale per una frase o un paragrafo. Un modello può produrre un vettore per un intero passaggio, che ne riassume il significato. Due passaggi che parlano della stessa cosa con parole diverse ottengono vettori vicini.

È la base della ricerca semantica. Si calcola in anticipo un vettore per ogni passaggio dei vostri documenti. Quando ponete una domanda, si calcola il suo vettore e si cercano i passaggi più vicini, in genere con la similarità del coseno, che misura l’angolo tra due vettori.

Meno efficace

Ricerca per parole chiave: «disdetta» non trova un contratto che parla di «cessazione anticipata del mandato».

Più efficace

Ricerca semantica: la domanda sulla disdetta ritrova il passaggio sulla cessazione anticipata, perché i due significati sono vicini.

La vicinanza riguarda il significato, non le parole esatte.

I suoi limiti

  • Può restituire un passaggio vicino per tema ma sbagliato sul punto preciso, per esempio un altro articolo dello stesso contratto.
  • Cifre, date e riferimenti esatti si ritrovano meglio con le parole chiave. I buoni sistemi combinano i due approcci.
  • La qualità dipende dalla suddivisione dei documenti in passaggi.

Riferimenti

  1. Mikolov, Chen, Corrado et al. (2013). Efficient Estimation of Word Representations in Vector Space. Preprint arXiv. arxiv.org/abs/1301.3781
  2. Devlin, Chang, Lee et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL-HLT 2019, p. 4171–4186. doi.org/10.18653/v1/N19-1423