• Nie Znaleziono Wyników

SYSTEMY SYSTEMY WYSZUKIWANIA WYSZUKIWANIA INFORMACJIINFORMACJI

N/A
N/A
Protected

Academic year: 2021

Share "SYSTEMY SYSTEMY WYSZUKIWANIA WYSZUKIWANIA INFORMACJIINFORMACJI"

Copied!
19
0
0

Pełen tekst

(1)

SYSTEMY SYSTEMY

WYSZUKIWANIA WYSZUKIWANIA

INFORMACJI INFORMACJI

METODA DOYLE’A METODA DOYLE’A

Łukasz Kajzer, WSTI GR. 5CZ, styczeń 2007

(2)

Trochę czystej teorii…

Trochę czystej teorii…

Metoda Doyle'a Metoda Doyle'a to metoda wyszukiwania to metoda wyszukiwania informacji w bazie danych.

informacji w bazie danych.

 Na początek przedstawię algorytm Na początek przedstawię algorytm

słowny tej metody, a później zajmiemy słowny tej metody, a później zajmiemy

się konkretnym przykładem

się konkretnym przykładem  

(3)

Algorytm słowny Doyle’a Algorytm słowny Doyle’a

1.1. Dokonujemy wstępnego podziału dokumentów na m Dokonujemy wstępnego podziału dokumentów na m grup.

grup.

2.2. Dla każdej z grup wypisujemy zbiór obiektów ją Dla każdej z grup wypisujemy zbiór obiektów ją tworzących - Sj, oraz zbiór deskryptorów

tworzących - Sj, oraz zbiór deskryptorów

występujących w opisach dokumentów tejże grupy - występujących w opisach dokumentów tejże grupy -

Cj; gdzie j oznacza numer grupy. Następnie dla Cj; gdzie j oznacza numer grupy. Następnie dla

każdej z grup zliczamy ilość deskryptorów każdej z grup zliczamy ilość deskryptorów

opisujących jej elementy; zapamiętujemy największą opisujących jej elementy; zapamiętujemy największą

wartość i inkrementujemy ją - otrzymamy wartość wartość i inkrementujemy ją - otrzymamy wartość

bazową – b.

bazową – b.

(4)

Algorytm słowny Doyle’a Algorytm słowny Doyle’a

3.3. Dla każdego deskryptora, każdej z grup, dokonujemy Dla każdego deskryptora, każdej z grup, dokonujemy zliczenia liczby wystąpień danego deskryptora w

zliczenia liczby wystąpień danego deskryptora w opisach dokumentów tejże grupy. Tworzymy w ten opisach dokumentów tejże grupy. Tworzymy w ten

sposób wektor częstości i oznaczamy (dla j-tej grupy) sposób wektor częstości i oznaczamy (dla j-tej grupy)

przez Fj.

przez Fj.

4.4. W ramach grupy przydzielamy każdemu z W ramach grupy przydzielamy każdemu z

deskryptorów odpowiednią rangę. Rangę 1 otrzymuje deskryptorów odpowiednią rangę. Rangę 1 otrzymuje

deskryptor o największej częstości wystąpień, rangę deskryptor o największej częstości wystąpień, rangę

2 kolejny, itd. W przypadku takiej samej częstości 2 kolejny, itd. W przypadku takiej samej częstości

wystąpień dla dwu, lub więcej, deskryptorów wystąpień dla dwu, lub więcej, deskryptorów

przydzielamy im tą samą rangę. Otrzymujemy wektor przydzielamy im tą samą rangę. Otrzymujemy wektor

rangi opisujący grupę i oznaczamy przez Rj.

rangi opisujący grupę i oznaczamy przez Rj.

(5)

Algorytm słowny Doyle’a Algorytm słowny Doyle’a

5.5. Kolejnym krokiem jest obliczenie wektora profilu Kolejnym krokiem jest obliczenie wektora profilu grupy - Pj. Poszczególne współrzędne wektora grupy - Pj. Poszczególne współrzędne wektora

otrzymamy poprzez wyliczenie różnicy pomiędzy otrzymamy poprzez wyliczenie różnicy pomiędzy

wartością bazową – b a rangą, dla każdego z wartością bazową – b a rangą, dla każdego z

deskryptorów.

deskryptorów.

6.6. Obliczamy wartość funkcji punktującej – g(di,Pj) dla Obliczamy wartość funkcji punktującej – g(di,Pj) dla każdego dokumentu i każdego profilu. Wartość

każdego dokumentu i każdego profilu. Wartość

funkcji punktującej jest sumą wartości współrzędnych funkcji punktującej jest sumą wartości współrzędnych

wektora profilu, odpowiadającym deskryptorom wektora profilu, odpowiadającym deskryptorom

opisującym system, dla tegoż dokumentu w danej opisującym system, dla tegoż dokumentu w danej grupie. Obliczamy wartość funkcji punktującej dla grupie. Obliczamy wartość funkcji punktującej dla

każdego dokumentu z każdym profilem.

każdego dokumentu z każdym profilem.

(6)

Algorytm słowny Doyle’a Algorytm słowny Doyle’a

7.7. Dla każdego dokumentu zapamiętujemy największą wartość Dla każdego dokumentu zapamiętujemy największą wartość funkcji g(di,Pj), oraz numer profilu, z którym ją uzyskano.

funkcji g(di,Pj), oraz numer profilu, z którym ją uzyskano.

8.8. Dla każdej z grup dokonujemy obliczenia współczynnika Hj, Dla każdej z grup dokonujemy obliczenia współczynnika Hj, gdzie Hj = max(g(di,Pj)).

gdzie Hj = max(g(di,Pj)).

9.9. Obliczamy wartość progową funkcji punktującej dla każdej z Obliczamy wartość progową funkcji punktującej dla każdej z grup:

grup:

gdzie T jest założoną wartością progowa, a jest gdzie T jest założoną wartością progowa, a jest

nazywana mocą związania dokumentów w grupę, 0< <1. nazywana mocą związania dokumentów w grupę, 0< <1. Jednym ze sposobów obliczenia wartości T polega na Jednym ze sposobów obliczenia wartości T polega na obliczeniu jej z wzoru: T =

obliczeniu jej z wzoru: T = max[max(g(di,Pj))+min(g(di,Pj))] div 2.

max[max(g(di,Pj))+min(g(di,Pj))] div 2.

(7)

Algorytm słowny Doyle’a Algorytm słowny Doyle’a

7.7. Następnym krokiem jest utworzenie grup poprawionych (j-tą Następnym krokiem jest utworzenie grup poprawionych (j-tą grupę poprawioną oznaczamy przez Sj’). Na grupę Sj’

grupę poprawioną oznaczamy przez Sj’). Na grupę Sj’

składają się takie dokumenty, których wartość funkcji składają się takie dokumenty, których wartość funkcji punktującej z profilem Pj jest większa od wyliczonej punktującej z profilem Pj jest większa od wyliczonej uprzednio wartości Tj.

uprzednio wartości Tj.

8.8. W ten sposób oprócz zakładanych wcześniej m grup W ten sposób oprócz zakładanych wcześniej m grup otrzymaliśmy jeszcze jedną grupę, na którą składają się otrzymaliśmy jeszcze jedną grupę, na którą składają się

dokumenty, które w procesie grupowania nie znalazły się w dokumenty, które w procesie grupowania nie znalazły się w żadnej z utworzonych grup. Grupę tą nazywamy grupą

żadnej z utworzonych grup. Grupę tą nazywamy grupą dokumentów swobodnych.

dokumentów swobodnych.

9.9. Algorytm należy powtarzać do momentu, w którym skład Algorytm należy powtarzać do momentu, w którym skład utworzonych grup nie ulegnie zmianie.

utworzonych grup nie ulegnie zmianie.

(8)

no to może konkrety :) no to może konkrety :)

 Pewnie wielu z Was pomyśli sobie teraz – Pewnie wielu z Was pomyśli sobie teraz –

„ Ale o co chodzi ??”.

„ Ale o co chodzi ??”.

Znam to doskonale – moje początki także Znam to doskonale – moje początki także były trudne. Czas więc rozwiać wszelakie były trudne. Czas więc rozwiać wszelakie

wątpliwości pokazując algorytm Doyle’a wątpliwości pokazując algorytm Doyle’a

krok po kroku na przykładzie.

krok po kroku na przykładzie.

Pozostało wziąć głęboki wdech i Pozostało wziąć głęboki wdech i

zaczynamy…

zaczynamy…

(9)

UWAGA ! ! ! UWAGA ! ! !

Słownictwo użyte podczas przykładu Słownictwo użyte podczas przykładu

NIE JEST NIE JEST

prawidłowym słownictwem w Systemach prawidłowym słownictwem w Systemach Wyszukiwania Informacji, jednakże pozwala Wyszukiwania Informacji, jednakże pozwala

szybko i prosto zrozumieć praktyczne szybko i prosto zrozumieć praktyczne rozwiązywanie problemów metodą Doyle’a.

rozwiązywanie problemów metodą Doyle’a.

Wszystkie stwierdzenia potoczne należy odnieść Wszystkie stwierdzenia potoczne należy odnieść

w kontekście przedstawionego Algorytmu w kontekście przedstawionego Algorytmu

Słownego !!!

Słownego !!!

(10)

Przykład zastosowania Przykład zastosowania

metody Doyle’a metody Doyle’a

 Rzeczy, które znać musimy przed Rzeczy, które znać musimy przed

przystąpieniem do wyjaśnienia (dla osób, przystąpieniem do wyjaśnienia (dla osób, które od razu przejdą do tego podpunktu) które od razu przejdą do tego podpunktu)

S S

jj

– wektor dokumentów – wektor dokumentów

C C

jj

– wektor pojęć – wektor pojęć

R R

jj

– wektor rang – wektor rang

P P

jj

– profil (odpowiednik centroidu) – profil (odpowiednik centroidu)

F F

jj

– wektor częstotliwości – wektor częstotliwości

(11)

Tak wygląda przykładowy Tak wygląda przykładowy

zadany nam problem zadany nam problem

w postaci tabeli…

w postaci tabeli…

c1 c2 c3 c4 c5 c6 c7 c8 c9 c10

d1 d2 d3 d4 d5 d6 d7 d8 d9

1 1 1 1

1 1 1

1 1 1

1 1 1

1 1 1

1 1 1

1 1 1

1 1 1

1

(12)

Pierwszym krokiem jest Pierwszym krokiem jest

ustalenie sobie grup S ustalenie sobie grup S

c1 c2 c3 c4 c5 c6 c7 c8 c9 c10

d1

1

d2 d3 d4 d5 d6 d7 d8 d9

1

1 1

1 1

1 1 1

1 1 1

1 1 1

1 1 1

1 1 1

1 1 1

1 1 1

S

1

S

2

S

3

(13)

W kolejnym kroku tworzymy tabele, w której W kolejnym kroku tworzymy tabele, w której

reprezentujemy podane na początku wartości reprezentujemy podane na początku wartości SSjj – ta kolumna symbolizuje numer grupy (u – ta kolumna symbolizuje numer grupy (u nas nas 1,2,3)1,2,3)

CCjj – wektor pojęć, czyli spisujemy w kolumnie, – wektor pojęć, czyli spisujemy w kolumnie, które C mieszczą się w konkretnych

które C mieszczą się w konkretnych grupach

grupach

FFjj – wektor częstotliwości to nic innego jak – wektor częstotliwości to nic innego jak

liczba „1” występująca w danej kolumnie liczba „1” występująca w danej kolumnie CC

PPjj – profil to różnica pomiędzy wartością – profil to różnica pomiędzy wartością bazową

bazową (łatwo ją wyznaczyć, gdyż jest do (łatwo ją wyznaczyć, gdyż jest do wartość

wartość najdłuższego wektora C z grup najdłuższego wektora C z grup powiększona o 1) a wektorem rang…

powiększona o 1) a wektorem rang…

RRj j ––rangi przypisuje się podobnie jak pozycje w rangi przypisuje się podobnie jak pozycje w zawodach sportowych – im większy

zawodach sportowych – im większy wektor

wektor częstotliwości, tym wyższa ranga (1 częstotliwości, tym wyższa ranga (1 oznacza najwyższą)

oznacza najwyższą)

(14)

Tak prezentuje się nasza tabela Tak prezentuje się nasza tabela zgodnie z poprzednimi założeniami zgodnie z poprzednimi założeniami

S1 C1 F1 R1 P1 S2 C2 F2 R2 P2 S3 C3 F3 R3 P3 d1 C1 2 1 5 d4 C4 1 3 3 d7 C6 2 2 4 d2 C2 2 1 5 d5 C5 2 2 4 d8 C8 2 2 4 d3 C3 2 1 5 d6 C6 2 2 4 d9 C9 3 1 5

C4 2 1 5 C7 3 1 5 C

10 2 2 4 C8 1 3 3

(15)

Na podstawie poprzedniej tabelki generujemy Na podstawie poprzedniej tabelki generujemy

kolejną tzw. funkcję punktującą g(d

kolejną tzw. funkcję punktującą g(dii,P,Pjj). ).

Jak to wygląda praktycznie ? Jak to wygląda praktycznie ?

Otóż bierzemy rząd np. d

Otóż bierzemy rząd np. d1 1 a następnie a następnie sumujemy wszystkie wartości P

sumujemy wszystkie wartości P11 z tabeli biorąc z tabeli biorąc pod uwagę te wektory C w których „1”

pod uwagę te wektory C w których „1”

występuje w danym rzędzie. Ponieważ „1”

występuje w danym rzędzie. Ponieważ „1”

mamy w C

mamy w C11, C, C33, C, C4 4 których wartość Pktórych wartość P11 dla dla

wszystkich jest 5, więc suma 5+5+5 daje nam wszystkich jest 5, więc suma 5+5+5 daje nam

15 co umieszczamy w tabeli. Analogicznie 15 co umieszczamy w tabeli. Analogicznie

postępujemy z d

postępujemy z dxx w pozostałych grupach. w pozostałych grupach.

(16)

Musimy stworzyć taką oto tabelę, Musimy stworzyć taką oto tabelę,

a następnie wyznaczyć H

a następnie wyznaczyć H

maxmax

P1 P2 P3

d1 15 3 0

d2 10 0 0

d3 15 3 0

d4 0 13 4

d5 5 12 4

d6 0 12 4

d7 0 4 13

d8 0 3 13

d9 0 7 13

(17)

HHmaxmax wyznacza największa wartość funkcji wyznacza największa wartość funkcji punktującej dla danej grupy (u nas P

punktującej dla danej grupy (u nas P1115, 15, PP2213, P13, P3313)13)

Obszary zaznaczone na czerwono to wartości Obszary zaznaczone na czerwono to wartości

mieszczące się w zakresie wartości mieszczące się w zakresie wartości

uśrednionej.

uśrednionej.

Wartość uśredniona, można przyjąć, iż jest to Wartość uśredniona, można przyjąć, iż jest to

(max+min)/2 co dla naszego przypadku (max+min)/2 co dla naszego przypadku

wyznacza wartość 9 ((15+3)/2=9) wyznacza wartość 9 ((15+3)/2=9)

Wykorzystamy ją teraz do wyznaczenia progu Wykorzystamy ją teraz do wyznaczenia progu

klasyfikacji klasyfikacji

T T

jj

= H = H

jj

α α (H (H

jj

– T) – T)

αα to tzw. czynnik skalujący przyjmowany empirycznie to tzw. czynnik skalujący przyjmowany empirycznie pomiędzy 0 a 1

pomiędzy 0 a 1

(18)

Wyznaczamy kolejne T

Wyznaczamy kolejne T11, T, T22, T, T33 dla dla poszczególnych grup tj.

poszczególnych grup tj.

TT11 = 15 - 0,5 (15 – 9) = 15 – 3 = 12 = 15 - 0,5 (15 – 9) = 15 – 3 = 12 TT2 2 = 13 – 0,5 (13 – 9) = 13 – 2 = 11= 13 – 0,5 (13 – 9) = 13 – 2 = 11 TT33 = 13 – 0,5 (13 – 9) = 13 – 2 = 11 = 13 – 0,5 (13 – 9) = 13 – 2 = 11 a następnie sprawdzamy czy funkcja a następnie sprawdzamy czy funkcja

punktująca jest > od T punktująca jest > od Tjj

g (dg (dii,P,Pjj) ≥ T) ≥ Tjj więc:

więc:

SS11′′ = {d = {d11,d,d33}} SS22′′ = {d = {d44,d,d55,d,d66}}

SS33′′ = = {d{d77,d,d88,d,d99}}

(19)

Mam nadzieję, że ten krótki pokaż pomoże Mam nadzieję, że ten krótki pokaż pomoże komuś zrozumieć na czym polega metoda komuś zrozumieć na czym polega metoda

Doyl’a Doyl’a 

WSTI LUTY 2007

Cytaty

Powiązane dokumenty

nie zwiększa się ani redundancja ani zajętość pamięci, skraca się czas przeglądu opisu obiektu w porównaniu do metody klasycznej - nie trzeba dla każdego deskryptora pytania

Zatem dla deskryptorów ze zbioru D 0 znajdujemy zbiór obiektów zgodnie z metod¡ list inwersyjnych.. Przedstawiona modykacja ze wzgl¦du na zmniejszon¡ liczb¦ list inwersyjnych

Dekompozycja obiektowa dostarcza mniejszej zaj¦to±ci pami¦ci w podsystemach, oraz krótszego czasu przeci¦cia list inwersyjnych (gdy» listy takie zawieraj¡ z reguªy mniejsz¡

Tablica zakotwicze« jest identyczna z tym tylko zastrze»eniem, »e jej pierwsza kolumna zawiera adres ostatniego obiektu zawieraj¡cego w opisie deskryptor d i.. Wybranie

Je»eli grupa si¦ rozpadªa, to obiekty tej grupy b¦d¡ stanowi¢ obiekty swobodne i konieczne jest ponowne przeprowadzenie klasykacji obiektów. Aktualizacja zwi¡zana ze zmian¡

Przy wpisaniu “10 pds kgs,” Alpha nie zrozumiał, a Google zapytał się czy chodzi może o funty i podał znów strony do konwersji. WPIS TESTOWY: light

Wiedza dotyczącą znajomości produktów narażonych na występowanie pałeczek Salmonella, objawów towarzyszą- cych zatruciom oraz sposobów zapobiegania z uwzględnieniem

Ponadto Prokurator uznał, że oskarżony w tej właśnie konkretnej sytuacji, w której się znalazł powinien i mógł przewidzieć pojawienie się na drodze