Mean Reciprocal Rank

Da Wiki AI.

La Classificazione Media Reciproca (Mean Reciprocal Rank o MRR) è una misura statistica utilizzata nella valutazione dei sistemi di recupero delle informazioni e dei motori di ricerca. Calcola il reciproco del rango della prima risposta corretta, mediato su tutte le query.

Struttura del Dataset

Il Mean Reciprocal Rank, come tutte le metriche di valutazione, richiede un dataset di test opportunamente annotato. Questo dataset deve contenere:

  1. Un insieme di query rappresentative del dominio di interesse
  2. Per ogni query, l'indicazione dei documenti che costituiscono risposte pertinenti (documenti "ground truth")

La costruzione di questo dataset è un processo delicato che richiede spesso l'intervento di esperti del dominio. Prendiamo ad esempio un dataset per valutare un sistema RAG sulla Toscana:

Query: "Quali sono i principali musei di Firenze?"
Documenti rilevanti (annotati manualmente):
- DOC_45: descrive Uffizi, Accademia e Palazzo Pitti [RILEVANZA: ALTA]
- DOC_12: focus sulla Galleria dell'Accademia [RILEVANZA: MEDIA]
- DOC_78: panoramica generale su Firenze [RILEVANZA: BASSA]

Query: "Come si prepara la ribollita?"
Documenti rilevanti:
- DOC_89: ricetta dettagliata della ribollita [RILEVANZA: ALTA]
- DOC_34: panoramica cucina toscana [RILEVANZA: MEDIA]

Per ogni query, gli esperti devono:

  1. Identificare tutti i documenti che contengono informazioni pertinenti
  2. Assegnare un livello di rilevanza a ciascun documento
  3. Eventualmente indicare quali parti specifiche del documento sono rilevanti

Solo con un dataset annotato in questo modo è possibile calcolare un MRR significativo, che rifletta realmente la capacità del sistema di recuperare le informazioni più pertinenti. Inoltre, l'annotazione multi-livello della rilevanza permette di utilizzare anche metriche più sofisticate come il Normalized Discounted Cumulative Gain (NDCG), che tiene conto non solo della posizione dei documenti rilevanti ma anche del loro grado di rilevanza.

Formula

La formula del MRR è:

Dove:

  • |Q| è il numero totale di query
  • ranki è la posizione della prima risposta corretta per la query i-esima

Esempio

Se per tre query diverse, la prima risposta corretta appare rispettivamente in posizione 1, 2 e 4:

Query Posizione documento corretto Reciproco
Query 1 1 1/1 = 1,0
Query 2 2 1/2 = 0,5
Query 3 4 1/4 = 0,25

il MRR sarà:

Benchmarking dei modelli di embedding

Si parte da un dataset contenente coppie di query e documenti rilevanti (ground truth). Questo dataset serve come riferimento per valutare l'accuratezza del sistema.

Processo di calcolo

Per ogni query nel dataset di test:

  • Si utilizza il modelle di embedding per recuperare i k documenti più rilevanti
  • Si identifica la posizione (rank) del primo documento corretto nella lista dei risultati
  • Si calcola il reciproco di questa posizione (1/rank)
  • Se il documento corretto non appare tra i primi k risultati, si assegna un punteggio di 0

Interpretazione

  • Un MRR di 1.0 indica performance perfette (documento corretto sempre in prima posizione)
  • Valori più vicini a 1.0 indicano migliore performance del sistema
  • Il punteggio tiene conto solo della prima risposta corretta per ogni query