Neural Information Retrieval: differenze tra le versioni

Da Wiki AI.
(Creata pagina con "Il '''recupero dell'informazione neurale''' (''neural information retrieval'') è un approccio moderno al recupero di documenti che utilizza reti neurali e rappresentazioni dense per trovare informazioni rilevanti all'interno di grandi raccolte di testi. Esso si differenzia normalmente dal mero uso di metriche di similarità sugli embeddings, in quanto si basa su algoritmi specializzati nel trovare i migliori documenti in relazione alle query dell'utente. === Panoramica...")
 
Nessun oggetto della modifica
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 6: Riga 6:
=== Evoluzione storica ===
=== Evoluzione storica ===
==== Prima generazione: Recupero supervisionato ====
==== Prima generazione: Recupero supervisionato ====
I primi sistemi di recupero neurale, come il Dense Passage Retriever (DPR), richiedevano grandi dataset di addestramento con coppie annotate query-documento. Questo approccio, sebbene efficace, presentava limitazioni significative:
I primi sistemi di recupero neurale, come il [[Dense Passage Retrieval for Open-Domain Question Answering|Dense Passage Retriever (DPR)]], richiedevano grandi dataset di addestramento con coppie annotate query-documento. Questo approccio, sebbene efficace, presentava limitazioni significative:
* Necessità di annotazioni manuali costose
* Necessità di annotazioni manuali costose
* Difficoltà di scalabilità a nuovi domini
* Difficoltà di scalabilità a nuovi domini
* Limitata disponibilità di dati in lingue diverse dall'inglese
* Limitata disponibilità di dati in lingue diverse dall'inglese
==== Seconda generazione: Recupero auto-supervisionato ====
Sistemi più recenti come il [[Unsupervised Dense Information Retrieval with Contrastive Learning|Contriever]] hanno superato queste limitazioni utilizzando l'apprendimento contrastivo, eliminando la necessità di dati annotati manualmente:
* Apprendimento direttamente da testi non annotati
* Creazione automatica di esempi di addestramento
* Migliore generalizzazione a nuovi domini
* Supporto nativo multilingue<br />
=== Funzionamento tecnico ===
==== Architettura di base ====
Il sistema utilizza due componenti principali:
* '''Encoder''': trasforma testi in vettori densi (embeddings)
* '''Sistema di recupero''': trova i documenti più vicini nello spazio vettoriale
==== Addestramento contrastivo ====
L'addestramento contrastivo funziona secondo questi principi:
* Creazione di coppie positive (testi semanticamente correlati)
* Utilizzo di esempi negativi dal batch di addestramento
* Ottimizzazione per aumentare la similarità tra esempi positivi
* Riduzione della similarità con esempi negativi
La funzione di perdita (loss) tipicamente utilizzata è [[InfoNCE]]:
<math>
\mathcal{L} = -\log\frac{\exp(sim(q,d^+))}{\exp(sim(q,d^+)) + \sum\exp(sim(q,d^-))}
</math>
dove:
* q è l'embedding della query
* d+ è l'embedding del documento positivo
* d- sono gli embedding dei documenti negativi
* sim() è una funzione di similarità (solitamente similarità del coseno)
=== Applicazioni ===
Il recupero dell'informazione neurale trova applicazione in diversi ambiti:
* Motori di ricerca semantici
* Sistemi di domanda e risposta
* Verifica delle fonti (fact-checking)
* Ricerca documentale multilingue
* Sistemi di raccomandazione

Versione attuale delle 13:28, 24 nov 2024

Il recupero dell'informazione neurale (neural information retrieval) è un approccio moderno al recupero di documenti che utilizza reti neurali e rappresentazioni dense per trovare informazioni rilevanti all'interno di grandi raccolte di testi. Esso si differenzia normalmente dal mero uso di metriche di similarità sugli embeddings, in quanto si basa su algoritmi specializzati nel trovare i migliori documenti in relazione alle query dell'utente.

Panoramica

A differenza dei metodi tradizionali come TF-IDF e BM25 che si basano sulla corrispondenza esatta delle parole (ricerca sparsa o sparse retrieval), i sistemi neurali creano rappresentazioni dense (embeddings) sia per le query che per i documenti, permettendo di catturare relazioni semantiche più profonde.

Evoluzione storica

Prima generazione: Recupero supervisionato

I primi sistemi di recupero neurale, come il Dense Passage Retriever (DPR), richiedevano grandi dataset di addestramento con coppie annotate query-documento. Questo approccio, sebbene efficace, presentava limitazioni significative:

  • Necessità di annotazioni manuali costose
  • Difficoltà di scalabilità a nuovi domini
  • Limitata disponibilità di dati in lingue diverse dall'inglese

Seconda generazione: Recupero auto-supervisionato

Sistemi più recenti come il Contriever hanno superato queste limitazioni utilizzando l'apprendimento contrastivo, eliminando la necessità di dati annotati manualmente:

  • Apprendimento direttamente da testi non annotati
  • Creazione automatica di esempi di addestramento
  • Migliore generalizzazione a nuovi domini
  • Supporto nativo multilingue

Funzionamento tecnico

Architettura di base

Il sistema utilizza due componenti principali:

  • Encoder: trasforma testi in vettori densi (embeddings)
  • Sistema di recupero: trova i documenti più vicini nello spazio vettoriale

Addestramento contrastivo

L'addestramento contrastivo funziona secondo questi principi:

  • Creazione di coppie positive (testi semanticamente correlati)
  • Utilizzo di esempi negativi dal batch di addestramento
  • Ottimizzazione per aumentare la similarità tra esempi positivi
  • Riduzione della similarità con esempi negativi

La funzione di perdita (loss) tipicamente utilizzata è InfoNCE:

dove:

  • q è l'embedding della query
  • d+ è l'embedding del documento positivo
  • d- sono gli embedding dei documenti negativi
  • sim() è una funzione di similarità (solitamente similarità del coseno)

Applicazioni

Il recupero dell'informazione neurale trova applicazione in diversi ambiti:

  • Motori di ricerca semantici
  • Sistemi di domanda e risposta
  • Verifica delle fonti (fact-checking)
  • Ricerca documentale multilingue
  • Sistemi di raccomandazione