metodi di ranking probabilistici. ir probabilistico il modello probabilistico: il principio di...
Post on 02-May-2015
217 Views
Preview:
TRANSCRIPT
Metodi di ranking probabilistici
IR probabilistico
Il modello probabilistico: Il principio di pesatura probabilitico, o probability ranking principle
(Naïve) Bayesian Text Categorization Bayesian network L’idea chiave è di classificare i documenti in L’idea chiave è di classificare i documenti in
ordine di probabilità di rilevanza rispetto ordine di probabilità di rilevanza rispetto all’informazione richiesta:all’informazione richiesta:
P(relevante|documentoi, query)
Richiami
Date due variabili aleatorie a e b: Regola di Bayes
Odds:
∑ =
==
===∩=
aaxxpxbp
apabp
bp
apabpbap
apabpbpbap
apabpbpbapbapbap
,)()|(
)()|(
)(
)()|()|(
)()|()()|(
)()|()()|()(),(
)(1
)(
)(
)()(
ap
ap
ap
apaO
−==
Probabilitàa posteriori
Probabilitàa priori
Probability Ranking Principle
•Sia x un documento della collezione. •Sia R la rilevanza di un documento rispetto ad una (specifica) query e sia NR la non-rilevanza.
)(
)()|()|(
)(
)()|()|(
xp
NRpNRxpxNRp
xp
RpRxpxRp
=
=
p(x|R), p(x|NR) - probabilità che, se si trova un documento rilevante (non-rilevante), sia x.
Si vuole stimare p(R|x) - la probablità che x sia rilevante.
p(R),p(NR) - prob. a prioridi recuperare undocumento (non) rilevante
1)|()|( =+ xNRpxRp
Probability Ranking Principle (PRP)
Bayes’ Optimal Decision Rule x è rilevante iff p(R|x) > p(NR|x)
Probability Ranking Principle Come si calcolano le probabilità condizionate?
Si usano stimatori Il modello più semplice è il Binary Independence Retrieval
(BIR) Assunzioni
La “Rilevanza” di ogni documento è indipendente dalla rilevanza degli altri documenti.
Usare un modello di rilevanza Booleano:
Osservare un inieme iniziale di risultati può aiutare l’utente a raffinare la sua query
R={0,1}
Strategia di Retrieval probabilistico
Si stima quanto i singoli termini contribuiscano alla rilevanza
Si combinano queste stime per assegnare una stima all’intero documento
Si ordinano i documenti per probabilità decrescente
Binary Independence Model
“Binary” = Boolean: i documenti vengono rappresentati mediante un vettore booleano iff wi è contenuto in dj.
“Indipendenza”: i termini occorrono nei documenti indipendentemente
Documenti diversi possono essere rappresentati mediante lo stesso vettore!
),,( 1 nxxx Kr=
1=ix
Binary Independence Model
di q
R
P(R/q,di)Rank(di)=P(R/q,di)
Binary Independence Model
Query: vettore booleano Data una query q,
Per ogni documento d calcola p(R|q,d). Sostituisci con il calcolo di p(R|q,x) dove x è il
vettore booleano che rappresenta d Si utilizza la regola di Bayes ed il concetto di
“odd”:
)|(),|()|(
)|(),|()|(
),|(
),|(),|(
qxpqNRxpqNRp
qxpqRxpqRp
xqNRp
xqRpxqRO
rr
rr
rr
r==
Binary Independence Model
• Si usa l’assunzione di Indipendenza :
∏=
=n
i i
i
qNRxp
qRxp
qNRxp
qRxp
1 ),|(
),|(
),|(
),|(rr
),|(
),|(
)|(
)|(
),|(
),|(),|(
qNRxp
qRxp
qNRp
qRp
xqNRp
xqRpxqRO r
rr
rr
⋅==
Costante per ogni query
Va stimato
∏⋅==
n
i i
iqNRxp
qRxpqROxqRO
1 ),|(
),|()|(),|(
r•Dunque :
Binary Independence Model: effetto dell’inversione
∏⋅==
n
i i
iqNRxp
qRxpqROxqRO
1 ),|(
),|()|(),|(
r
xn
R
q d
x1 x2 xi
Binary Independence Model
∏=
⋅=n
i i
i
qNRxp
qRxpqROdqRO
1 ),|(
),|()|(),|(
• Ma xi (componente del vettore binario associata a wi) è o 0 o 1:
∏∏== =
=⋅
==
⋅=01 ),|0(
),|0(
),|1(
),|1()|(),|(
ii x i
i
x i
i
qNRxp
qRxp
qNRxp
qRxpqROdqRO
• Sia );,|1( qRxpp ii == );,|1( qNRxpr ii ==
• Si assume, per tutti i termini che non occorrono nella query:
ii rp =allora...
Binary Independence Model
∏−−
⋅∏−−
⋅=
∏⋅∏−−
⋅∏⋅=
===
==
====
11
0?
101
1
1
)1(
)1()|(
)1(1
1)|(),|(
iq i
i
iqix ii
ii
iqix
iqix i
i
iqix i
i
r
p
pr
rpqRO
r
p
r
pqROxqRO
r
Q= 1 1 1 0 0 0D= 1 1 0 0 0 1
Esempio
Q= 1 1 1 0 0 0D= 1 1 0 0 0 1
)31(
)31(
)21(
)21(
)11(
)11(
)21(
)21(
2
2
)11(
)11(
1
1
)21(
)21(
)21(
)21(
)11(
)11(
)11(
)11(
)31(
)31(
)31(
)31(
2
2
1
1
)31(
)31(
2
2
1
1
6
6
)51(
)51(
)41(
)41(
)31(
)31(
2
2
1
1
r
p
r
p
r
p
p
r
r
p
p
r
r
p
r
p
p
r
r
p
p
r
r
p
r
p
r
p
r
p
r
p
r
p
r
p
r
p
r
p
r
p
r
p
r
p
r
p
−−
−−
−−
−−
−−
=−−
−−
−−
−−
−−
−−
=−−
=−−
−−
−−
qi=1,xi=1 qi=1
Binary Independence Model
Costante perogni query
Questa è la sola quantità cheva stimata per il ranking
∏∏=== −
−⋅
−−
⋅=11 1
1
)1(
)1()|(),|(
iii q i
i
qx ii
ii
r
p
pr
rpqROxqRO
r
• Retrieval Status Value:
∑∏==== −
−=
−−
=11 )1(
)1(log
)1(
)1(log
iiii qx ii
ii
qx ii
ii
pr
rp
pr
rpRSV
Binary Independence Model
• Tutto si riduce a stimare RSV.
∑∏==== −
−=
−−
=11 )1(
)1(log
)1(
)1(log
iiii qx ii
ii
qx ii
ii
pr
rp
pr
rpRSV
∑==
=1
;ii qx
icRSV)1(
)1(log
ii
iii pr
rpc
−−
=
Come calcoliamo i ci dai dati a disposizione ?
Binary Independence Model
• Stimare i coefficienti RSV• Per ogni termine i della query osserva la tabella dei documenti rilevanti e non : Documenti
Rilevanti Non-Rilevanti Totale
Xi=1 s n-s n
Xi=0 S-s N-n-S+s N-n
Totale S N-S N
S
spi ≈ )(
)(
SN
snri −
−≈
)()(
)(log),,,(
sSnNsn
sSssSnNKci +−−−
−=≈
• Stime: Per ora, assumiamonon esistano terminiche non compaiono mai.
Binary Independence Model
Ma come si può riempire la tabella di rilevanza per ciascun termine della collezione?
Data una collezione di N documenti, posso calcolare n (il numero di documenti con Xi=1) e dunque N-n (quelli con Xi=0), ma come si stima il valore S (numero di documenti complessivamente rilevanti per la query)??
Stima di ri (P(xi=1/NR,q))
Posso approssimare N-S con N (se N>>S N-S N) . Allora, ri (prob. di un documento non rilevante data una query) è stimata da: n/N , e:
log (1– ri)/ri = log (N– ni)/ ni ≈ log N/ ni = IDF! pi (probabilità di occorrenza di wi in documenti rilevanti,
data la query) si può stimare in vari modi: Facendo selezionare all’utente alcuni documenti rilevanti di
esempio Con una costante, dipendente solo dal valore idf dei termini (i
termini più comuni nella collezione hanno probabilità più bassa di rilevanza)
Proporzionale all’occorrenza dei termini nella collezione ( i termini più frequenti in assoluto sono i più rilevanti. In generale si usa il log della frequenza)
)1(
)1(log
ii
iii pr
rpc
−−
=
21
Stima iterativa di pi (P(xi=1/R,q))
1. Assumi pi costante per tutti i termini wi della query pi = 0.5 per ogni termine presente nella query
2. Ordina i documenti della collezione sulla base dei ci (formula RSV) calcolati per tutti i termini della query, e mostra all’utente i primi |V | : Nota: se pi = 0.5 e ri ni/N allora ciIDF!
3. Si cerca di migliorare le stime di pi e ri, nel seguente modo: Si utilizza la distribuzione dei termini wi nei documenti di V.
Sia Vi il set di documenti in V che contiene wi 1. pi = |Vi| / |V|
1. Si assume che quelli non in V non siano rilevanti: ri = (ni – |Vi|) / (N – |V|)
n Torna allo step 2. e continua fino alla convergenza
pi si approssima con la distribuzione dei termini della query nei documenti recuperati
Aggiustamenti della stima
€
pi =Vi +
niN
V +1,ri =
ni −Vi +niN
N −V +1
Per piccoli valori di V e Vi (ex. Rispettivamente 0 e 1) si usano degli aggiustamenti:
Probabilistic Relevance Feedback
1. Come prima, assegna un valore costante ai pi ed estrai un primo set V di documenti.
2. Interagisci con l’utente e chiedi di selezionare alcuni documenti rilevanti e non rilevanti in V (in tal modo ottengo un subset di V’ documenti dei quali conosco S e V’-S)
3. Stima nuovamente pi e ri sulla base di questi documenti Oppure combina questa informazione con la precedente,
aumentando o diminuendo le precedenti stime
4. Ripeti, generando una successione di approssimazioni.
κκ+
+=
||
|| )1()2(
V
pVp ii
i
Conclusioni
E’ possibile ottenere delle stime di rilevanza. Tuttavia è necessario fare delle assunzioni
restrittive: Indipendenza dei termini I termini non presenti nella query non
determinano il risultato Si usa una rappresentazione booleana dei
documenti e delle query
Alcune di queste assunzioni possono essere rimosse
Rimuovere l’assunzione di indipendenza dei termini
In generale i termini non occorrono indipendentemente
Ma la stima delle dipendenze può essere molto complessa (catene di Markov)
van Rijsbergen (1979) propose un semplice modello di dipendenza
Ogni termine dipende da uno più termini
Reti Bayesiane per IR
I modelli probabilistici standard assumono che non si possa stimare P(R|D,Q) Assumono l’indipendenza fra D e Q e stimano P(D|R)
Con le Reti Bayesiane è possibile modellare una forma di dipendenza
Cosa è una Bayesian network? Un grafo aciclico diretto DAG Nodi:
Eventi, variabili aleatorie, o variabili Possono assumere valori Per semplicità, nel modell BN-IR, tali valori si assumono booleani
Archi: Modellano una dipendenza diretta fra nodi
Bayesian Networks
a b
c
a,b,c - nodi
p(c|ab) per ogni valore di a,b,c
p(a)
p(b)
• Le reti Bayesiane modellano la dipendenza fra eventi
•Inference in Bayesian Nets:•note le probabilità a priori per le radici del grafoe le probabilità condizionate (archi) si può calcolare la probabilità a priori di ogni evento condizionato.• Se sono noti i valori di verità di alcuni nodi (ad esempio, l’osservazione dell’evento b e di a) si possono ricalcolare le probabilità dei nodi
Dipendenza condizionale
€
P(c) = P(c /a)P(a) + P(c /b)P(b)
Bayesian Networks
LINK MATRIX (matrice dei collegamenti)
a b
c
p(a)
p(b)
c/ab 00 01 10 11
1
0
P(c=1/a=1,=1)
Esempio giocattolo
Depressione(g)
Esame(f)
Consegna progetto(d)
Notte insonne
(n)
Cioccolata e panna(t)
7.02.01.001.0
3.08.09.099.0
g
g
dfdffdfd
¬
¬¬¬¬
6.0
4.0
dd¬7.0
3.0
f
f
¬
9.001.0
1.099.0
t
t
gg
¬
¬
7.01.0
3.09.0
n
n
ff
¬
¬
€
P(¬ g / f ,d)LINK MATRIX
Assunzioni di Indipendenza
• Assunzione di indipendenza: P(t|g, f)=P(t|g)
• Probabilità congiunte: P(f d n g t) =P(f) P(d) P(n|f) P(g|f d) P(t|g)
Depressione(g)
Esame(f)
Consegna progetto(d)
Notte insonne
(n)
Cioccolata e panna(t)
Chained inference
Evidenza - si parte dal valore di alcuni nodi (ad es. radice)
Inferenza Si calcola la “credenza” o belief (rappresentata
eventualmente da probabilità) degli altri nodi Probabilità condizionata all’evidenza rappresentata dai
nodi “conosciuti” Due tipi di inferenza: Diagnostica o Predittiva
Complessità computazionale Per una generica rete: NP-hard
Le reti ad albero sono più facilmente trattabili Alcuni autori propongono metodi approssimati (ad
esempio basati su programmazione dinamica)
Esempio giocattolo
Depressione(g)
Esame(f)
Consegna progetto(d)
Notte insonne
(n)
Cioccolata e panna(t)
€
fd ¬ fd f¬ d ¬ f¬ d
g 0.99 0.9 0.8 0.3
¬ g 0.01 0.1 0.2 0.7
6.0
4.0
dd¬7.0
3.0
f
f
¬
9.001.0
1.099.0
t
t
gg
¬
¬
7.01.0
3.09.0
n
n
ff
¬
¬
verofalso
P(t)=0,99x0,9+0,1x0,1
vera
Modello bayesiano per IR
Obiettivo Data una richiesta di informazione da parte di un
utente (evidenza) stima la probabilità che un documento soddisfi la richiesta
Modello di Retrieval Modella i documenti come una rete (document
network) Modella il bisogno informativo come una query
network
Belief Network Model: un modello di ranking basato su Reti Bayesiane
Definizioni:K={k1, k2, ...,kt} spazio di campionamento (o spazio dei
concetti)
u K un subset di K (un concetto)
ki un termine indice (concetto elementare)
k=(k1, k2, ...,kn) nt un vettore associato ad ogni concetto u tale che gi(k)=1 ki u (pesi unitari)
ki una variabile aleatoria binaria (cioè ki0,1 ) associata al termine indice ki , t.c. ki = 1 gi(k)=1 ki u
Belief Network Model
Definizioni (2): un documento dj e una query q sono rappresentati come concetti in
K, composti dai termini indice contenuti in dj e q. Sia dunque c un concetto generico in K (documento o query) P(c)=uP(c|u) P(u) è una distribuzione di probabilità P su K P(c) è il definito come il grado di copertura dello spazio K mediante c Questa copertura è stimata confrontando ogni concetto in K (“ u”)
con c, e sommando i contributi, pesati con le probabilità dei singoli concetti u.
Si assume inizialmente equiprobabilità delle sottostringhe u in K (se ho t termini, ciascuno dei quali può essere presente o assente in u, ci sono 2t possibili modi di formare concetti u), cioè: P(u)=(1/2)t
Belief Network Model
Topologia della rete
lato query
lato documento r k =u
cq
cd1cdn
Belief Network Model
Il ranking di un documento dj rispetto ad una query q è interpretato come una relazione di corrispondenza fra concetti, e riflette il grado di copertura che il concetto dgrado di copertura che il concetto djj
fornisce al concetto q.fornisce al concetto q.
Documenti e query sono trattati nello stesso modo, cioè sono entrambi concetti nello spazio K. Assunzione:
P(dj|q) viene considerato come il rank del documento dj rispetto alla query q.
Belief Network Model
Ranking di dj
P(dj|q) = P(dj q) / P(q)
~ P(dj q)
~ u P(dj q | u) P(u)
~ u P(dj | u) P(q | u) P(u)
~ k P(dj | k) P(q | k) P(k)
Questo fattore compare in tutti iP(dj/q) dunque può essere trascurato
Assumendo q edj condizionalmenteindipendenti rispettoa u, come si evincedal grafo delledipendenze nella rete
Ogni vettore k definisce un concetto u
Belief Network Model
Dunque: P(dj|q) ~ k P(dj | k) P(q | k) P(k)
Occorre specificare le probabilità condizionate P(dj | k) e
P(q | k) . Differenti strategie per modellare P(dj | k) e
P(q | k) portano a diversi modelli di ranking.
Sussumendo un modello vettoriale per i pesi: Definisci il vettore ki come segue:
ki = k | ((gi(k)=1) (ji gj(k)=0))
Il vettore ki si riferisce ad uno stato del vettore k in cui solo il nodo ki è attivo (g(ki)=1) e tutti gli altri non lo sono. Questo riflette la strategia di ranking tf-idf, che somma individualmente il contributo di ogni keyword. Quindi, si considera il contributo di ogni termine ki singolarmente.
Belief Network Model
P(dj|q) ~ k P(dj | k) P(q | k) P(k)
Per il modello vettoriale:
Definisci (wi,q / |q|) se (k = ki ) (gi(q)=1)
P(q | k) =
0 se (k ki ) (gi(q)=0)
P(¬q | k) = 1 - P(q | k)
(wi,q / |q|) una versione normalizzata del peso del termine indice ki nella query q
q = (wi,q)2
i=1
t∑
peso tf-idf di ki in qki compare in q
Belief Network Model
Per il modello vettoriale
Definisci
(wi,j / |dj|) se (k = ki ) (gi(dj)=1)
P(dj | k) =
0 se (k ki ) (gi(dj)=0)
P(¬ dj | k) = 1 - P(dj | k)
(wi,j / |dj|) una versione normalizzata del peso del termine indice ki nel documento d,j
dj = (wi,j )2
i=1
t∑
Vantaggi del Belief Network model
Per calcolare il rank di un documento, considera solo gli stati della rete in cui i nodi attivi sono quelli che compaiono nella query, quindi il costo è lineare nel numero dei documenti della collezione
E’ una variante moderna dei metodi di ragionamento probabilistico, che consente una combinazione di distinte sorgenti di evidenza. I modelli più avanzati consentono di incorporare nel modello evidenze derivate da sessioni precedenti, e feedback dell’utente.
Reti Bayesiane per IR (un modello più complesso)
Document Network
Query Network
E’ una rete complessa, ma i calcoli vanno fatti una voltaper tutte
Rete piccola, va calcolata per ogni query
d1 dnd2
t1 t2 tn
r1 r2 r3rk
di -documenti
ti - rappresentazioni dei documentiri - “concetti”
I
q2q1
cmc2c1 ci - query concepts
qi - high-level concepts
I - goal node
Bayesian nets per IR
DocumentNetwork
d1 d2
t1 t3
c1 c3
q1 q2
i
t2
c2 QueryNetwork
Documenti
Termini
Concetti
Operatori booleani della query(AND/OR/NOT)
Bisogno informativo
P(di)
P(ti/di)
P(ci/ti)
P(qj/ci)
Esempio
Amleto Macbeth
tormento doppiezza
tormento ambiguità
OR NOT
User query
ambizione
ambizione
DocumentNetwork
QueryNetwork
Bayesian Nets per IR
Costruisci la rete dei Documenti (una sola volta !) Per ogni query
Costruisci la migliore Query Network Collegala alla Document Network Trova un sottoinsieme di documenti di’ che
massimizza il valore di probabilità del nodo I (best subset).
Restituisci i di’s come risposta alla query.
€
argmaxDk⊂D
P(I /Dk )
Stima delle probabilità
Prob. a priori dei doc:
P(d) = 0,5 P(t|d)
Es: basata su tf.idf
P(c|t) Caso semplice: =1 Si può usare un thesaurus
(dipende dall’ambiguità del termine). Per s “sensi”, 1/s
P(Q|c): dipende dalla forma della query booleana
Es:
Dettagli: http://citeseer.ist.psu.edu/turtle91inference.html H.R. Turtle and W.B. Croft. 1990. Inference Networks for Document Retrieval.
Proc. ACM SIGIR: 1-24.€
pi = P(ci = true)
POR(Q) =1− (1− p1) • (1− p2)...(1− pn)
PAND(Q) = p1 • p2....• pnPNOT (Q) =1− pi
)log(
)log(
)max(
2
1
2
1)/(
N
nN
nidftf
tfntf
nidfntftruedtruetP
i
j
ijij
iijji
==
••+===
Amleto Macbeth
tormento doppiezza
tormento ambiguità
OR NOT
User query
ambizione
ambizione
DocumentNetwork
QueryNetwork
top related