33
UN’ESTENSIONE DELLA FUNZIONE BM25 PER DOCUMENTI STRUTTURATI Manuel Bitto Università Degli Studi di Udine | Corso di W.I.R. | prof. Stefano Mizzaro

Seminario BM25 extension uniud

Embed Size (px)

Citation preview

Page 1: Seminario BM25 extension uniud

UN’ESTENSIONE DELLA

FUNZIONE BM25 PER

DOCUMENTI STRUTTURATI

Manuel Bitto

Università Degli Studi di Udine | Corso di W.I.R. | prof. Stefano Mizzaro

Page 2: Seminario BM25 extension uniud

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

Page 3: Seminario BM25 extension uniud

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

Page 4: Seminario BM25 extension uniud

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…

Page 5: Seminario BM25 extension uniud

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

Page 6: Seminario BM25 extension uniud

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"

Page 7: Seminario BM25 extension uniud

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

Page 8: Seminario BM25 extension uniud

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

Page 9: Seminario BM25 extension uniud

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

Page 10: Seminario BM25 extension uniud

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 𝑠𝑖𝑚(𝑄, 𝐷))

Page 11: Seminario BM25 extension uniud

BM25 per documenti strutturati

Ma BM25 non è stata realizzata pensando a documenti strutturati

Come adattarla a questa situazione?

11

Page 12: Seminario BM25 extension uniud

BM25 per documenti strutturati 12

Page 13: Seminario BM25 extension uniud

BM25 per documenti strutturati

13

Page 14: Seminario BM25 extension uniud

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

Page 15: Seminario BM25 extension uniud

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

Page 16: Seminario BM25 extension uniud

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

Page 17: Seminario BM25 extension uniud

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…

Page 18: Seminario BM25 extension uniud

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

Page 19: Seminario BM25 extension uniud

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

Page 20: Seminario BM25 extension uniud

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

Page 21: Seminario BM25 extension uniud

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

Page 22: Seminario BM25 extension uniud

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

Page 23: Seminario BM25 extension uniud

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

Page 24: Seminario BM25 extension uniud

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

Page 25: Seminario BM25 extension uniud

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

Page 26: Seminario BM25 extension uniud

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

Page 27: Seminario BM25 extension uniud

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

Page 28: Seminario BM25 extension uniud

L’estensione proposta: term frequency combination

In questo modo risolviamo i 5 problemi precedenti:

1 - 𝑡𝑓 non lineare

28

Page 29: Seminario BM25 extension uniud

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

Page 30: Seminario BM25 extension uniud

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

Page 31: Seminario BM25 extension uniud

Risultati

Il metodo proposto (FreqComb) dà risultati intuitivi al contrario di score combination

31

Page 32: Seminario BM25 extension uniud

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

Page 33: Seminario BM25 extension uniud

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)