Model probabilistyczny - Katedra Informatyki > Home

Download Report

Transcript Model probabilistyczny - Katedra Informatyki > Home

W. Bartkiewicz
Wprowadzenie do budowy usług
informacyjnych
Wykład 4. Model probabilistyczny wyszukiwania informacji
Uwaga: W bieżącej prezentacji obszernie wykorzystano slajdy z wykładu
„Information Retrieval and Web Search”, prowadzonego na Stanford University
przez Christophera Manninga i Prabhakara Raghavana.
Założenia modelu probabilistycznego
• Model wektorowy opierał się na algebrze liniowej. W przeciwieństwie
do niego model probabilistyczny bazuje statystyce Bayesowskiej.
– W praktyce, jak zobaczymy, oba te modele w znacznym stopniu się
pokrywają.
• Ogólna zasada tworzenia rankingu:
– Mamy kolekcję dokumentów.
– Użytkownik wykonuje zapytanie.
– Zwracana jest lista dokumentów, uporządkowanych odpowiednio dla
potrzeb informacyjnych użytkownika.
• W modelu probabilistycznym dokumenty rankingowane są według
prawdopodobieństwa relewantności dla potrzeb informacyjnych
użytkownika:
P(relewantny | dokument, zapytanie)
Krótka powtórka z podstaw
rachunku prawdopodobieństwa
• Niezależność zdarzeń
– Niech a, b będą dwoma zdarzeniami z prawdopodobieństwami P(a) i P(b).
– Zdarzenia a i b są niezależne wtedy i tylko wtedy gdy:
P(a  b) = P(a)P(b)
– W ogólności a1, a2, ... , an są niezależne wtedy i tylko wtedy gdy:
P(a1  a2  ...  an) = P(a1)P(a2)...P(an)
• Warunkowe prawdopodobieństwo zdarzeń:
– P(a | b) jest prawdopodobieństwem a pod warunkiem b, nazywanym także
prawdopodobieństwem warunkowym a przy danym b.
P(a | b) = P(a  b) / P(b)
• Niezależność warunkowa zdarzeń:
– Zdarzenia a1, ..., an są warunkowo niezależne wtedy i tylko wtedy gdy:
P(ai | aj) = P(ai) dla wszystkich i oraz j.
Krótka powtórka z podstaw
rachunku prawdopodobieństwa
• Zdarzenia niezależne – przykład:
a i b są wynikiem rzutu dwoma kostkami
P(a=5 | b=3) = P(a=5) = 1/6
• Zdarzenia zależne – przykład:
a i b są wynikiem rzutu dwoma kostkami
t jest sumą dwu rzutów
t=a+b
P(t=8 | a=2) = 1/6
P(t=8 | a=1) = 0
Krótka powtórka z podstaw
rachunku prawdopodobieństwa
gdzie a jest
zdarzeniem
nie a
Prawdopodobieństwo
warunkowe
x
y
w
z
P(a) = x + y
P(b) = w + x
P(a | b) = x / (w + x) = P(a  b) / P(b)
P(a | b) P(b) = P(a  b) = P(b | a) P(a)
Krótka powtórka z podstaw
rachunku prawdopodobieństwa
Twierdzenie Bayesa
P (a, b)  P (a  b)  P (a | b) p (b)  P (b | a ) P (a )
P (a | b) P (b)  P (b | a ) P (a )
a priori
P (b | a ) P (a )
P (b | a ) P (a )
P ( a | b) 

P (b)
 xa,a P(b | x) P( x)
a posteriori
Krótka powtórka z podstaw
rachunku prawdopodobieństwa
Twierdzenie Bayesa
Przykład
P(a | b) = x / (w+x) = x / P(b)
a Waga ponad 80 kg.
P(b | a) = x / (x+y) = x / P(a)
b Wzrost ponad 180 cm.
x = P(a  b)
x
y
w
z
Krótka powtórka z podstaw
rachunku prawdopodobieństwa
Szansa
P(a)
P( a )
S (a) 

P( a ) 1  P( a )
Zasada rankingowania
probabilistycznego
• Podstawą
teoretyczną
wszystkich
modeli
probabilistycznych
wyszukiwania
informacji
jest
tzw.
zasada
rankingowania
probabilistycznego (Probability Ranking Pronciple).
• Zgodnie z nią optymalne działanie systemu wyszukiwawczego może
zostać osiągnięte poprzez rankingowanie dokumentów zgodnie z
prawdopodobieństwem ich oceny jako relewantnych dla zapytania.
– Prawdopodobieństwa te powinny zostać oszacowane tak dokładnie, jak to
jest możliwe na podstawie dostępnych do tego celu danych.
•
Zasada rankingowania
probabilistycznego
Dla danego dokumentu d w kolekcji oznaczmy przez:
– R – zdarzenie polegające na tym, że dokument jest relewantny
– NR – zdarzenie polegające na tym, że jest on nierelewantny.
• Dla danego zapytania q i dokumentu d w kolekcji szacujemy
prawdopodobieństwo, że użytkownik uzna d za relewantny P(R|d), a
następnie
sortujemy
dokumenty
zgodnie
z
wyznaczonymi
prawdopodobieństwami.
– Zazwyczaj dokumenty ocenia się nie korzystając bezpośrednio z P(R|d), ale
z szansy S(R|d) = P(R|d) / P(NR|d).
– Ponieważ interesuje nas ranking (porównanie względne) dokumentów, na
ogół nie korzystamy nawet z szansy, ale tzw. RSV (Retrieval Status Value) –
miary proporcjonalnej do prawdopodobieństwa relewancji (RSV ~ P(R|d)).
• Założenia (dyskusyjne):
– Relewantność każdego z dokumentów jest niezależna od relewantności
innych dokumentów (tzn. każdy dokument może być rozważany w izolacji
od innych).
– Boolowski model relewancji, tzn. dokument jest albo relewantny, albo nie.
Relewancja i twierdzenie Bayesa –
podstawowe definicje
P(d | R) P( R)
P(d | NR ) P( NR )
P( R | d ) 
, P( NR | d ) 
P(d )
P(d )
P( R | d )  P( NR | d )  1
• P(R|d), P(NR|d) – prawdopodobieństwo, że dokument d jest relewantny
(nierelewantny).
• P(R), P(NR) – prawdopodobieństwo a priori wyszukania relewantnego
(nierelewantnego) dokumentu.
• P(d|R), P(d|NR) – prawdopodobieństwo wystąpienia dokumentu d w
zbiorze dokumentów relewantnych (nierelewantnych).
• P(d) – prawdopodobieństwo wystąpienia dokumentu d w kolekcji.
Model BIR
• Model BIR (Binary Independence Retrieval) jest najczęściej stosowanym
(i najprostszym) modelem probabilistycznym.
– Binary - dokumenty oraz zapytania reprezentowane są przez binarne
wektory występowania termów – 1 jeśli dany term występuje w dokumencie
(zapytaniu), 0 jeśli nie.
– Independence – termy występujące w opisie dokumentu są niezależne.
Najbardziej problematyczne założenie. W zasadzie nigdy nie jest spełnione.
• BIR opiera się
Bayesowskim.
więc
na
naiwnym
probabilistycznym
modelu
Model BIR
• Przyjmijmy, że dokumenty reprezentowane są przez binarne wektory
występowania termów x = (x1, ..., xn), przy czym xi = 1, jeśli term i
występuje w opisie dokumentu i, xi = 0, gdy nie.
– Podobnie zapytania reprezentowane są przez binarne wektory q = (q1, ..., qn).
• Dla danego zapytania q i dla każdego dokumentu wyznaczamy miarę
RSV(q, x) ~ P(R | q, x), która posłuży nam następnie do sporządzenia
rankingu dokumentów.
• Do stworzenia miary RSV wykorzystamy szansę oraz twierdzenie
Bayesa:

P ( R | q ) P ( x | R, q )



P ( R | q, x )
P( x | q)
S ( R | q, x ) 
  P ( NR | q ) P ( x | NR , q )
P ( NR | q, x )

P( x | q)
Model BIR



P ( R | q, x )
P ( R | q ) P ( x | R, q )
S ( R | q, x ) 
 
 
P( NR | q, x ) P( NR | q) P( x | NR, q)
Stałe dla danego
zapytania
Wymaga
oszacowania
• Korzystamy z założenia niezależności

n
P( xi | R, q)
P( x | R, q)


P( x | NR, q) i 1 P( xi | NR, q)
n
S ( R | q, d )  S ( R | q)  
i 1
P( xi | R, q)
P( xi | NR, q)
Model BIR
n
P( xi | R, q)
S ( R | q, d )  S ( R | q)  
i 1 P( xi | NR, q)
• Ponieważ xi jest równe albo 0 albo 1:
P( xi  1 | R, q)
P( xi  0 | R, q)
S ( R | q, d )  S ( R | q)  

xi 1 P( xi  1 | NR, q) xi 0 P( xi  0 | NR, q)
• Oznaczmy przez:
pi  P( xi  1 | R, q);
ri  P( xi  1 | NR, q);
pi
1  pi
S ( R | q, d )  S ( R | q)    
xi 1 ri
xi 0 1  ri
• Załóżmy ponadto, że dla wszystkich termów nie występujących w
zapytaniu (qi = 0) mamy: pi = ri.
Model BIR
• Załóżmy ponadto, że dla wszystkich termów nie występujących w
zapytaniu (qi = 0) mamy: pi = ri.
• Wówczas dla wszystkich termów nie występujących w zapytaniu (qi = 0)
pi / ri = 1.
S ( R | q, d )  S ( R | q )  
xi 1
 S ( R | q) 

xi  qi 1
pi
1  pi


ri xi 0 1  ri
pi
1  pi

ri xi 0 1  ri
qi 1
Model BIR

S ( R | q, x )  S ( R | q ) 

xi  qi 1
Wszystkie termy
dopasowane
S ( R | q) 

xi  qi 1
pi
1  pi

ri xi 0 1  ri
qi 1
Nie dopasowane
termy zapytania
pi
1  pi
1  ri 1  pi

 
ri xi 0 1  ri xi  qi 1 1  pi 1  ri
qi 1
pi (1  ri )
1  pi
 S ( R | q)  

xi  qi 1 ri (1  pi ) qi 1 1  ri
Wszystkie termy
dopasowane
Wszystkie termy
zapytania
Model BIR

S ( R | q, x )  S ( R | q) 
pi (1  ri )
1  pi


xi  qi 1 ri (1  pi ) qi 1 1  ri
Stałe dla
zapytania
Jedyny element, który musi
być obliczony do rankingu
• Retrieval Status Value:
pi (1  ri )
pi (1  ri )
RSV  log 
  log
ri (1  pi )
xi  qi 1
xi  qi 1 ri (1  pi )
Model BIR
pi (1  ri )
pi (1  ri )
RSV   log
  log
xi qi
ri (1  pi )
ri (1  pi )
xi  qi 1
i
RSV   ci xi qi ,
i
pi (1  ri )
ci  log
ri (1  pi )
• Pomimo, że formuła wyszukiwania probabilistycznego wygląda w
sposób złożony, widzimy, że jest to w zasadzie wariant modelu
wektorowego, wykorzystujący nieco inną formułę obliczania wag
termów niż tf*idf.
• Problemem podstawowym oczywiście jest oszacowanie współczynników
ci, niezbędnych do wyznaczenia RSV dokumentu.
Model BIR
• Załóżmy, że mamy pewien zbiór treningowy zapytań z informacją o
relewancji dokumentów, które powinny zostać wyszukane w odpowiedzi
na te zapytania.
• W takiej sytuacji możemy wyznaczyć współczynniki ci, z następującej
tabeli, sporządzanej dla każdego termu i (Robertson i Sparck Jones).
Documens Relevant
Non-Relevant Total
Xi=1
Xi=0
s
S-s
n-s
N-n-S+s
n
N-n
Total
S
N-S
N
• Oszacowania:
s
pi 
S
(n  s)
ri 
(N  S)
s
ns
(1 
)
p (1  ri )
s ( S  s)
N  S  log
ci  log i
 log S
ns
s
ri (1  pi )
(n  s) ( N  n  S  s)
(1  )
N S
S
Model BIR
• Niestety, w praktyce rzadko dysponujemy danymi dotyczącymi
relewancji.
– Wyjątkiem jest interaktywna metoda modyfikacji zapytania, z
wykorzystaniem tzw. sprzężenia relewancji. O sprzężeniu relewancji
mówić będziemy na jednym z kolejnych wykładów.
• Współczynniki ci oszacowane muszą być wówczas wyłącznie na
podstawie statystyk występowania termów w kolekcji dokumentów.
• Zazwyczaj liczba dokumentów nierelewantnych w kolekcji jest dużo
większa niż relewantnych.
– Dla dużych wartości N, prawdopodobieństwo wystąpienia termu w
dokumentach nierelewantnych może więc być szacowane przez n/N. (czyli
przy założeniu, że wszystkie dokumenty są nierelewantne).
– Wówczas mamy: log (1– ri)/ri = log (N– n)/n ≈ log N/n = IDF!
• Musimy więc obliczyć wyłącznie prawdopodobieństwo wystąpienia
termu w dokumentach relewantnych pi.
• Klasyczna metoda polega na użyciu iteracyjnej formuły, wyznaczającej
wartość pi rekurencyjnie.
Model BIR
Wstępnie inicjujemy pi jako stałe dla każdego xi w zapytaniu.
1.
–
Określamy przybliżenie zbioru dokumentów relewantnych.
2.
–
–
Wybieramy |V| dokumentów o najwyższym RSV wyznaczonym dla
danych pi i ri.
Niech Vi będzie wśród nich zbiorem dokumentów zawierających term xi.
Obliczamy kolejne przybliżenia pi i ri.
3.
–
–
4.
Ponieważ nie mamy żadnych informacji wstępnych, przyjmujemy
wszystkie pi = 0.5. Jak już wcześniej wspomnieliśmy przyjmujemy
również ri = n/N.
pi = | Xi | / |V|.
ri = (n - |Vi |) / (N-|V|)
Punkty 2 i 3 powtarzamy, aż do osiągnięcia zbieżności.