Sys Inf 03 Manning w 07

background image

Obliczenia dla kompletnego

systemu wyszukiwania

Przypomnienie: wagi tf-idf

Waga tf-idf termu jest iloczynem jego wagi tf
i wagi idf.

To najlepszy znany system ważenia w IR

Rośnie ze wzrostem wystąpień w dokumencie

Rośnie ze wzrostem rzadkości termu w
kolekcji

)

df

/

(

log

)

tf

log

1

(

w

10

,

,

t

d

t

N

d

t

1

background image

Przypomnienie: Pytania jako
wektory

Zasada 1:

Zrób to samo z pytaniami:

przedstaw je jako wektory w przestrzeni

Zasada 2:

Rankinguj dokumenty wg ich

odległości od pytania w tej przestrzeni

odległość = podobieństwo wektorów

2

background image

Powtórzenie: kosinus(pytanie
dokument)

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(

iloczyn

Wektory jednostkowe

cos(q,d) to podobieństwo kosinusowe q i d … lub,
równoważnie, kosinus kąta między q i d.

3

background image

Nowe: obliczanie wartości
kosinusa

4

background image

Efektywny ranking kosinusowy

Znajdź K docs w kolekcji “najbliższych”
do pytania  K największych query-doc

kosinusów.

Efektywny ranking:

Obliczanie efektywne pojedynczego
kosinusa.

Efektywne wybranie K największych
wartości kosinusa.

Czy możemy to wykonać bez obliczania
wszystkich N kosinusów?

5

background image

Efektywny ranking kosinusowy

Co robimy w efekcie: rozwiązujemy
problem K-najbliższych sąsiadów dla
wektora pytania

W ogólności, nie wiemy jak to wykonać
efektywnie dla przestrzeni o dużym
wymiarze

Ale jest to rozwiązane dla krótkich i
standardowe indeksy tu pomagają

6

background image

Specjalny przypadek – pytania
bez wag

Nie ma ważenia termów pytania

Zakładamy, że każdy term pytania
występuje tylko raz

Wtedy dla rankingu nie musimy
normalizować wektora pytania

Lekkie uproszczenie algorytmu z w_06

7

background image

Szybszy kosinus: pytanie bez
wag

8

background image

Obliczanie K największych
kosinusów: wybór kontra
sortowanie

Zwykle potrzebujemy znaleźć K
najwyższych docs (w rankingu
kosinusowym dla pytania)

Nie szukamy uporządkowania
wszystkich dokumentów w kolekcji

Czy możemy wybrać docs z K
największymi kosinusami?

Niech J = liczba docs z niezerowymi
kosinusami

Szukamy K najlepszych wśród tych J

9

background image

Użycie sterty do znalezienia K
największych

Drzewo binarne, w którym każda wartość
węzła > wartości dzieci

Wymaga 2J operacji dla budowy, wtedy
każdy z K “zwycięzców” jest odczytany w
2log J krokach.

Dla J=1M, K=100, jest to około 10% kosztu
sortowania.

1

.9

.3

.8

.3

.1

.1

10

background image

Wąskie gardła

Pierwsze obliczeniowe: obliczenie kosinusa

Czy możemy uniknąć tych wszystkich
obliczeń?

Tak, ale czasami złe wyniki

Dokumenty spoza najlepszych K mogą
wejść na listę K wyjściowych docs

Czy to taka zła sytuacja?

11

background image

Kosinusowe podobieństwo jest
tylko przybliżeniem

Użytkownik ma zadanie i sformułowanie
pytania

Cosinus dopasowuje dokumenty do
pytania

Więc kosinus jest jedynie przybliżeniem
dla satysfakcji użytkownika

Jeśli dostaniemy listę K docs “bliskich” do
najlepszych K wg miary kosinusowej –
będzie dobrze

12

background image

Ogólne podejście

Znajdź zbiór składników z K < |A| << N

A nie koniecznie zawiera najlepsze K, ale ma
wiele docs bliskich najlepszemu K

Zwróć najlepsze K docs do A

Przyjmij A jako pruning (przycinanie) nie
kandydujące

To samo podejście jest także stosowane dla
innych (nie-kosinusowych) funkcji
obliczających

Pokażemy kilka schematów zgodnych z tym
podejściem

13

background image

Eliminacja indeksowa

Podstawowy algorytm z Rys 7.1
rozpatrywał tylko dokumenty zawierające
co najmniej jeden term pytania

Idźmy dalej:

Rozpatrzmy tylko termy pytania z wysokim idf

Rozpatrzmy tylko dokumenty zawierające wiele
termów pytania

14

background image

Tylko termy pytania z wysokim
idf

Dla takiego pytania jak catcher in the rye

Pamiętamy wyniki dla catcher i rye

Intuicja: in i the mają mały wpływ na
wyniki więc nie zmieniają dużo w rankingu

Korzyść:

Wystąpienia termów z małym idf mają wiele
docs  te (wiele) docs jest eliminowanych ze

zbioru kandydatów A

15

background image

Dokumenty zawierające kilka
termów pytania

Każdy dokument z co najmniej jednym
termem pytania jest kandydatem do K
wyjściowej listy

Dla wielotermowych pytań, obliczenia
tylko dla docs kilka termów pytania

Powiedzmy, co najmniej 3 z 4

Powoduje “soft conjunction” dla pytań
obserwowaną dla silników wyszukiwawczych
(wczesne Google)

Łatwa implementacja przy przechodzeniu
przez listy wystąpień

16

background image

3 z 4 termów pytania

Brutus

Caesar

Calpurnia

1

2

3

5

8

13 21 34

2

4

8 16 32 64128

13 16

Antony

3 4

8 16 32 64128

32

Wyniki obliczane tylko dla docs 8, 16 and 32.

17

background image

Listy czempionów

Oblicz wstępnie dla każdego termu t ze słownika,
r docs z najwyższymi wagami dla wystąpień t

Nazwij champion list dla t

(znane też jako fancy list lub top docs dla t)

Zauważmy, że r musi być wybierane w czasie
budowy indeksu

Więc jest możliwe, że r < K

W czasie obsługi pytania, obliczaj wyniki tylko
dla docs na champion list dla pewnych termów
pytania

Wybierz K docs z najwyższymi wynikami ze
wszystkich list

18

background image

Quantitative

Quantitative

Statyczne wyniki jakości

Chcemy aby dokumenty top-ranking były
relewantne i wiarygodne

Relewancja jest modelowana przez wynik
kosinusa

Wiarygodność jest zwykle niezależną od pytania
własnością dokumentu

Przykłady oznak wiarygodności

Wikipedia w porównaniu z innymi websites

Artykuły z pewnych gazet

Artykuł z wieloma cytowaniami

Wiele diggs, Y!buzzes or del.icio.us znaków

(Pagerank)

19

background image

Modelowanie wiarygodności

Przypisz do każdego dokumentu d
niezależny od pytania wskaźnik jakości w
[0,1]

Oznacz go przez g(d)

Więc, wielkość jak liczba cytowań jest
skalowana do [0,1]

20

background image

Wynik netto

Rozpatrzmy prosty wynik wiążący
kosinusową relewancję i wiarygodność

net-score(q,d) = g(d) + cosine(q,d)

Możemy użyć jakąś inną kombinację liniowa
zamiast powyższej

Oczywiście chodzi o jakąś funkcję tych dwóch
sygnałów zadowolenia użytkownika – później

Teraz szukamy top K docs wg net score

21

background image

Top K wg net score – szybkie
metody

Pierwsza zasada: Porządkuj wszystkie
wystąpienia wg g(d)

Ważne: to jest wspólne uporządkowanie
dla wszystkich wystąpień

Więc możemy współbieżnie przechodzić
wystąpienia termów pytania dla

Przecięcia wystąpień

Obliczenia wyniku kosinusa

22

background image

Dlaczego porządkowanie
wystąpień wg g(d)?

Dla uporządkowania wg g(d), top docs
najprawdopodobniej wcześnie pokażą się
w wynikach przeglądania list

Dla aplikacji ograniczonych czasowo
(powiedzmy, musimy zwrócić jakieś wyniki
wyszukiwania w 50 ms), to pozwala nam
przerwać przeszukiwanie wcześnie

Krótkie wyniki dla wszystkich wystąpień
dokumentów

23

background image

Listy czempionów w
uporządkowaniu g(d)

Możemy złożyć listy czempionów
uporządkowaniem g(d)

Utrzymuj dla każdego termu listę
czempionów r docs z najwyższymi g(d) +
tf-idf

td

Szukaj top-K wyników wśród dokumentów
tylko z list czempionów

24

background image

Listy high i low

Dla każdego termu utrzymujemy dwie listy
odwołań zwane high i low

Przyjmijmy, że high jest listą czempionów

Gdy przechodzimy wystąpienia dla pytania – na
początku przemierzamy tylko listy high

Jeśli otrzymamy więcej niż K docs, wybieramy top K i
stop

W przeciwnym przypadku szukamy dokumentów z list
low

Czy możemy użyć podobieństwa kosinusowego
bez globalnego g(d)

Metody podziału indeksu na dwa poziomy (tiers)

25

background image

Uporządkowanie wystąpień wg
wpływu (impact)

Chcemy obliczać wyniki tylko dla
dokumentów , które mają odpowiednio
wysoki wf

t,d

Sortujemy każdą listę wystąpień wg wf

t,d

Teraz: nie wszystkie wystąpienia są we
właściwym porządku!

Jak możemy wyliczyć wyniki aby
wyciągnąć top K?

Dwa pomysły poniżej

26

background image

1. Szybkie kończenie

Jeśli przechodzisz wystąpienia dla termu t ,
skończ po

Ustalonej liczbie r docs

lub

wf

t,d

spadnie poniżej pewnego progu

Wykonaj unie wynikowych zbiorów
wyników

Po jednym z wystąpieniu dla każdego termu z
pytania

Oblicz wyniki tylko dla dokumentów z tej
unii

27

background image

2. Termy uporządkowane wg idf

Gdy rozpatrujemy wystąpienia termów
pytania

Przeglądaj wg malejącego idf

Termy o wysokim idf prawdopodobnie
najbardziej wpływają na wynik

Podczas uaktualniania wyniku dla każdego
termu

Zakończ jeśli wynik dla doc jest relatywnie
niezmieniony

Można zastosować kosinus lub inne wyniki
netto

28

background image

Przycinanie klastrów:
preprocessing

Wybierz losowo N docs: nazwij je

liderami

Dla każdego innego dokumentu,
oblicz najbliższego lidera

Docs dołączone do lidera: to jego
następniki;

Prawdopodobnie: każdy lider ma ~
N następników.

29

background image

Przycinanie klastrów:
przetwarzanie pytań

Przetwarzaj pytania w następujący
sposób:

Dla danego pytania Q, znajdź
najbliższego lidera L.

Wyszukaj K najbliższych docs z
nastepników tego L.

30

background image

Wizualizacja

Query

Leader

Follower

31

background image

Dlaczego używamy losowe
próbkowanie

Jest szybkie

Liderzy odwzorowują rozkład danych

32

background image

Podejście ogólne

Utrzymuj każdy następnik dołączony do
b1=3 (powiedzmy) najbliższych liderów.

Z pytania, znaleźć b2=4 (powiedzmy)
najbliższych liderów i ich następniki.

Możesz powtarzać konstrukcję
lider/następnik.

33

background image

Parametryczne i strefowe
indeksy

Do tej pory dokument był sekwencją
termów

W praktyce dokumenty mają wiele części –
niektóre o specjalnym znaczeniu:

Autor

Tytuł

Data publikacji

Język

Format

etc.

Tworzą one metadane dla dokumentu

34

background image

Pola

Czasami chcemy wyszukiwać wg metadanych

Np.: znajdź docs autorstwa Williama Shakespeare
w roku 1601, zawierające alas poor Yorick

Rok = 1601 jest przykładem pola

Tak samo, nazwisko autora = shakespeare, itd

Indeks dla pól lub parametrów: wystąpienia
dla dla każdej wartości pola

Czasami tworzą drzewa zakresowe (np.: dla dat)

Pytania o pola zwykle są traktowane jako
koniunkcje

(doc musi być autorstwa shakespeare)

35

background image

Strefa

Strefa jest częścią dokumentu zawierającą
określony tekst np.:

Tytuł

Abstrakt

Literatura …

Budowane są indeksy odwrotne
pozwalające na przetwarzanie pytań

Np.: “znajdź dokumenty z merchant w
strefie tytuł i dla pytania gentle rain”

36

background image

Przykładowe indeksy strefowe

Kodowanie stref w słowniku vs. wystąpienia.

37

background image

Indeksy poziomowe

Podziel wystąpienia na hierarchię list

Najważniejsze

Najmniej ważne

Podział może być wg g(d) lub innej miary

Indeks odwrotny jest dzielony na warstwy
wg malejącej ważności

W czasie przetwarzania pytania używamy
najwyższą warstwę chyba, że nie uzyskamy
K docs

Jeśli tak przechodzimy do niższych warstw

38

background image

Przykład indeksu warstwowego

39

background image

Bliskość termów pytania

Pytania tekstowe: to zbiór termów wpisanych
do okienka pytania – typowe dla web

Użytkownicy wolą dokumenty, w których
termy z pytania są blisko siebie

Niech w będzie najmniejszym oknem w doc
zawierającym wszystkie termy pytania np.:

Dla pytania strained mercy najmniejsze okno
w doc The quality of

mercy is not strained

jest 4 (słowa)

Czy chcecie funkcję wynikową
uwzględniającą to – jak?

40

background image

Parsery pytań

Pytania tekstowe mogą tworzyć jedno lub wiecej
pytań do indeksów, np.: pytanie

rising interest

rates

Przetwarzaj pytanie jako pytanie o frazę

Jeśli <K docs zawierających frazę rising interest rates,
przetwarzaj dwa pytania o frazę rising interest i
interest rates

Jeśli ciągle mamy <K docs, przetwarzaj pytanie w
przestrzeni wektorowej rising interest rates

Rankinguj dopasowanie docs wg wyników dla
przestrzeni wektorowej

Ta sekwencja została wytworzona przez parser
pytania

41

background image

Agregacja wyników
dopasowania

Widzieliśmy, że funkcje dopasowania
mogą łączyć kosinus, statyczną jakość,
bliskość itd

Jak stwierdzić, która kombinacja jest
najlepsza?

W wielu aplikacjach – dobierane przez
ekspertów

Coraz powszechniejsze: uczenie
maszynowe

42

background image

Złożenie w całość omawianych
części

43


Document Outline


Wyszukiwarka

Podobne podstrony:
Sys Inf 03 Manning w 06
Sys Inf 03 Manning w 19
Sys Inf 03 Manning w 02
Sys Inf 03 Manning w 03
Sys Inf 03 Manning w 21
Sys Inf 03 Manning w 20
Sys Inf 03 Manning w 09
Sys Inf 03 Manning w 01
Sys Inf 03 Manning w 04
Sys Inf 03 Manning w 08
Sys Inf 03 Manning w 05
Sys Inf 03 Manning w 06
Sys Inf 03 Manning w 19
Sys Inf 03 Manning w 02
Sys Inf Manning w
opracowane pytania MSI (1), Studia Zarządzanie PWR, Zarządzanie PWR I Stopień, V Semestr, Modelowani
mechanik operator pojazdow i maszyn rolniczych 723[03] z2 07 u
mechanik operator pojazdow i maszyn rolniczych 723[03] z2 07 n

więcej podobnych podstron