wir schiavinato 170608
TRANSCRIPT
ALTRI MODELLI PER L’INFORMATION RETRIEVAL:
BM25
QUERY LIKELIHOOD RANKING
CONFRONTO FRA LANGUAGES MODELS
Andrea Schiavinato, Giugno 2008
1
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
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
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
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
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
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
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…
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)
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
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
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
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
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
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
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
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)()||(
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
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||
),(),(
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)
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 )()|(
)|(
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
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
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
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