Metodi di ranking probabilistici
P(relevante|documentoi, query) 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 ordine di probabilità di rilevanza rispetto all’informazione richiesta: P(relevante|documentoi, query)
Richiami Date due variabili aleatorie a e b: Regola di Bayes Odds: Probabilità a priori Probabilità a posteriori
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. Si vuole stimare p(R|x) - la probablità che x sia rilevante. p(R),p(NR) - prob. a priori di recuperare un documento (non) rilevante p(x|R), p(x|NR) - probabilità che, se si trova un documento rilevante (non-rilevante), sia x.
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 In addition to the “document independence assumption” on previous slide, we have a “term independence assumption”: terms’ contributions to relevance are treated as independent events. Okapi is one particular way of estimating probability given tf, df, and length.
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!
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”:
Binary Independence Model Costante per ogni query Va stimato Si usa l’assunzione di Indipendenza : Dunque :
Binary Independence Model: effetto dell’inversione xn R q d x1 x2 xi
Binary Independence Model Ma xi (componente del vettore binario associata a wi) è o 0 o 1: Sia Si assume, per tutti i termini che non occorrono nella query: allora...
Binary Independence Model Q= 1 1 1 0 0 0 D= 1 1 0 0 0 1
Esempio Q= 1 1 1 0 0 0 D= 1 1 0 0 0 1 qi=1,xi=1 qi=1
Binary Independence Model Questa è la sola quantità che va stimata per il ranking Costante per ogni query Retrieval Status Value:
Binary Independence Model Tutto si riduce a stimare RSV. Used to say: Linear Discriminant Function, because it is a linear function in terms of log probabilities, but maybe that’s too far afield for here, and is better discussed later 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 : Prabhakar wanted the add 0.5 explained. Here or elsewhere? Log odds ratio. Add 0.5 to every expression Stime: Per ora, assumiamo non esistano termini che 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)
Stima iterativa di pi (P(xi=1/R,q)) Assumi pi costante per tutti i termini wi della query pi = 0.5 per ogni termine presente nella query 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! 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 pi = |Vi| / |V| Si assume che quelli non in V non siano rilevanti: ri = (ni – |Vi|) / (N – |V|) 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 Per piccoli valori di V e Vi (ex. Rispettivamente 0 e 1) si usano degli aggiustamenti:
Probabilistic Relevance Feedback Come prima, assegna un valore costante ai pi ed estrai un primo set V di documenti. 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) Stima nuovamente pi e ri sulla base di questi documenti Oppure combina questa informazione con la precedente, aumentando o diminuendo le precedenti stime Ripeti, generando una successione di approssimazioni. explicit Bayesian smoothing with a prior
Conclusioni Alcune di queste assunzioni possono essere rimosse 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 But note that this is a pseudo difference, since it will also internally use independences and inversions just like the standard model, but more flexibly
Bayesian Networks a,b,c - nodi Inference in Bayesian Nets: a b c Le reti Bayesiane modellano la dipendenza fra eventi Inference in Bayesian Nets: note le probabilità a priori per le radici del grafo e 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 p(a) p(b) a b Dipendenza condizionale c p(c|ab) per ogni valore di a,b,c
Bayesian Networks LINK MATRIX (matrice dei collegamenti) a b c p(a) p(b) P(c=1/a=1,=1) c/ab 00 01 10 11 1
Esempio giocattolo Consegna progetto Esame (d) (f) Notte Depressione insonne (n) Cioccolata e panna (t) LINK MATRIX
Assunzioni di Indipendenza Depressione (g) Esame (f) Consegna progetto (d) Notte insonne (n) Cioccolata e panna (t) 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)
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 Consegna progetto Esame (d) (f) vera Notte Depressione (g) Esame (f) Consegna progetto (d) Notte insonne (n) Cioccolata e panna (t) vero falso vera P(t)=0,99x0,9+0,1x0,1
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 cq cd1 cdn
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) Questo fattore compare in tutti i P(dj/q) dunque può essere trascurato 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) Assumendo q e dj condizionalmente indipendenti rispetto a u, come si evince dal grafo delle dipendenze 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 peso tf-idf di ki in q ki 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
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 volta per tutte Rete piccola, va calcolata per ogni query d1 dn d2 t1 t2 tn r1 r2 r3 rk di -documenti ti - rappresentazioni dei documenti ri - “concetti” I q2 q1 cm c2 c1 ci - query concepts qi - high-level concepts I - goal node
Bayesian nets per IR d1 d2 t1 t3 c1 c3 q1 q2 i t2 c2 Query Network P(di) d1 d2 t1 t3 c1 c3 q1 q2 i t2 c2 Query Network Documenti Termini Concetti Operatori booleani della query (AND/OR/NOT) Bisogno informativo Document Network P(ti/di) P(ci/ti) P(qj/ci)
Esempio Macbeth Document Network Query Network OR NOT User query Amleto Macbeth Document Network tormento ambizione doppiezza tormento ambizione ambiguità Query Network OR NOT User query
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.
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.
Macbeth Document Network Query Network OR NOT User query Amleto tormento ambizione doppiezza tormento ambizione ambiguità Query Network OR NOT User query