Mean Reciprocal Rank
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:
- Un insieme di query rappresentative del dominio di interesse
- 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:
- Identificare tutti i documenti che contengono informazioni pertinenti
- Assegnare un livello di rilevanza a ciascun documento
- 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