seminario bm25 extension uniud
TRANSCRIPT
UN’ESTENSIONE DELLA
FUNZIONE BM25 PER
DOCUMENTI STRUTTURATI
Manuel Bitto
Università Degli Studi di Udine | Corso di W.I.R. | prof. Stefano Mizzaro
Scaletta
La funzione BM25
e la funzione per il BIM
(introduzione veloce)
I documenti strutturati
Come viene usata BM25 con documenti strutturati
Problemi riscontrati: scores combination
L’estensione per usare BM25 più efficacemente con documenti strutturati
Soluzione: term frequency combination
Risultati
2
La funzione BM25 3
BM25 è un'estensione della funzione per il calcolo del ranking dei documenti nel BIM (Binary Independence Model):
In realtà più che ottenere una misura di similitudine fra un doc. e la query otteniamo un valore che ci permette di ordinare i risultati
La funzione BM25 4
Svantaggi del BIM
Non tiene conto dei 𝑡𝑓 (term frequency)
Per questo fatto le prestazioni della funzione di ranking per il BIM non sono buone rispetto ad altri modelli
Anche 50% di documenti relevant reperiti in meno
Ma è la base di BM25
Dove viene aggiunto il calcolo del 𝑡𝑓 sia per i documenti che per la query…
La funzione BM25
f
𝑓𝑖 è la frequenza del termine 𝑘𝑖 nel documento
𝑞𝑓𝑖 è la frequenza del termine 𝑘𝑖 nella query
𝛼 determina il contributo della componente 𝑡𝑓 al variare di 𝑓𝑖
𝛽 ha un ruolo simile ad 𝛼 ma incide sulle frequenza 𝑞𝑓𝑖
5
La funzione BM25 6
𝛾 è dato da 𝛼 1 − 𝑏 + 𝑏 ∙𝑑𝑙
𝑎𝑑𝑙
𝑏 = 0 Nessuna normalizzazione sulla
lunghezza del documento
𝑏 = 1 Normalizzazione "totale"
𝑑𝑙
𝑎𝑑𝑙 lunghezza del doc / lunghezza media dei
doc.
Questa è una versione di BM25 "classica"
La funzione BM25
Esistono diverse versioni di BM25
Una versione ottimizzata: Dato un vettore 𝑑 = (𝑑1, … , 𝑑𝑛) il cui elemento 𝑑𝑗 è
il 𝑡𝑓 del 𝑗-esimo termine di un determinato documento 𝑑
Data 𝐶 collezione di documenti
Il peso (weight) 𝑤𝑗 di un singolo termine 𝑗 rispetto all'intera collezione è:
N.B. Stiamo pesando solo il singolo termine
7
La funzione BM25
dove: 𝑑𝑓𝑗 è la frequenza del termine 𝑗 nei documenti
dell’intera collezione (document frequency)
𝑑𝑙 è la lunghezza del documento
𝑎𝑣𝑑𝑙 è la lunghezza media dei documenti nell’intera collezione
𝑘1e 𝑏 sono parametri per il tuning della funzione
𝑁 è la quantità di documenti della collezione
8
La funzione BM25
Aggiungiamo la query alla funzione:
Lo score 𝑊 dell’intero documento, data una query 𝑞 è:
Dove 𝑞𝑗, è il 𝑡𝑓 (nel documento) del 𝑗-esimo
termine della query che, come il documento, è rappresentata da un vettore
9
La funzione BM25 10
Ricapitolando, nella "versione classica":
𝑠𝑖𝑚(𝑄, 𝐷) fornisce il valore per il ranking di un
documento rispetto ad una query
Nella versione che vediamo noi:
𝑤𝑗(𝑑 , 𝐶) fornisce il peso di un singolo
termine di un documento rispetto alla collezione
𝑊(𝑑 , 𝑞, 𝐶) fornisce il valore per il ranking di un
documento rispetto ad una query, (come 𝑠𝑖𝑚(𝑄, 𝐷))
BM25 per documenti strutturati
Ma BM25 non è stata realizzata pensando a documenti strutturati
Come adattarla a questa situazione?
11
BM25 per documenti strutturati 12
BM25 per documenti strutturati
13
Come viene usata BM25 nei documenti strutturati
In un documento strutturato possiamo associare ad ogni campo (field) un valore(boost), in modo da condizionare il peso dei termini contenuti Tecnica utile per indicizzare documenti di cui si
controlla la struttura
Documenti aziendali, pagine di un proprio sito web, …
Ma anche documenti di cui si conosce a priori la (probabile) struttura
Pagine web (title, body, anchor, h1, …, h6, …)
Paper scientifici (title, body, abstract, tag)
14
Come viene usata BM25 nei documenti strutturati
Come adattiamo BM25 a questa nuova caratteristica:
Al documento a cui prima era associato un vettore 𝑑 = (𝑑1, … , 𝑑𝑛) di 𝑡𝑓 ora associamo un
vettore i cui elementi sono i campi del doc.:
es. doc. scientifico 𝑑 [1] = titolo, 𝑑 [2] = abstract,
...
Ad ogni campo è associato un vettore di 𝑡𝑓
Abbiamo ottenuto una matrice 𝒅 composta dai 𝑡𝑓 dei termini dell’intero doc.
15
Come viene usata BM25 nei documenti strutturati
Riconsideriamo lo score del documento tenendo conto della struttura (e dei relativi boost):
Dato un vettore 𝐯 composto dai boost assegnabili ad un campo, il punteggio 𝑊1 di un
documento strutturato è:
Dove 𝑣𝑓, è il boost assegnato al campo 𝑑 𝑓
16
Come viene usata BM25 nei documenti strutturati
17
Il peso che prima si basava sull'intero documento (𝑑) ora si basa su ogni singolo campo (𝑑[𝑓]) e viene moltiplicato per il valore di boost di quel campo quindi:
𝑊1 è combinazione lineare fra i punteggi dei singoli campi e i rispettivi valori di boost (combination of scores)
Ciò crea alcuni problemi…
Combination of scores Problema 1: 𝑡𝑓 non lineare
Esempio, documento:
Title: ”Silver and gold deliveries”
Body: ”Delivery of silver arrived in a silver truck but shipment of gold damaged in a fire”
Query: ”Silver freight”
Silver è presente nel title (1 volta) e nel body (2 volte)
Vediamo prima il peso del termine silver calcolato con BM25 in doc non strutturati:
18
Combination of scores Problema 1: 𝑡𝑓 non lineare
Nota: La funzione è non lineare in 𝑡𝑓
Infatti è + interessante l’aumento di un 𝑡𝑓 da 0 a 1 piuttosto che (ad es.) da 9 a 10
19
Combination of scores Problema 1: 𝑡𝑓 non lineare
Però, nel caso di doc strutturati, se applichiamo 𝑊1 e assegniamo valori di boost (ad es.) per body = 1 e title = 2:
combination of scores in 𝑊1 fa aumentare a dismisura il peso del termine
20
Combination of scores Problema 2: Informazioni statistiche sui campi
Alcune informazioni statistiche diventano instabili
Ad esempio, per il calcolo di 𝑑𝑓 (document frequency) si tiene conto di ogni campo in cui il termine si trova
La ripetizione di parole chiave in diversi campi, (ad es. titolo e tag) fanno alzare il 𝑑𝑓 in modo sproporzionato, destabilizzando le informazioni statistiche.
21
Combination of scores Problema 3: Boost uguale per tutti i campi
Caso particolare: documento che ha tutti i campi con boost = 1 (neutro)
Applicando BM25, ci aspetteremmo di ottenere uno score per il doc. strutturato uguale a quello di un doc. non strutturato, ma non è così!
Questa ineguaglianza rende difficile e poco intuitiva la scelta dei boost per i singoli campi
22
Combination of scores Problema 4: Lunghezza del documento
Nella formula originale di BM25 si è tenuto conto della lunghezza del documento
Nel caso di doc. strutturati, non è chiaro se sia meglio usare la lunghezza dell’intero documento o la lunghezza di ciascun campo
23
Combination of scores Problema 5: tuning dei parametri
BM25 mette a disposizione per il tuning 2 parametri:
𝑘1 controlla l’effetto di non-linearità di 𝑡𝑓
𝑏 controlla la normalizzazione della lunghezza
del documento
Per i doc. strutturati dovremmo settare i 2 parametri per ogni campo del doc. (oltre al parametro di boost)
K campi -> ~3K parametri!
24
L’estensione proposta: term frequency combination
Soluzione: combinazione lineare fra i valori di 𝒕𝒇 e il valore di boost di ciascun campo
Non più score combination:
25
L’estensione proposta: term frequency combination
26
Ma term frequency combination:
Ricordiamo com'è fatta 𝑊:
Semplicemente prima si moltiplicano i 𝑡𝑓 di ciascun campo per il valore di boost poi si applica la funzione per trovare il peso dell’intero doc. rispetto ad una query
L’estensione proposta: term frequency combination
Grazie a questo semplice accorgimento otteniamo un grande vantaggio
Possiamo mappare concettualmente i doc. strutturati in doc. non strutturati, con i 𝒕𝒇 ricalcolati in base al peso dei campi che li contengono
Es: doc. strutturato: title (peso 2) body (peso 1)
Title = "Silver delivers"
body = "Delivery of silver arrived in a silver truck"
È equivalente al doc. non strutturato: Title = "Silver silver delivers delivers"
Body = "Delivery of silver arrived in a silver truck"
27
L’estensione proposta: term frequency combination
In questo modo risolviamo i 5 problemi precedenti:
1 - 𝑡𝑓 non lineare
28
L’estensione proposta: term frequency combination
2 - Informazioni statistiche sui campi: Per il 𝑑𝑓 di un termine si considera l’intero
documento, come se non fosse strutturato
3 - Boost uguale per tutti i campi:
Settando i valori di boost a 1 in tutti i campi si ottengono gli stessi risultati del doc. non strutturato
4 - Lunghezza del documento:
La lunghezza del documento è la somma dei nuovi 𝒕𝒇
5 - Tuning dei parametri In questo caso utilizzo i 2 parametri di tuning 𝑘1 e 𝑏 per tutto il documento, oltre che al boost per ciascun campo
29
Risultati
Valutazione effettuata su 2 collezioni
Reuters vol I collection
TREC Web-Track crawl of the .gov domain (2002)
Solo 2 campi (title, body)
Mancano collezioni aventi molti campi diversi
Metro di valutazione: Precision@10
Risultati comunque significativi, evidenziano i pericoli dell’uso di score combination
30
Risultati
Il metodo proposto (FreqComb) dà risultati intuitivi al contrario di score combination
31
Conclusioni
L'uso dello score combination complica la vita a chi deve scegliere valori di boost per i campi di un doc. strutturato, rendendo la gestione dei valori controintuitiva
Il term frequency combination risolve il problema e semplifica il processo
Dai risultati è evidente che il metodo dello score combination dovrebbe essere sostituito con il metodo proposto
32
Riferimenti bibliografici 33
S. Robertson, H. Zaragoza, and M. Taylor, "Simple BM25 Extension to Multiple Weighted Fields," CIKM 2004, pp. 42-49.
W.B. Croft, D. Metzler, T. Strohman, Search Engines: Information Retrieval in Practice, Pearson (2009), cap.7.2.
Slide del corso di Web Information Retrieval del prof. Mizzaro (modelli IR)