Le prime integrazioni di tecniche di Machine Learning con la ricerca hanno permesso di migliorare il posizionamento dei risultati di ricerca (Learning to Rank), ma una delle limitazioni è sempre stata che i documenti dovevano contenere le parole chiave che l’utente digitava nella casella di ricerca per essere trovati.
Ad esempio, la query “tigre” non recuperava documenti contenenti il termine latino “panthera tigris”. Questo problema è chiamato “vocabulary mismatch” e nel corso degli anni è stato mitigato attraverso diversi approcci, come l'espansione delle query e dei documenti.
La Ricerca Neurale (Neural Search) è una tecnica di inteligenza artificiale che consente a un motore di ricerca di raggiungere i documenti semanticamente simili a ciò che ha ricercato l’utente, senza necessariamente contenere l’esatto termine ricercato.
Ciò evita la necessità di lunghi elenchi di sinonimi, apprendendo automaticamente la somiglianza tra i termini e le frasi della collezione, attraverso l’utilizzo di reti neurali profonde (deep neural networks) e la rappresentazione vettoriale.
Questo talk esplora il primo contributo ufficiale di Apache Solr su questo argomento, disponibile a partire da Apache Solr 9.0.
Nel corso dell’intervento verrà fornita una panoramica della Ricerca Neurale: verranno descritte le rappresentazioni vettoriali per le query e i documenti, e il funzionamento della ricerca vettoriale Approximate K-Nearest Neighbor (KNN).
Mostreremo quindi come la ricerca neurale possa essere utilizzata insieme a tecniche di Deep Learning (ad esempio, BERT) o direttamente su dati vettoriali, e come abbiamo implementato questa funzionalità in Apache Solr.
Speaker: Alessandro Benedetti
Meetup London Information Retrieval Meetup