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) 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 q k1 cq lato query ki k2 kt cdn cd1 d1 dj dn ku 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 ku 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) (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) 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 i1 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 i1 (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.