Modelli probabilistici
Ripasso:
• P(A)=P(A  B)+P(A  ¬B)
• P(A)= i P(A  Bi) , dove Bi,i è un set di eventi
esaustivo e mutuamente esclusivo
• P(A) + P(¬A) = 1
• P(A|B) probabilità di A dato B (condizionata)
• Se P(A|B)=P(A), A e B sono indipendenti
• se P(A|B  C)= P(A|C), A e B sono condizionalmente
independenti, dato C
• P(A | B)=P(B|A)P(A)/P(B) teorema di Bayes
• P(A)= i P(A | Bi)P(Bi)
Modelli probabilistici
• Obiettivo: rappresentare in termini probabilistici il problema del
recupero di informazioni
• Data una query, esiste un set di documenti che costituisce la
risposta ideale
• Una query specifica le proprietà di questo insieme ideale
• Ma quali sono queste proprietà?
• Inizialmente, si fa un tentativo di “indovinare” quste proprietà,
cioè fornire una definizione tentativa della risposta ideale
• Successivamente, un processo iterativo consente di migliorare i
risultati del tentativo iniziale
Modello probabilistico “elementare”
• In qualche modo, viene recuperato un insieme iniziale di
documenti
• L’utente osserva questi documenti - in genere i primi 10-20, e
seleziona i più rilevanti
• Il sistema di IR usa questa informazione per raffinare il set di
risposte
• Attraverso una iterazione del processo, ci si aspetta che il set di
risposte approssimi sempre di più il set ideale
• La descrizione del set di risposte ideale viene modellata in
termini probabilistici
Ranking probabilistico
• Data una query q e un documento dj, il modello probabilistico
cerca di stimare la probabilità che l’utente trovi il documento
interessante, cioè rilevante. Il modello assume che la rilevanza
dipenda solo dalla rappresentazione della richiesta dell’utente e
del documento. Il set ideale di risposte si indica con R e
dovrebbe massimizzare la probabilità di rilevanza.
• Ma,
– Come calcolare le probabilità?
– Quale è lo spazio di campionamento?
Ranking probabilistico (2)
• Il ranking probabilistico è calcolato come segue :
– sim(q,dj) = P(dj relevant-to q) / P(dj non-relevant-to q)
• Definizioni:
– dj  d j rappresentazione vettoriale di un documento
(il grassetto indica un vettore)
– wij  {0,1}
(i pesi dei termini indice sono binari)
– P(R | dj) : probabilità che un documento sia rilevante, cioè
R
– P(R | dj ): probabilità che un documento NON sia rilevante
Ranking probabilistico (3)
• sim(dj,q) = P(R | dj) / P(R | dj ) =
[P(dj | R) * P(R)] (usando la legge Bayes)
[P(dj | R) * P(R)]
P(R) è la prob. di che un documento scelto a caso sia rilevante
P(dj | R) è la probabilità di scegliere un documento dal set R
Poiché P(R) e P(R) non dipendono da dj (sono le stesse per tutti i
dj)
P(d j / R)
sim(d j , R) 
P(d j / R)
Ranking probabilistico (5)
• sim(dj,q)~ P(dj | R)
dj=(w1jk1,w2jk2,…wtjkt)
P(dj | R)
e, assumendo le keywords indipendenti:
Prob. Che le ki aventi w=1 appartengano a R, e quelle con w=0 non vi appartengano
[ ∏ wij=1 P(ki | R)] * [∏ wij=0 P(ki | R)]
[∏ wij=1 P(ki | R)] * [∏ wij=0 P(ki | R)]
Ricordate wij sono 0 o 1 !!!
• P(ki | R) : probabilità che il termine indice ki sia
presente in un documento scelto casualmente dal
set R dei documenti rilevanti
Esempio
keywords: k1,k2,k3
d=(1,1,0) w1=w2=1 w3=0
P(d/R)=P(k1/R)P(k2/R)P(k3/R)
P(d/ R)= P(k1/  R)P(k2/  R)P(k3/  R)
 P(d/R)=wi=1 P(ki/R)* wi=0 P( ki/ R)
 P(d/  R)=wi=1 P(ki/  R)* wi=0 P( ki/  R)
Ranking iniziale
• Come stimare le probabilità P(ki | R) e P(ki | R) ?
• Si assume:
– P(ki | R) = 0.5 (equiprobabilità rilevanza per tutti i termini)
– P(ki | R) = ni/N (la distribuzione dei termini indice
fra i documenti non rilevanti si può
approssimare con la distribuzione dei
termini indice fra i documenti
della collezione)
dove ni è il numero di documenti che contiene ki
– Si usa questa stima iniziale per calcolare il ranking iniziale
– Si cerca di migliorare sulla stima iniziale
Migliorare il ranking iniziale
• Sia
– V : i documenti inizialmente recuperati con la stima
approssimata, applicando una soglia r
– Vi : il sottoinsieme che contiene ki
• Rivalutare le stime come segue:
– P(ki | R) = Vi/V (approssimato con la distribuzione dei termini
indice fra i documenti recuperati)
P(ki | R) = (ni - Vi )/ (N - V ) (si assume in via approssimata
che tutti i documenti non recuperati
siano non rilevanti)
• Ripetere ricorsivamente
Aggiustamenti della stima
• Per piccoli valori di V e Vi (ex. Rispettivamente
0 e 1) si usano degli aggiustamenti:
Vi  0, 5
P(ki R) 
V 1
• O meglio:
ni  Vi  0, 5
P(ki R) 
N V 1
ni
ni
Vi 
ni  Vi 
N , P(k / R) 
N
P(ki R) 
i
V 1
N V 1
Vantaggi e svantaggi
• Vantaggi:
– Si ottiene un ranking in ordine decrescente di
probabilità di rilevanza
• Svantaggi:
– È necessaria una stima iniziale di P(ki | R)
– Non tiene conto di tf e idf, fattori che invece sono
significativi (i pesi sono 0 o 1)
Modelli Bayesiani
Bayes’ Rule : è il “cuore” delle tecniche
Bayesiane
P(h|e) = P(e|h)P(h)/ P(e)
Dove,
h : una ipotesi ed e è un’evidenza
P(h) : probabilità a priori
P(h|e) : probabilità a posteriori data l’evidenza e
P(e|h) : probabilità di osservare e se h è vera
P(e) : è una costante di normalizzazione
(indipendente da h), quindi:
P(h|e) ~ P(e|h)P(h)
Reti Bayesiane
Definizione:
le Reti Bayesiane sono grafici aciclici diretti
(DAGs) in cui i nodi rappresentano delle variabili
aleatorie gli archi rappresentano relazioni causali fra
le variabili, e la “forza” di queste relazioni causali è
espressa mediante probabilità condizionate
Reti Bayesiane
yi : nodi antenati (nell’esempio, nodi radice)
y1
y2
x : nodi figli
: yi “causa” x
Y insieme degli antenati di x
x
L’influenza di Y su x è quantificata da una
funzione:
F(x,Y) tale che x F(x,Y) = 1
0 < F(x,Y) < 1
Per esempio: F(x,Y)=P(x|Y)
yt
Reti Bayesiane
x1
Date le dipendenze causali
dichiarate in una RB,
x3
l’espressione per la probabilità
x2
congiunta può essere calcolata
come il prodotto di
x4
probabilità condizionate locali
Es: P(x1, x2, x3, x4, x5)=
P(x1 ) P(x2| x1 ) P(x3| x1 ) P(x4| x2, x3 ) P(x5| x3 ).
P(x1 ) : la probability mass del primo nodo, o prob.
a priori
x5
Reti Bayesiane
x1
In una RB ogni variabile
è condizionalmente
x2
indipendente rispetto ai suoi
non-discendenti, dati i suoi
antecedenti
x4
Esempio:
P(x4, x5| x2 , x3)= P(x4| x2 , x3) P( x5| x3)
x3
x5
Belief Network Model: un modello di
ranking basato su RB
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) nt un vettore associato ad ogni concetto u
tale che gi(k)=1  ki  u (pesi unitari)
ki una variabile aleatoria binaria (cioè ki0,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
q
k1
cq
lato query
ki
k2
kt
cdn
cd1
d1
dj
dn
ku
k u
lato documento
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 dj 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)
q
k1
ki
k2
d1
dj
kt
dn
ku
Ogni vettore k definisce un concetto u
Questo fattore
compare in tutti i
P(dj/q) dunque può
essere trascurato
Assumendo q e
dj condizionalmente
indipendenti rispetto
a u, come si evince
dal modello
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)  (ji 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)
peso tf-idf di ki in q
Per il modello vettoriale:
ki compare in q
Definisci
(wi,q / |q|)
se (k = ki ) (gi(q)=1)
0
se (k  ki ) (gi(q)=0)
P(q | k) =
q
t

(wi,q )2
i1
P(¬q | k) = 1 - P(q | k)
 (wi,q / |q|) una versione normalizzata del peso
del termine indice ki nella query q
Belief Network Model
Per il modello vettoriale
Definisci
dj 
t
(wi, j ) 2
i1

(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
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.