Neural Information Retrieval: differenze tra le versioni

Da Wiki AI.
Nessun oggetto della modifica
Nessun oggetto della modifica
 
Riga 12: Riga 12:


==== Seconda generazione: Recupero auto-supervisionato ====
==== Seconda generazione: Recupero auto-supervisionato ====
Sistemi più recenti come [[Contriever]] hanno superato queste limitazioni utilizzando l'apprendimento contrastivo, eliminando la necessità di dati annotati manualmente:
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
* Apprendimento direttamente da testi non annotati
* Creazione automatica di esempi di addestramento
* Creazione automatica di esempi di addestramento
* Migliore generalizzazione a nuovi domini
* Migliore generalizzazione a nuovi domini
* Supporto nativo multilingue
* Supporto nativo multilingue<br />
 
 
=== Funzionamento tecnico ===
=== Funzionamento tecnico ===
==== Architettura di base ====
==== Architettura di base ====
Riga 32: Riga 30:
* Riduzione della similarità con esempi negativi
* Riduzione della similarità con esempi negativi


La funzione di perdita (loss) tipicamente utilizzata è InfoNCE:
La funzione di perdita (loss) tipicamente utilizzata è [[InfoNCE]]:
 
<math>
<math>
\mathcal{L} = -\log\frac{\exp(sim(q,d^+))}{\exp(sim(q,d^+)) + \sum\exp(sim(q,d^-))}
\mathcal{L} = -\log\frac{\exp(sim(q,d^+))}{\exp(sim(q,d^+)) + \sum\exp(sim(q,d^-))}
Riga 50: Riga 49:
* Ricerca documentale multilingue
* Ricerca documentale multilingue
* Sistemi di raccomandazione
* Sistemi di raccomandazione
=== Vantaggi e svantaggi ===
==== Vantaggi ====
* Comprensione semantica superiore
* Capacità di gestire sinonimi e parafrasi
* Efficace in scenari multilingue
* Non richiede manutenzione di indici di parole
==== Svantaggi ====
* Maggiore complessità computazionale
* Necessità di risorse hardware specifiche (GPU)
* Possibile perdita di precisione su corrispondenze esatte
=== Note ===
<references/>

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