wir schiavinato 170608

25
ALTRI MODELLI PER L’INFORMATION RETRIEVAL: BM25 QUERY LIKELIHOOD RANKING CONFRONTO FRA LANGUAGES MODELS Andrea Schiavinato, Giugno 2008 1

Upload: guestdbb6c5

Post on 13-Apr-2017

707 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Wir Schiavinato 170608

ALTRI MODELLI PER L’INFORMATION RETRIEVAL:

BM25

QUERY LIKELIHOOD RANKING

CONFRONTO FRA LANGUAGES MODELS

Andrea Schiavinato, Giugno 2008

1

Page 2: Wir Schiavinato 170608

IL MODELLO PROBABILISTICO

Peggio del modello vettoriale in assenza di relevance feedback (simile a modello vettoriale limitato ad ifd)

Non considera la componente tf

DQk ii

ii

iRkpRkpRkpRkpDQsim

))|(1()|())|(1()|(log),(

2

)1/()5,0(/)|()1/()5,0(2/1)|(

idisponibilrelevant sui Inforelevant sui info Nessuna

RNrnNnRkpRrRkp

iiii

ii

Page 3: Wir Schiavinato 170608

IL MODELLO BM25 (BEST MATCH 25, 1994)

3

i

i

i

i

Qk ii

ii

qfqf

ff

RkpRkpRkpRkpDQsim

i

)1()1(

))|(1()|())|(1()|(log),(

documenti dei media Lunghezzadocumento/ del Lunghezza/totale"" zioneNormalizza 1

documento del lunghezza sulla zionenormalizza Nessuna 0

)1(

frequenze sulle incide ma , ad simile ruoloun Ha di variareal tfcomponente della contributo il Determina

query nella k termineFrequenzadocumento nel k termineFrequenza

i

i

adldlbb

adldlbb

qff

qff

i

i

i

i

Valori tipici dei parametri: α=1.2; β=100; b=0.75

Page 4: Wir Schiavinato 170608

IL MODELLO BM25 – QUALCHE ESEMPIO Esempio visto a lezione:

Q = “gold silver truck” D1 = “Shipment of gold damaged in a fire” D2 = “Delivery of silver arrived in a silver truck” D3= “Shipment of gold arrived in a truck”

Ranking coincidente con quello del modello vettoriale e probabilistico 4

gold silver truck TOTD1 -log(2)*1.02 0 0 -0.71D2 0 log(2)*1.33 -

log(2)*0.960.26

D3 -log(2)*1.02 0 -log(2)*1.02

-1.42

Page 5: Wir Schiavinato 170608

IL MODELLO BM25 – QUALCHE ESEMPIO

5

Valutiamo un documento sapendo che: Ha un rapporto lunghezza/lunghezza media documenti

= 0.9 Collezione di 500.000 documenti La query contiene solo la parola “lincoln”

10 20 30 40 50

Freq termine'Lincoln 'neldocumento

2.5

5

7.5

10

12.5

15

Punteggio

Lincoln appare in 300 documenti10000 20000 30000 40000 50000

# doc che contengonola parola Lincoln

5

10

15

20

25

Punteggio

Lincoln appare 25 volte nel documento

Page 6: Wir Schiavinato 170608

IL MODELLO BM25 – QUALCHE ESEMPIO Risultati per la query “president lincoln”

“president” appare “spesso” nella collezione (40.000 doc)

“lincoln” appare più raramente (300 doc)

6

Frequenza “president”

Frequenza “lincoln”

Punteggio

15 25 20.6625 15 20.361 25 18.20 25 15.6625 1 12.9515 1 12.7415 0 5

Page 7: Wir Schiavinato 170608

IL MODELLO BM25 – COMMENTI Parte del calcolo può essere svolta ad tempo

di indicizzazione Ha ottenuto buoni risultati negli esperimenti

su TREC E’ stato molto preso in considerazione dai

motori di ricerca sul web commerciali

7

Page 8: Wir Schiavinato 170608

LANGUAGES MODELS – ESEMPIO 1 Language model associato un documento:

Potrebbe includere anche parole non usate nel testo e rappresentarne il topic

Ciò è più utile nell’IR 8

Parola Probwhite 0.2house 0.19USA 0.10president

0.09

golf 0.05…

Page 9: Wir Schiavinato 170608

LANGUAGES MODELS – ESEMPIO 2 Langauge model associato ad una query (o

ad un bisogno informativo):

Lo chiamiamo relevance model 9

Query: Parola Problincoln 0.3president

0.3

america 0.15president

0.15

war 0.15…

Bisogno informativodell’utente (reale/percepito/esplicitato)

Page 10: Wir Schiavinato 170608

LANGUAGES MODELS E’ un insieme di parole, ad ognuna delle quali è

associata una probabilità Può essere usato per generare un testo Rappresenta un modello di un testo, un topic o un

bisogno informativo (in quest’ultimo caso lo chiamiamo relevance model)

Portano a nuovi approcci per l’information retrieval: Calcolare la probabilità di generare una query dato un

language model corrispondente ad un documento (topic model)

Calcolare la probabilità di generare il testo di un dato documento a partire da un language model derivato dalla query

Calcolare la differenza fra il language model di un dato documento e quello della query 10

Page 11: Wir Schiavinato 170608

QUERY LIKELIHOOD RANKING - IDEA Valuto la probabilità che un documento

generi la query data:

11

Parola Probamerica 0.2lincoln 0.19USA 0.10president

0.09

golf 0.05…

DocumentoLanguage model ricavato dal documento

Query:

RANK DEL DOCUMENTO

Page 12: Wir Schiavinato 170608

QUERY LIKELIHOOD RANKING - FORMULA Valuto la probabilità che un documento

generi la query data:

P(x|D) è la probabilità che il language model dato dal documento D associa alla parola x

Problema: se un termine della query non appartiene al documento, sim(Q,D) è nullo (-∞)

)(),()|(

))|(log()|()|(),(

DlengthDqfreqDqP

DqPDqPDQPDQsim

ii

Qqii

Qqi

i

12

Page 13: Wir Schiavinato 170608

MIGLIORIA: SMOOTHING Per risolvere il problema citato, calcolo il valore

P(qi|D) combinando: La probabilità data dalla sua frequenza in D La probabilità data dalla sua frequenza

nell’intera collezione

α = costante (Jelinek-Mercer smoothing) α = f(|Q|) (0.1 per query corte, 0.9 per query

lunghe) α = (Dirichlet smoothing, µ=1000-2000) 13

)()|(

)()|()1()|(

ClengthCqfreq

DlengthDqfreqDqP ii

i

|| D

Page 14: Wir Schiavinato 170608

QUERY LIKELIHOOD RANKING – QUALCHE ESEMPIO Di nuovo l’esempio visto a lezione:

Q = “gold silver truck” D1 = “Shipment of gold damaged in a fire” D2 = “Delivery of silver arrived in a silver truck” D3= “Shipment of gold arrived in a truck” α= 0.1

Ranking differente da BM25! I termini che non compaiono nel documento ora hanno

un peso negativo (non nullo)14

gold silver truck TOTD1 -1.98 -4.70 -4.70 -11.38D2 -4.70 -1.45 -2.10 -8.25D3 -1.98 -4.70 -1.98 -8.66

Page 15: Wir Schiavinato 170608

QUERY LIKELIHOOD RANKING - COMMENTI Prestazioni simili a BM25 Si possono usare criteri di smoothing più sofisticati Esempio “president lincoln”

Collezione con 10^9 parole (500.000doc da 2.000parole) Il documento considerato ha 1.800 parole “president” appare 160.000 volte, “lincoln” solo 2.400

15

Frequenza “president”

Frequenza “lincoln”

Punteggio Punteggio BM25

15 25 -10.53 20.6625 15 -10.55 20.361 25 -12.99 18.225 1 -13.25 12.950 25 -14.40 15.6615 0 -19.05 5.00

Page 16: Wir Schiavinato 170608

IR CONFRONTANDO LANGUAGES MODELS Il ranking corrisponde alla divergenza negativa fra il

relevance model (R) ed il document model (D):

16

Parola Probamerica 0.2lincoln 0.19USA 0.10president

0.09

Documento

DIVERGENZA

Query

RANK DEL DOCUMENTO

Parola Problincoln 0.3president 0.3america 0.15president 0.15…Insieme di

documenti relevant

Page 17: Wir Schiavinato 170608

CONFRONTO FRA LANGUAGES MODELS E’ possibile confrontare due distribuzioni di

probabilità, e quindi due language model, mediante la divergenza informazionale (di Kullback-Leiber):

Per convenzione 0 log(0) = 0 La divergenza non è simmetrica La divergenza è sempre positiva , può essere ∞

nulla se P=Q maggiore proporzionalmente alla “distanza” fra P e Q 17

x xQ

xPxPQPKL)()(log)()||(

Page 18: Wir Schiavinato 170608

IR CONFRONTANDO LANGUAGES MODELS Il ranking corrisponde alla divergenza

negativa fra il relevance model (R) ed il document model (D):

P(w|D) sappiamo calcolarlo. Ma come calcolare P(w|R)? 18

)|(log)|(

)|(log)|()|(log)|()|()|(log)|(

)||(),(

DwPRwP

RwPRwPDwPRwPDwPRwPRwP

DRKLDQsim

Vv

VvVv

Vv

Page 19: Wir Schiavinato 170608

COME CALCOLARE IL RELEVANCE MODEL? Stimiamo il relevance model usando le parole

della query:

Otteniamo una funzione di similitudine coincidente con quella vista nel query likelihood ranking:

Ma il relavance model calcolato in questo modo è un po’ povero: dovrebbe includere altre parole… 19

||),()|(

QQwfreqRwP

Vw

DwPQ

QwfreqDQsim )|(log||

),(),(

Page 20: Wir Schiavinato 170608

COME CALCOLARE IL RELEVANCE MODEL (MEGLIO)? Vediamo P(w|R) come la probabilità di scegliere w,

sapendo che abbiamo già scelto i termini della query

L’obiettivo ora è trovare la probabilità congiunta P(w,q1…qn). Supponiamo di avere un insieme di documenti relevant C e la calcoliamo sulla base di questi documenti:

20

)...,()...(

)...()...|()...,(

dove )...(

)...,()...|()|(

11

111

1

11

nVw

n

nnn

n

nn

qqwPqqP

qqPqqwPqqwP

qqPqqwPqqwPRwP

CD nii

nCD

n

DqPDwPC

DqqwPDPqqwP

..1

11

)|()|(||

1

)|...,()()...,(

Query likelihood ranking per il documento D (senza il logaritmo)

Page 21: Wir Schiavinato 170608

COME ORDINARE I DOCUMENTI? In conclusione:

In pratica occorre: Ordinare i documenti usando query likelihood Scegliere i primi n documenti che formeranno l’insieme C

(n=15-20, ma si potrebbe anche prendere l’intera collezione) Calcolare le probabilità del relevance model, usando la

formula scritta sopra Calcolo la formula della slide 17, per trovare sim(Q,D)

(considerando eventualmente solo le 10-25 parole più probabili)

21

Vw CD

CD

DpesoDwP

DQsimpeso(D)n

DpesoDwPRwP

)()|(nlikelihoodquery con calcolata ),(

dove )()|(

)|(

Page 22: Wir Schiavinato 170608

CALCOLO DEL RELEVANCE MODEL -ESEMPIO

22

w

P(w|D1)*peso(D1)

P(w|D2)*peso(D2)

P(w|D3)*peso(D3) Tot Tot norm

silver 0,000 -1,939 -0,808 -2,748 0,148a -0,615 -0,970 -0,808 -2,393 0,129in -0,615 -0,970 -0,808 -2,393 0,129of -0,615 -0,970 -0,808 -2,393 0,129arrived 0,000 -0,970 -0,808 -1,778 0,096truck 0,000 -0,970 -0,808 -1,778 0,096gold -0,615 0,000 -0,808 -1,423 0,077Shipment -0,615 0,000 -0,808 -1,423 0,077delivery 0,000 -0,970 0,000 -0,970 0,052damaged -0,615 0,000 0,000 -0,615 0,033fire -0,615 0,000 0,000 -0,615 0,033

Page 23: Wir Schiavinato 170608

PUNTEGGIO DELLA DIVERGENZA

23

Gli altri punteggi: D2 = 34,956 D3 = 41.239

w P(w|R) P(w|D1)Log(P(w|R))*Log(P(w|D1))

silver 0,148 0,143 3,714a 0,129 0,000 0,000in 0,129 0,143 3,983of 0,129 0,000 0,000arrived 0,096 0,143 4,561truck 0,096 0,143 4,561gold 0,077 0,143 4,994Shipment 0,077 0,143 4,994delivery 0,052 0,143 5,741damaged 0,033 0,000 0,000fire 0,033 0,000 0,000TOT 32,547

Page 24: Wir Schiavinato 170608

CONFRONTO FRA LANGUAGES MODELS - COMMENTI Una generalizzazione del query

likelihood ranking Prevede una forma di espansione della query

basata su pesudo-relevance feedback Efficace Ma le parole aggiunte alla query dipendono

dalla collezione dei documenti e non è detto che riflettano pienamente il BI dell’utente

24

Page 25: Wir Schiavinato 170608

RIFERIMENTI B. Croft, D. Metzler, T. Strohman. Information

retrieval in practice, Addison Wesley, in preparazione (2009?)

Approfondimenti: http://en.wikipedia.org/wiki/Okapi_BM25 Language models for information retrieval,

http://nlp.stanford.edu/IR-book/html/htmledition/language-models-for-information-retrieval-1.html

Fun with Kullback-Leibler Divergence: Result Reranking and Index runing http://www.ir.uwaterloo.ca/slides/buettcher_kld.pdf

25