Sys Inf 03 Manning w 01

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Wyszukiwanie Informacji

Wyszukiwanie informacji (IR) jest
wyszukaniem obiektów (zwykle
dokumentów) niestrukturalnych (zwykle
tekstu), które odpowiadają

potrzebie

informacyjnej

z dużych

kolekcji

(zwykle

pamiętanych w komputerach).

1

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Niestrukturalne (tekst) vs.
strukturalne (bazy danych) dane
w 1996

2

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Niestrukturalne (tekst) vs.
strukturalne (bazy danych) dane
w 2009

3

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Dane niestrukturalne w 1680
roku

Które sztuki Szekspira zawierają słowa
Brutus AND Caesar ale NOT Calpurnia?

Można przeszukać wszystkie sztuki Szekspira
dla Brutus and Caesar następnie usunąć linie
zawierające Calpurnia?

Dlaczego nie jest to dobry sposób?

Bardzo wolne (dla dużych zbiorów)

NOT Calpurnia nie jest trywialne

Inne operacje (np.: znaleźć słowo Romans blisko
countrymen
) niemożliwe do wykonania

Ranking (zwracanie najlepszych dokumentów)

Dalsze wykłady

4

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Term

-dokument

występowanie

Antony and Cleopatra

J ulius Caesar The Tempest

Hamlet

Othello

Macbeth

Antony

1

1

0

0

0

1

Brutus

1

1

0

1

0

0

Caesar

1

1

0

1

1

1

Calpurnia

0

1

0

0

0

0

Cleopatra

1

0

0

0

0

0

mercy

1

0

1

1

1

1

worser

1

0

1

1

1

0

1 jeśli sztuka
zawiera słowo, 0 w
przeciwnym
przypadku

Brutus AND Caesar ale
NOT Calpurnia

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Wektory incydencji

Mamy więc 0/1 wektory dla każdego
termu.

Budowa odpowiedzi na pytanie: wykonać
dla Brutus, Caesar and Calpurnia
(dopełnione)  bitowe AND.

110100 AND 110111 AND 101111 =
100100.

6

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Odpowiedzi na pytanie

Antony and Cleopatra, Act III,
Scene ii

Agrippa [Aside to DOMITIUS ENOBARBUS]: Why, Enobarbus,
When Antony found Julius Caesar dead,
He cried almost to roaring; and he wept
When at Philippi he found Brutus slain.

Hamlet, Act III, Scene ii

Lord Polonius: I did enact Julius Caesar I was killed i' the
Capitol; Brutus killed me.

7

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Podstawowe założenia przy
wyszukiwaniu informacji

 Kolekcja

: Ustalony zbiór dokumentów

Cel

: Wyszukanie dokumentów

zawierających informację relewantną do

potrzeby informacyjnej użytkownika i

pomóc użytkownikowi zrealizować

zadanie

8

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Klasyczny model wyszukiwania

Corpus

Zadanie

Potrzeba

inform.

Pytanie

Postać

Verbalna

Results

SEARCH

ENGINE

Query

Refineme

nt

Get rid of mice in a
politically correct
way

Info about removing mice

without killing them

How do I trap mice alive?

mouse trap

Misconception?

Mistranslation
?

Misformulation?

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Jak dobre są wyszukane
dokumenty?

Precyzja

: Ułamek wyszukanych

dokumentów, który jest relewantny do
potrzeby informacyjnej użytkownika

Kompletność

: Ułamek relewantnych

dokumentów w kolekcji, które zostały
wyszukane

Dokładniejsze definicje i miary w
przyszłości

10

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Większe kolekcje

Rozpatrzmy N = 1 million documentów,
każdy z około 1000 słowami.

Średnio 6 bajtów/słowo licząc
spacje/interpunkcję.

6GB danych w dokumentach.

Niech będzie M = 500K

różnych

termów w

tej kolekcji.

11

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Nie możemy zbudować tablicy

500K x 1M tablica ma pół -tryliona 0 i 1.

Ale ma ona nie więcej niż milion 1.

Tablica jest bardzo rzadka.

Jaka jest lepsza reprezentacja?

Możemy pamiętać tylko pozycje 1.

12

Dlaczego?

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Indeks odwrotny (lista
inwersyjna)

Dla każdego termu t, musimy pamiętać
listę wszystkich dokumentów, które
zawierają t.

Oznaczyć każdy przez docID - kolejny numer
dokumentu

Czy możemy użyć do tego tablic o stałej
długości?

13

Brutus

Calpurnia

Caesa
r

1

2

4

5

6

16 57 132

1

2

4 11 31 45 173

2

31

Co się stanie jeśli słowo Caesar
będzie dodane do dokumentu
14?

174

54101

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Indeks odwrotny

Potrzebujemy listy wystąpień o zmiennej
długości

Na dysku ciągi wystąpień są normalne i
najlepsze

W pamięci użyjemy połączone listy lub tablice
zmiennej dł.

Kompromis rozmiar/łatwość wstawiania

14

Słownik

Wystąpieni
awystostin
gs

Sortowane po docID (w przyszłości).

wystąpienie

wystąpienie

Brutus

Calpurnia

Caes
ar

1

2

4

5

6

16 57 132

1

2

4 11 31 45 173

2

31

174

54101

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Tokenizer

Strumień tokenów.

FriendsRomansCountrymen

Konstrukcja indeksu
odwrotnego

Moduły

lingwistyczne

Zmodyfikowane tokeny

friend roman countryman

Indekser

Indeks odwrotny.

friend

roman

countryman

2

4

2

13

16

1

Indeksowane
dokumenty

Friends, Romans, countrymen.

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Kroki indeksera: Sekwencja
Tokenów

Sekwencja par (Zmodyfikowany token,

Dokument ID)

I did enact Julius

Caesar I was killed

i' the Capitol;

Brutus killed me.

Dok 1

So let it be with

Caesar. The noble

Brutus hath told you

Caesar was ambitious

Dok 2

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Kroki indeksera: Sortowanie

Sortowanie wg termów

Następnie wg docID

Podstawowy krok indeksera

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Kroki indeksera: Słownik &
Wystąpienia

Wielokrotne

wystąpienie termu w

dokumencie jest

łączone.

Podział na Słownik i

wystąpienia

Częstość dokumentów

jest dodawana.

później

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Co obciąża pamięć?

19

Pointers

Term

y

i

liczni

ki

później:
•Jak
indeksować
efektywnie?
•Ile pamięci
potrzebujemy
?

Listy

docID

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Indeks jest zbudowany

Jak przetwarzamy pytanie?

Później – jakie rodzaje pytań możemy
przetwarzać?

20

obecni

e

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Przetwarzanie pytań: AND

Rozpatrzmy przetwarzanie pytania:

Brutus AND Caesar

Znajdź Brutus w Słowniku;

Wyszukaj jego wystąpienia.

Znajdź Caesar w słowniku;

Wyszukaj jego wystąpienia.

“Merge” te dwa wystąpienia:

21

128

34

2

4

8

16

32

64

1

2

3

5

8

1
3

21

Brutus

Caesar

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Łączenie

Przejdź przez oba wystąpienia
jednocześnie, w czasie liniowym od
całkowitej liczby wejść wystąpień

22

34

128

2

4

8

16

32

64

1

2

3

5

8

13

21

128

34

2

4

8

16

32

64

1

2

3

5

8

13

21

Brutus

Caesar

2

8

Jeśli długości list list są x i y, to łączenie wymaga O(x+y)
operacji.

Decydujące: wystąpienia sortowane wg docID.

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Przecięcie dwóch list wystąpień
( “merge” algorytm)

23

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Boolowskie pytania: Dokładne
dopasowanie

Boolowski model

wyszukiwania może odpowiadać

na pytania będące wyrażeniami Boolowskimi:

Boolowskie Pytania to pytania używające AND, OR and
NOT do łączenia termów

Przegląda każdy dokument jako zbiór słów

Jest precyzyjny: dokument spełnia warunki lub nie.

Być może najprostszy model do budowy systemów
wyszukiwania

Główne komercyjne narzędzie wyszukiwawcze
przez 3 dekady.

Wiele systemów dalej używa model Boolowski:

Email, library catalog, Mac OS X Spotlight

24

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Przykład: WestLaw

http://www.westlaw.com/

Największy komercyjny (użytkownicy płacą)
prawny serwis wyszukiwawczy (start 1975;
ranking dodany 1992)

Dziesiątki terabajtów danych; 700,000 użytk.

Większość użytkowników ciągle używa
boolowskie pytania

Przykładowe pytanie:

What is the statute of limitations in cases
involving the federal tort claims act?

LIMIT! /3 STATUTE ACTION /S FEDERAL /2 TORT /3
CLAIM

/3 = w 3 słowach, /S = w tym samym zdaniu

25

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Przykład: WestLaw

http://www.westlaw.com/

Kolejne pytanie przykładowe:

Requirements for disabled people to be able to access
a workplace

disabl! /p access! /s work-site work-place
(employment /3 place

Uwaga SPACE jest dysjunkcją nie koniunkcją!

Długie precyzyjne pytana; operatory bliskości;
stopniowo rozbudowywane; inaczej niż web
search

Wielu profesionalistów ciągle lubi wyszukiwanie
boolowskie

Wiesz dokładnie co dostajesz

Ale to nie znaczy, że to dobrze pracuje….

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Łączenie

Co będzie z wyrażeniem boolowskim?
(Brutus OR Caesar) AND NOT
(Antony OR Cleopatra)

Czy możemy zawsze łączyć w „liniowym”
czasie?

Liniowym od czego?

Jak możemy ulepszać?

27

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Optymalizacja zapytań

Jaki jest najlepszy porządek
przetwarzania zapytań?

Rozpatrzmy pytanie AND z n termami.

Dla każdego z n termów, weź jego
wystąpienia, następnie AND wszystkich.

Brutus

Caesar

Calpurnia

1

2

3

5

8

16 21 34

2

4

8 16 32 64 128

13 16

Pytanie:

Brutus AND Calpurnia AND Caesar

28

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Przykład optymalizacji pytania

Przetwarzaj w porządku rosnacej częstości:

Startuj od najmniejszego zbioru, następnie
przechodź dalej
.

29

Dlatego pamiętamy

częstości dok. słowniku

Przetwarzaj pytanie jako (Calpurnia AND Brutus) AND Caesar.

Brutus

Caesar

Calpurnia

1

2

3

5

8

16 21 34

2

4

8 16 32 64 128

13 16

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Bardziej ogólna optymalizacja

Np.:, (madding OR crowd) AND
(ignoble OR strife)

Weź częstości dla wszystkich termów.

Oceń rozmiar każdego OR przez sumę
ich częstości dokumentów.

Przetwarzaj wg rosnącego rozmiaru OR.

30

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Co poza szukaniem termów?

Co z frazami?

Stanford University

Bliskość: znajdź Gates NEAR Microsoft.

Potrzebny jest indeks do pamiętania pozycji
informavcji w dokumentach.

Strefy w dokumentach: wyszukaj
dokumenty z (author = Ullman) AND (text
contains automata).

31

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Pamiętanie cech dokumentów

1 vs. 0 wystąpień termu

2 vs. 1 wystąpienie

3 vs. 2 wystąpienia, itd.

Zwykle więcej to lepiej

Potrzebujemy informacje o częstościach
termów w dokumentach

32

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Ranking wyników
wyszukiwania

Pytania boolowskie dają w wynik zbiór
dokumentów.

Często potrzebujemy ranking/grupowanie
wyników

Potrzebna miara odległości pytania od każdego
dokumentu.

Musimy decydować czy dokumenty są
oddzielone czy ich grupy pokrywają pewne
aspekty pytania.

33

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Wyszukiwanie informacji a bazy
danych:
Strukturalne a niestrukturalne
dane

Strukturalne dane zwykle podają
informacje w „tablicach”

34

Employee

Manager

Salary

Smith

Jones

50000

Chang

Smith

60000

50000

Ivy

Smith

Zwykle pozwalają na pytania o zakres numeryczny i
dokładne szukanie dla tekstu, np,
Salary < 60000 AND Manager = Smith.

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Niestrukturalne dane

Zwykle chodzi o dowolny tekst.

Można

Słowa kluczowe w pytaniach i operatory

Bardziej skomplikowane koncepcyjnie pytania
np.:,

Wyszukaj wszystkie web pages na temat drug abuse

Klasyczny model przeszukiwania
dokumentów tekstowych

35

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Semi-strukturalne dane

Faktycznie prawie nie ma danych
niestrukturalnych

Np.: ten slajd ma dwie oddzielnie
oznaczone strefy Tytuł i Treść

Daje to możliwość „semi-strukturalnego”
jak np.:

Tytuł zawiera data AND Treść zawiera search

… Nie mówimy obecnie o strukturze

lingwistycznej

36

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Bardziej zaawansowane
wyszukiwanie semi-
strukturalne

Tytuł jest o Object Oriented Programming
AND Autor jest jak nie*czak

gdzie * to wild-card operator

Problemy:

Jak przetwarzać „o”?

Jak tworzyć ranking wyników?

Wyszukiwanie dla XML później

37

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Klastering (grupowanie),
klasyfikacja i ranking

Grupowanie:

Dla danego zbioru

dokumentów, utworzyć grupy bazując na
zawartości dokumentów.

Klasyfikacja:

Dla danego zbioru tematów i

nowego dokumentu D, zdecydować do
którego tematu( tematów) D należy.

Ranking:

Tworzenie najlepszego porządku

dokumentów np.: dla zbioru wyników
wyszukiwania.

38

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Web i jego wyzwania

Niezwykłe i rozproszone dokumenty

Niezwykli i rozproszeni użytkownicy, pytania,
potrzeby informacyjne

Poza termami, idee dotyczące sieci
społecznych

Analiza linków, przetwarzanie strumieniowe

...

Jak pracują search engines (silniki
wyszukiwawcze)? Jak je doskonalić?

39

background image

Introduction to Information
Retrieval

Introduction to Information
Retrieval

Bardziej zaawansowane
wyszukiwanie informacji

Wyszukiwanie wielojęzyczne Cross-
language information retrieval (CLER)

Odpowiadanie na pytania

Streszczenia

Eksploracja tekstu (Text mining)

40


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 07
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 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 03 Manning w 07
Sys Inf Manning w
higienistka stomatologiczna 322[03] z3 01 n
garbarz skor 744[03] z3 01 u
gornik odkrywkowej eksploatacji zloz 711[03] z2 01 u

więcej podobnych podstron