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.
Ricerca per parole chiave: «disdetta» non trova un contratto che parla di «cessazione anticipata del mandato».
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
- Mikolov, Chen, Corrado et al. (2013). Efficient Estimation of Word Representations in Vector Space. Preprint arXiv. arxiv.org/abs/1301.3781
- 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