Introduction to Information
Retrieval
Introduction to Information
Retrieval
Wyniki dopasowania, ważenie
termów i model przestrzeni
wektorowej
1
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Wyszukiwanie z rankingiem
Dotąd wszystkie pytania były boolowskie.
Dokumenty albo pasowały albo nie.
To jest dobre dla użytkowników-ekspertów którzy
precyzyjnie znają swoje potrzeby i kolekcję.
Dobre także dla aplikacji: aplikacje mogą łatwo
przetworzyć tysiące wyników.
Nie dobre dla większości użytkowników.
Większość użytkowników nie potrafi pisać pytań
boolowskich (albo potrafią, ale myślą że to za dużo
roboty).
Większość użytkowników nie chce przedzierać się
przez tysiące wyników.
Jest to prawdą szczególnie dla wyszukiwań webowych.
2
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Problem z wyszukiwaniem
boolowskim: wszystko albo nic
Boolowskie pytania często dają za mało
wyników (=0) or lub za dużo (tysiące)
wyników.
Query 1: “zjadacz” → 225 000 trafień
Query 2: “mały podziemny zjadacz
kamyczków” : 0 trafień
Wymaga dużej wprawy zadanie pytania na
które będzie odpowiednia liczba trafień.
AND daje za mało; OR daje zbyt dużo
3
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Modele wyszukiwania z
rankingiem
Modele wyszukiwania z rankingiem
zwracają
listę dokumentów z kolekcji najlepiej
pasujących do pytania, a nie zbiór pasujący
do pytania
Pytania tekstowe
: zamiast pytań złożonych
wyrażeń języka i operatorów - jedno lub
więcej słów w języku naturalnym
W zasadzie, są to dwa oddzielne modele, ale
w praktyce rankingowe modele
wyszukiwania są używane razem z pytaniami
tekstowymi i odwrotnie
4
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Wszystko albo nic: nie ma
problemu w wyszukiwaniu
rankingowym
Kiedy system produkuje uporządkowany
zbiór wyników to duże zbiory wyników nie
są problemem
Oczywiście, rozmiar zbioru wyników nie
stwarza problemów
Pokazujemy zwykle pierwsze k ( ≈ 10) wyników
Nie przytłaczamy użytkownika
Przesłanka: algorytm rankingu działa
5
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Dopasowanie jako podstawa
wyszukiwania z rankingiem
Mamy nadzieję, że zwracamy
uporządkowane dokumenty w porządku
najbardziej prawdopodobnej użyteczności
dla użytkownika
Jak możemy uporządkować dokumenty w
kolekcji ze względu na pytanie?
Przypisać dopasowanie – powiedzmy [0, 1]
– do każdego dokumentu
To jest dopasowanie mierzące jak dobrze
dokument i pytanie są „dopasowane”.
6
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Wartość dopasowania pytanie-
dokument
Potrzebujemy metodę przypisywania
wartości dla pary pytanie/dokument
Zacznijmy od jedno-termowego pytania
Jeśli term pytania nie wystąpi w
dokumencie: wynik ma być 0
Tim częstszy jest term w dokumencie tym
wyższe dopasowanie (powinno być)
Obejrzymy kilka alternatywnych podejść.
7
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Ujęcie 1: miara Jaccarda
Przypomnienie: Powszechnie stosowana
miara nakładania się dwóch zbiorów A i B
jaccard(A,B) = |A ∩ B| / |A ∪ B|
jaccard(A,A) = 1
jaccard(A,B) = 0 if A ∩ B = 0
A i B nie muszą być takich samych
rozmiarów.
Zawsze przypisuje między 0 i 1.
8
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Miara Jaccarda: przykład
dopasowania
Jaka jest miara podobieństwa Jaccarda dla
poniższych dokumentów?
Pytanie: ides of march (idy
marcowe)
Dokument 1: caesar died in march
Dokument 2: the long march
9
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Problemy z miarą Jaccarda dla
dopasowania
Miara nie uwzględnia
częstości termów
(ile
razy term wystąpił w dokumencie)
Rzadkie termy w kolekcji niosą więcej
informacji niż częste termy. Jaccard nie
uwzględnia tej informacji
Potrzebujemy bardziej złożonego sposobu
normalizacji dla długości
Później użyjemy
. . . zamiast |A ∩ B|/|A ∪ B| (Jaccard) do
normalizacji lub normalizacji długości.
|
B
A
|
/
|
B
A
|
10
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Przypomnienie: binarna
macierz incydencji term -
dokument
Każdy dokument jest reprezentowany przez
binarny wektor ∈ {0,1}
|V|
11
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Macierze licznikoweTerm-
dokument
Rozpatrzmy liczbę wystąpień termu w
dokumencie:
Każdy dokument jest wektorem licznikowym w ℕ
v
:
kolumna poniżej
12
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Model worka słów
Reprezentacja wektorowa nie uwzględnia
porządku słów w dokumencie
John is quicker than Mary
i
Mary is quicker
than John
mają takie same wektory
Nazywamy to modelem worka słów.
W pewnym sensie jest to krok wstecz:
Indeks pozycyjny był w stanie rozróżnić te
dwa dokumenty.
Wrócimy do tego później.
Obecnie: model worka słów
13
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Częstość termów tf
Częstość termów tf
t,d
termu t w dokumencie d
definiujemy jako liczbę wystąpień t w d.
Chcemy wykorzystać tf do obliczania wartości
dopasowania pytanie-dokument. Ale jak?
Częstość termów w najprostszej postaci nie
wystarcza:
Dokument z 10 wystąpieniami jest bardziej
relewantny niż dokument z 1 wystąpieniem termu.
Ale nie dziesięć razy bardziej relewantny.
Relewancja nie rośnie proporcjonalnie ze
wzrostem częstości termów.
Uwaga: częstość =
liczność w IR
Uwaga: częstość =
liczność w IR
14
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Waga logarytmiczna częstości
Waga logarytmiczna częstości termu to
0 → 0, 1 → 1, 2 → 1.3, 10 → 2, 1000 → 4, etc.
Wynik dla pary dokument-pytanie: suma po
termach t w q i d:
wynik
Wynik jest 0 jeśli nie ma termów pytania w
dokumencie.
otherwise
0,
0
tf
if
,
tf
log
1
10
t,d
t,d
t,d
w
d
q
t
d
t
)
tf
log
(1
,
15
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Częstość dokumentów
Rzadkie termy niosą więcej informacji niż
częste
Przypomnijmy stop słowa
Rozpatrzmy term w pytaniu, który jest rzadki
w kolekcji (np.: arachnocentric)
Dokument zawierający ten term jest
najprawdopodobniej relewantny do pytania
arachnocentric
→ Potrzebujemy duże wagi dla rzadkich
termów takich jak arachnocentric.
16
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Częstość dokumentów - cd
Częste termy są mniej informacyjne niż rzadkie
Rozpatrzmy term pytania częsty w kolekcji (np.:
high, increase, line)
Jest bardziej prawdopodobne, że dokument z tym
termem jest relewantny niż bez tego termu
Ale nie jest on pewnym wskaźnikiem relewancji.
→ Dla częstych termów, potrzebujemy duże
dodatnie wagi dla słów takich jak like high,
increase, and line
Ale niższe wagi niż dla rzadkich termów.
Użyjemy w tym celu częstości dokumentów (df) .
17
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Waga idf
df
t
to częstość dokumentów dla t: liczba
dokumentów zawierających t
df
t
jest odwrotną miarą informacyjności t
df
t
N
Definiujemy idf (odwrotność częstości
dokumentów) dla t jako
Używamy log (N/df
t
) zamiast N/df
t
aby “tłumić”
efekt idf.
)
/df
(
log
idf
10
t
t
N
usuwamy podstawę logarytmu jako nieistotną.
18
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Przykład idf dla N = 1 million
term
df
t
idf
t
calpurnia
1 6
animal
100 4
sunday
1,000 3
fly
10,000 2
under
100,000 1
the
1,000,000 0
Jest jedna wartość idf dla każdego termu t w kolekcji.
)
/df
(
log
idf
10
t
t
N
19
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Wpływ idf na ranking
Czy idf wpływa na ranking pytań jedno-
termowych jak
iPhone
idf nie wpływa na ranking pytań z jednym
termem
idf wpływa na ranking pytań co najmniej dwu -
termowych
Dla pytania
capricious person
, waga idf
spowoduje wystąpień
capricious
będzie się
liczyć znacznie bardziej w końcowym rankingu
dokumentów niż wystąpienia
person
.
20
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Częstość kolekcji vs. Częstość
dokumentu
Częstość kolekcji t to liczba wystąpień t w
kolekcji, licząc wystąpienia wielokrotne.
Przykład:
Which word is a better search term (and
should Które słowo jest lepszym terminem
wyszukiwawczym (czy ma mieć wyższą
wagę)?
Słowo
Częstość kolekcji
- cf
Częstość dokumentu -
df
insurance
10440
3997
try
10422
8760
21
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Ważenie tf-idf
Waga tf-idf termu jest iloczynem jego miar tf i
idf.
Jest to najlepszy znany schemat ważenia w
wyszukiwaniu informacji
Uwaga: to “-” w tf-idf jest myślnikiem, a nie
minusem!
Inne nazwy: tf.idf, tf x idf
Wzrasta z liczbą wystąpień w dokumencie
Wzrasta z rzadkością termu w kolekcji
)
df
/
(
log
)
tf
log
1
(
w
10
,
,
t
d
t
N
d
t
22
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Ostateczny ranking
dokumentów dla pytania
23
Score
(q,d)
tf.idf
t,d
tqd
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Zmiany: binarne → licznikowe
→ ważone macierze
Każdy dokument jest teraz reprezentowany przez
wektor o składowych rzeczywistych tf-idf wag ∈ R
|
V|
24
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Dokumenty jako wektory
Więc mamy |V|-wymiarową przestrzeń
wektorową
Termy są osiami tej przestrzeni
Dokumenty są punktami lub wektorami w
tej przestrzeni
Bardzo wiele wymiarów: dziesiątki
milionów wymiarów jeśli zastosować to do
webowych silników wyszukiwawczych
To są bardzo rzadkie wektory – większość
składowych to zera.
25
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Pytania jako wektory
Kluczowa idea 1:
wykonać to samo dla pytań:
przedstaw je jako wektory w przestrzeni
Kluczowa idea 2:
utwórz ranking dokumentów
zgodnie z ich bliskością do pytania w tej
przestrzeni
Bliskość = podobieństwo wektorów
Bliskość ≈ odwrotność odległości
Przypomnienie: robimy to ponieważ chcemy
odejść od 0 lub 1 modelu boolowskiego.
Zamiast tego: rankinguj bardziej relewantne
dokumenty wyżej niż mniej relewantne
dokumenty
26
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Formalizacja bliskości w
przestrzeni wektorowej
Pierwsza myśl: odległość między dwoma
punktami
( = odległość między końcami dwóch
wektorów)
Odległość euklidesowa?
Odległość euklidesowa jest złym
pomysłem . . .
. . . Ponieważ odległość euklidesowa jest
większa
dla wektorów
o różnych
długościach
.
27
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Dlaczego odległość jest
złym pomysłem
Odległość
euklidesowa
między
q
i
d
2
jest
większa nawet jeśli
rozkład termów w
pytaniu i
q
rozkład termów w
dokumencie
d
2
są
bardzo podobne.
28
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Użyj kąta zamiast odległości
Eksperyment myślowy: weź dokument d i
doklej go do niego. Nazwij go d′.
“Semantycznie” d i d′ mają taką samą
zawartość
Odległość euklidesowa między tymi
dokumentami będzie jednak duża
Kąt między tymi dokumentami jest 0, i
odpowiada maksymalnemu podobieństwu.
Główna zasada: porządkuj dokumenty według
ich kąta z pytaniem.
29
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Od kątów do kosinusów
Następujące dwa zapisy są równoważne.
Ranking dokumentów w porządku malejącym
kąta między pytaniem i dokumentem
Ranking dokumentów w rosnącym porządku
kosinusa (pytanie, dokument)
Kosinus jest funkcją malejącą
monotonicznie dla przedziału [0
o
, 180
o
]
30
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Od kątów do kosinusów
Ale jak –
i dlaczego
– powinniśmy liczyć cosinusy?
31
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Normalizacja długości
A vector can be (length-) normalized by dividing
each of its components by its length – for this we
use the L
2
norm:
Dividing a vector by its L
2
norm makes it a unit
(length) vector (on surface of unit hypersphere)
Effect on the two documents d and d′ (d
appended to itself) from earlier slide: they have
identical vectors after length-normalization.
Long and short documents now have comparable
weights
i i
x
x
2
2
32
Introduction to Information
Retrieval
Introduction to Information
Retrieval
cosine(query,document)
V
i
i
V
i
i
V
i
i
i
d
q
d
q
d
d
q
q
d
q
d
q
d
q
1
2
1
2
1
)
,
cos(
Dot product
Unit vectors
q
i
is the tf-idf weight of term i in the query
d
i
is the tf-idf weight of term i in the document
cos(q,d) is the cosine similarity of q and d … or,
equivalently, the cosine of the angle between q and d.
33
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Cosine for length-normalized
vectors
For length-normalized vectors, cosine
similarity is simply the dot product (or
scalar product):
for q, d length-
normalized.
34
cos(
r
q ,
r
d )
r
q
r
d
q
i
d
i
i1
V
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Cosine similarity illustrated
35
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Cosine similarity amongst 3
documents
term
SaS
PaP
WH
affection
115
58
20
jealous
10
7
11
gossip
2
0
6
wuthering
0
0
38
How similar are
the novels
SaS
: Sense and
Sensibility
PaP
: Pride and
Prejudice, and
WH
: Wuthering
Heights?
Term frequencies (counts)
Note: To simplify this example, we don’t do idf weighting.
36
Introduction to Information
Retrieval
Introduction to Information
Retrieval
3 documents example contd.
Log frequency weighting
term
SaS
PaP
WH
affection
3.06
2.76
2.30
jealous
2.00
1.85
2.04
gossip
1.30
0
1.78
wutheri
ng
0
0
2.58
After length normalization
term
SaS
PaP
WH
affection
0.789
0.832
0.524
jealous
0.515
0.555
0.465
gossip
0.335
0
0.405
wutherin
g
0
0
0.588
cos(SaS,PaP)
≈
0.789 × 0.832 + 0.515 × 0.555 + 0.335 × 0.0 + 0.0 × 0.0
≈
0.94
cos(SaS,WH)
≈
0.79
cos(PaP,WH)
≈
0.69
Why do we have cos(SaS,PaP) > cos(SAS,WH)?
37
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Computing cosine scores
38
Introduction to Information
Retrieval
Introduction to Information
Retrieval
tf-idf weighting has many
variants
Columns headed ‘n’ are acronyms for weight schemes.
Why is the base of the log in idf immaterial?
39
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Weighting may differ in queries
vs documents
Many search engines allow for different
weightings for queries vs. documents
SMART Notation: denotes the combination in
use in an engine, with the notation ddd.qqq,
using the acronyms from the previous table
A very standard weighting scheme is: lnc.ltc
Document: logarithmic tf
(l as first
character)
, no idf and cosine normalization
Query: logarithmic tf (l in leftmost column),
idf (t in second column), no normalization …
A bad idea?
40
Introduction to Information
Retrieval
Introduction to Information
Retrieval
tf-idf example: lnc.ltc
Term
Query
Document
Pro
d
tf-
raw
tf-
wt
df
idf
wt
n’liz
e
tf-
raw
tf-wt
wt
n’liz
e
auto
0
0 5000 2.3
0
0
1
1
1 0.52
0
best
1
1 5000
0
1.3 1.3 0.34
0
0
0
0
0
car
1
1 1000
0
2.0 2.0 0.52
1
1
1 0.52 0.27
insuranc
e
1
1 1000 3.0 3.0 0.78
2
1.3
1.3 0.68 0.53
Document: car insurance auto insurance
Query: best car insurance
Exercise: what is N, the number of docs?
Score = 0+0+0.27+0.53 = 0.8
Doc length =
1
2
0
2
1
2
1.3
2
1.92
41
Introduction to Information
Retrieval
Introduction to Information
Retrieval
Summary – vector space
ranking
Represent the query as a weighted tf-idf
vector
Represent each document as a weighted tf-
idf vector
Compute the cosine similarity score for the
query vector and each document vector
Rank documents with respect to the query
by score
Return the top K (e.g., K = 10) to the user
42