Metoda Saltona
Słowem wstępu Rozszerzenie metody list prostych. Dokumenty są dzielone na grupy tematyczne (klasteryzowane). Każda grupa jest opisana koniunkcją deskryptorów (z wagami). Wyszukiwanie najpierw interesującą nas grupę dokumentów, a następnie jak w MLP.
Główne cechy metody Saltona Metoda Saltona - opracowana dla dokumentów i pytao zadawanych w języku naturalnym, dlatego też podstawowy moduł stanowi moduł analizy językowej, którego opracowanie jest niezwykle pracochłonne i wymaga rozwiązania szeregu problemów natury lingwistycznej. Zrealizowany system SMART oparty na metodzie Saltona zajmuje się wyszukiwaniem dokumentów opisanych w języku angielskim. W metodzie Saltona opisy obiektów są tekstami w języku naturalnym. Metoda polega na podziale wszystkich obiektów na grupy o podobnym opisie. Istnieje wiele sposobów takiego grupowania. Każda grupa obiektów jest poprzedzona określonym wektorem pojęd charakterystycznych dla danej grupy (wektor centriodalny, profil). Wyszukiwanie odpowiedzi polega na porównaniu pytania z wektorami pojęd charakteryzujących poszczególne grupy obiektów, a następnie wybraniu grup o wektorze najbardziej zbliżonym do pytania. Obiekty występujące w tych grupach stanowią tzw. odpowiedź przybliżoną na pytanie. Następnie dokonuje się przeglądu zupełnego wybranych obiektów dla znalezienia odpowiedzi dokładnej, tzn. obiektów, których opisy dokładnie odpowiadają pytaniu (zawierają identyczne pojęcia jak w pytaniu). W przypadku otrzymania dużej liczby grup w BD stosuje się dalsze ich łączenie w grupy większe, tworząc strukturę drzewiastą. Pojęcia charakteryzujące duże grupy (pnie) zawierają zbiory wektorów pojęd grup, a te dopiero - zbiory obiektów. *- automatyczny system wyszukiwania dokumentów zaprojektowany na Uniwersytecie Harvarda w latach 1961-1964. System przyjmuje dokumenty i żądania usług sformułowane w języku naturalnym, dokonuje automatycznej analizy tekstów przy użyciu jednej z kilkudziesięciu metod analizy językowej, kojarzy przeanalizowane dokumenty z kwerendami i wyszukuje dla użytkownika te pozycje, które uzna za najbardziej odpowiadające zgłoszonym kwerendom.
PROCES WYSZUKIWANIA Proces wyszukiwania w systemie Smart można podzielid na 5 etapów: wprowadzenie tekstu drukowanego grupowanie dokumentów dla celów przeszukiwania (wiązanie w grupy) wybranie grupy dokumentów do wyszukiwania przeszukiwanie grupy dokumentów ocena wyszukiwania.
Cel grupowania dokumentów Grupowanie polega na umieszczeniu w tej samej grupie dokumentów zawierających podobne pojęcia, oraz na określeniu dla każdej grupy reprezentatywnej pozycji centralnej (CENTROID). Po utworzeniu kartoteki dokumentów powiązanych w grupy, przeszukiwanie grup polega na uprzednim dobieraniu kwerend do centroidów każdej grupy. Następnie dokonuje się wyboru grup, które prawdopodobnie zawierają najwłaściwsze dokumenty, po czym następuje przeszukiwanie grup przy użyciu normalnej procedury - pozycja za pozycją.
Algorytmy grupowania dokumentów Istnieje wiele sposobów grupowania. My poznamy 2 metody: algorymt Rocchia algorytm Doyle'a Zarówno proces grupowania, jak i proces porównywania pytania z pniami czy wektorami pojęd odbywa się poprzez znajdowanie współczynników korelacji (podobieostwa) pomiędzy pojęciami występującymi w pytaniu lub pojęciami występującymi w wektorze pojęd danej grupy.
Miary korelacji (podobieostwa) Współczynnik korelacji to wartośd z przedziału <0,1>. Im bardziej podobne są do siebie obiekty tym wyższy jest dla nich współczynnik korelacji. Jeżeli dwa obiekty są identyczne to współczynnik korelacji = 1. Dla obiektów w ogóle nie podobnych współczynnik korelacji = 0. I tak dla dwóch obiektów x1 i x2 poniżej przedstawione są typowe miary korelacji:
W systemie Smart W systemie SMART Saltona istnieją dwie miary korelacji: korelacja cosinusowa korelacja nakładania gdzie: d i q to n-wymiarowe wektory terminów reprezentujących analizowaną kwerendę q i analizowany dokument d.
Struktura kartoteki Czyli mamy system S = <X, A, V, q>. Opisy obiektów pogrupowane są w BD w grupy Xi, gdzie i=1,..,m przy czym spełniony jest warunek: X m i 1 X i Struktura kartoteki ma więc formę drzewiastą (hierarchię) w której dokumenty podobne do siebie łączone są w grupy, dla których tworzy reprezentantów (centroid bądź profil). Jeśli grup tak utworzonych jest dużo, traktowane są one jak dokumenty i ponownie grupowane w grupy a kolejnym poziomie hierarchii (pnie). Każda grupa Xi poprzedzona jest identyfikatorem grupy, który jest nazywany CENTROIDEM (Ci) lub PROFILEM (Pi): Xi = (Ci, {t{xi}}). Centroid - Ci to wektor pojęd opisujących dokumenty danej grupy. Stosowany do opisu grupy w algorytmie Rocchio'a. Profil - Pi to wektor wartości pozycyjnych pojęd opisujących dokumenty danej grupy. Stosowany do opisu grupy w algorytmie Doyle'a.
Przyporządkowanie dokumentów do kategorii (grup)
Struktura hierarchiczna dokumentów, grup i pni Grupa 1: Doc_1, Doc_5, Doc_4 Centroid: A,b Pieo I A,b,f Pieo II C,d,e gr_1 A,b Gr_2 a,f Gr_3 C,d gr_4 C, e Doc_1 A,b,c Doc_5 A,b Doc_4 A,b,d Doc_2 a,e,f Doc_6 a,f Doc_7 a,f,g Doc_3 b,c,d Doc_8 d,e,c
Wyszukiwanie obliczanie podobieostw Szukamy dokumentów zawierających słowa: a i f Pieo I A,b,f 2/3 0/5 Pieo II C,d,e gr_1 A,b Gr_2 a,f Gr_3 C,d gr_4 C, e Doc_1 A,b,c Doc_5 A,b Doc_4 A,b,d Doc_2 a,e,f Doc_6 a,f Doc_7 a,f,g Doc_3 b,c,d Doc_8 d,e,c
Wyszukiwanie obliczanie podobieostw Szukamy dokumentów zawierających słowa: a i f Wybieramy pieo najbardziej obiecujący czyli pieo I Pieo I A,b,f 2/3 0/5 Pieo II C,d,e gr_1 A,b Gr_2 a,f Gr_3 C,d gr_4 C, e Doc_1 A,b,c Doc_5 A,b Doc_4 A,b,d Doc_2 a,e,f Doc_6 a,f Doc_7 a,f,g Doc_3 b,c,d Doc_8 d,e,c
Wyszukiwanie obliczanie podobieostw Szukamy dokumentów zawierających słowa: a i f Wybieramy pieo najbardziej obiecujący czyli pieo I Pieo I A,b,f 2/3 0/5 Pieo II C,d,e 1/2 2/2 gr_1 A,b Gr_2 a,f Gr_3 C,d gr_4 C, e Doc_1 A,b,c Doc_5 A,b Doc_4 A,b,d Doc_2 a,e,f Doc_6 a,f Doc_7 a,f,g Doc_3 b,c,d Doc_8 d,e,c
Wyszukiwanie obliczanie podobieostw Szukamy dokumentów zawierających słowa: a i f Wybieramy pieo najbardziej obiecujący czyli pieo I Pieo I A,b,f 2/3 0/5 Pieo II C,d,e 1/2 2/2 gr_1 A,b Gr_2 a,f Grupa wyszkana Gr_3 C,d gr_4 C, e Doc_1 A,b,c Doc_5 A,b Doc_4 A,b,d Doc_2 a,e,f Doc_6 a,f Doc_7 a,f,g Doc_3 b,c,d Doc_8 d,e,c
Przykłady takich systemów Identyfikatory dokumentów w skupieniu nr 5 Reprezentant skupienia nr 5
Dokumenty w danej grupie powinny zawierad wspólne cechy (słowa)
Test gęstości Na początku zakłada się, że wszystkie dokumenty są niezwiązane, a każdy jest poddany testowi gęstości dla określenia, czy dostatecznie duża liczba dokumentów znajduje się w sąsiedztwie badanego. Ponad n1 dokumentów powinno mied współczynnik korelacji z dokumentem badanym, wyższy od pewnego parametru p1, a więcej niż n2 dokumentów wyższy od p2 np. co najmniej 5 dokumentów ma mieć korelację z centrum grupy większą bądź równą 0.5 i co najmniej 3 dokumenty większą bądź równą 0.7. Dzięki testowi mamy pewnośd, że elementy z brzegu dużych grup nie będą centrami i że regiony, gdzie dokumenty są skupione w kształcie pierścienia nie będą akceptowane jako grupy. Elementy nie spełniające testu gęstości nazywamy swobodnymi. Nie mogą byd one potem wybierane jako potencjalne centra grup. Jeśli dokument przejdzie test gęstości to wybiera się wartośd progową jako funkcję minimalnie i maksymalnie dopuszczalnej liczby elementów w grupie. Grupę wtedy tworzą dokumenty, które mają z elementem centralnym korelację większą od wybranego progu.
Wartośd progowa Wartośd progowa jest wybierana jako maksymalna różnica korelacji dwóch kolejnych dokumentów, tak, aby odległośd pomiędzy tworzonym zbiorem a sąsiednimi nie związanymi elementami była możliwie najmniejsza.
Wyszukiwanie strukturalne Po powiązaniu dokumentów w zbiorze wyjściowym przeprowadza się dwuetapową operację wyszukiwania. Nadchodzącą kwerendę najpierw porównuje się z wektorami centroidalnymi wszystkich grup. Jeśli np. 82 dokumenty rozdzielono między 7 grup, to trzeba dla danej kwerendy dokonad jej porównania z opisem każdej z 7 grup (opisem grupy: centroidem) i następnie porównad ją z dokumentami z n grup o najwyższym współczynniku korelacji, lub alternatywnie z dokumentami wszystkich grup takich, że współczynnik korelacji ich centroidu z kwerendą przekracza zadany próg.
1. Pobranie opisów obiektów. 2. Ustalenie parametrów: Algorytm Rocchia P1,P2,N1,N2 - dla centrum grupy, P1p,P2p,N1p,N2p - dla centroidu. 3. Wybranie potencjalnego centrum grupy: xc 4. Przeprowadzamy test gęstości dla centrum grupy xc,(co najmniej N1 dokumentów ma współczynnik większy bądź równy od P1 a N2 dokumentów ma współczynnik większy bądź równy P2). W tym celu obliczamy współczynniki korelacji dokumentów z potencjalnym centrum grupy. Jeżeli założenia nie są spełnione to konieczny jest wybór innego potencjalnego centrum grupy lub zmiana parametrów tekstu gęstości (punkt 3). Jeśli potencjalne centrum grupy przeszło test gęstości: przechodzimy do punktu 5. 5. Określamy rangę obiektów. 6. Wyznaczamy M1 (liczebnośd zbioru obiektów dla których elementy są większe bądź równe P2), M2 (liczebnośd zbioru obiektów dla których elementy są większe bądź równe P1). Jeśli M1=M2 to Pmin równa się najmniejszemu współczynnikowi korelacji obiektu należącego do M1,przechodzimy do punktu 7. Jeśli M1 M2 to: Obliczamy różnicę pomiędzy współczynnikami korelacji obiektów sąsiednich w grupie maksymalnej M2,bez obiektów grupy minimalnej M1 i określamy największą różnicę. Minimalny współczynnik korelacji Pmin jest równy odjemnej z największej różnicy. Jeśli największa różnica powtarza się to za Pmin przyjmujemy odjemną o większej wartości. 7. Tworzymy wstępną grupę do której należą elementy o współczynniku korelacji większym bądź równym P min. 8. Tworzymy wektor centroidalny, który stanowi sumę opisów obiektów należących do grupy wstępnej.
II-ga iteracja algorytmu - dla tworzenia tzw. grupy poprawionej 1. Przeprowadzamy test gęstości dla centroidu, (co najmniej N1p dokumentów ma współczynnik większy bądź równy od P1p a N2p dokumentów ma współczynnik większy bądź równy P2p). 2. Obliczamy współczynniki korelacji dokumentów z centroidem. 3. Określamy rangę obiektów. 4. Wyznaczamy M1p (liczebnośd zbioru obiektów dla których elementy są większe bądź równe P2p), M2p (liczebnośd zbioru obiektów dla których elementy są większe bądź równe P1p). Jeśli M1p=M2p to Pmin równa się najmniejszemu współczynnikowi korelacji obiektu należącego do M1p,przechodzimy do punktu 5. Jeśli M1p M2p to: 1. Obliczamy różnicę pomiędzy współczynnikami korelacji obiektów sąsiednich w grupie maksymalnej M2p,bez obiektów grupy minimalnej M1p. 2. Określamy największą różnicę. 3. Minimalny współczynnik korelacji Pmin jest równy odjemnej z największej różnicy. 4. Jeśli największa różnica powtarza się to za Pmin przyjmujemy odjemną o większej wartości. 5. Tworzymy grupę poprawioną do której należą elementy o współczynniku korelacji większym bądź równym Pmin. 6. Tworzymy wektor centroidalny, który stanowi sumę opisów obiektów należących do grupy poprawionej. 7. Obiekty nie należące do grupy poprawionej (swobodne),traktujemy jako wejściowe opisy obiektów i generujemy kolejne grupy dokumentów.
Przykład Wykorzystując opis (poniżej) algorytmu Rocchia przeprowadź grupowanie 10 obiektów o następujących opisach: x1=a1 b1 c1 d1 e1 x2=a1 b1 c1 d1 e2 x3=a1 b1 c2 d1 e3 x4=a1 b1 c3 d1 e1 x5=a1 b1 c1 d1 e3 x6=a2 b1 c2 d1 e2 x7=a2 b1 c3 d1 e3 x8=a2 b2 c3 d3 e3 x9=a3 b3 c2 d2 e2 x10=a3 b3 c2 d3 e2 Dla podanego wyżej zbioru obiektów dane są następujące parametry: a) Dla centrum grupy: N1=5, N2=3, p1=0,2, p2=0,3 b) Dla centroidu: N1c=5, N2c=3, p1c=0,25, p2c=0,35 Wybór potencjalnego centrum grupy xc Jako potencjalne centrum grupy 1 przyjmij obiekt x1. Wybór miary podobieostwa (korelacji) każdego dokumentu z centrum grupy xc: p( x c, x i ) x x c c x x i i
Przeprowadzamy test gęstości dla centrum grupy: x c Test ten mówi, że co najmniej N1 dokumentów ma współczynnik większy bądź równy od P1, a N2 dokumentów ma współczynnik większy bądź równy P2. W tym celu obliczamy współczynniki korelacji (podobieostwa każdego dokumentu (x i ) z wybranym centrum grupy x c ) stosując wybraną wcześniej miarę korelacji. Gdy mamy 10 dokumentów w systemie to po kolei dla każdego dokumentu wyliczamy taki współczynnik: p(x1,xc)=?... p(x10,xc)=? W liczniku podajemy liczbę pojęd wspólnym danego dokumentu z centrum grupy x c W mianowniku podajemy sumę pojęd, którymi są opisane obydwa dokumenty: dany dokument x i i dokument stanowiący centrum grupy.
zatem: Aby obliczyd współczynnik korelacji obiektu 1 z centrum grupy który jest jednocześnie obiektem 1 wykonujemy następujące czynności. x1=a1 b1 c1 d1 e1 xc=a1 b1 c1 d1 e1 Liczba pojęd wspólnych = 5, bo są to pojęcia: (a1,b1,c1,d1,e1) Suma wszystkich pojęd = 5, bo są to pojęcia: (a1,b1,c1,d1,e1) Zatem: p(xc,x1) = 5/5 = 1.0 p(xc,x2) = 4/6 = 0.67 p(xc,x3) = 3/7 = 0.43 p(xc,x4) = 4/6 = 0.67 p(xc,x5) = 4/6 = 0.67 p(xc,x6) = 2/8 = 0.25 p(xc,x7) = 2/8 = 0.25 p(xc,x8) = 0/10 = 0 p(xc,x9) = 0/10 = 0 p(xc,x10) = 0/10 = 0
Określamy rangę dokumentów, czyli porządkujemy dokumenty malejąco według obliczonych w kroku 5 współczynników korelacji i nadajemy tak ułożonym wartościom rangi od 1 do n. Ranga 1: Ranga 2: Ranga 3: Ranga 4: Ranga 5: Ranga 6: Ranga 7: Ranga 8: Ranga 9: Ranga 10: p(x1,xc)=1.0 p(x2,xc)=0.67 p(x4,xc)=0.67 p(x5,xc)=0.67 p(x3,xc)=0.43 p(x6,xc)=0.25 p(x7,xc)=0.25 p(x8,xc)=0.0 p(x9,xc)=0.0 p(x10,xc)=0.0 Przeprowadzamy test gęstości czyli sprawdzamy, czy na pewno: N1 dokumentów ma podobieostwo >= p1? Tak N2 dokumentów ma podobieostwo >=p2? Nie wybrane centrum grupy przeszedł test gęstości wybieramy inny obiekt jako centrum grupy (x c ).
Obliczamy faktyczne rozmiary grupy: M1 (liczebnośd zbioru obiektów dla których elementy są większe bądź równe P2) M2 (liczebnośd zbioru obiektów dla których elementy są większe bądź równe P1. M1 = 5 zaś M2 = 7 Obliczamy minimalny współczynnik korelacji p min : Jeśli M1=M2 to p min równa się najmniejszemu współczynnikowi korelacji obiektu należącego do M1 Jeśli M1 < M2 to: Obliczamy różnicę pomiędzy współczynnikami korelacji obiektów sąsiednich w grupie maksymalnej M2,bez obiektów grupy minimalnej M1. Wybieramy największą różnicę i obliczamy minimalny współczynnik korelacji p min jako odjemną z tej największej różnicy. Jeśli największa różnica powtarza się to za p min przyjmujemy odjemną o większej wartości.
Ranga 1: p(x1,xc)=1.0 Ranga 2: p(x2,xc)=0.67 Ranga 3: p(x4,xc)=0.67 Ranga 4: p(x5,xc)=0.67 Ranga 5: p(x3,xc)=0.43 Ranga 6: p(x6,xc)=0.25 Ranga 7: p(x7,xc)=0.25 Ranga 8: p(x8,xc)=0.0 Ranga 9: p(x9,xc)=0.0 Ranga 10:p(x10,xc)=0.0 M1 większe od 0.3 Ranga 1: p(x1,xc)=1.0 Ranga 2: p(x2,xc)=0.67 Ranga 3: p(x4,xc)=0.67 Ranga 4: p(x5,xc)=0.67 Ranga 5: p(x3,xc)=0.43 M2 większe od 0.2 Ranga 1: p(x1,xc)=1.0 Ranga 2: p(x2,xc)=0.67 Ranga 3: p(x4,xc)=0.67 Ranga 4: p(x5,xc)=0.67 Ranga 5: p(x3,xc)=0.43 Ranga 6: p(x6,xc)=0.25 Ranga 7: p(x7,xc)=0.25
Ranga 1: p(x1,xc)=1.0 Ranga 2: p(x2,xc)=0.67 Ranga 3: p(x4,xc)=0.67 Ranga 4: p(x5,xc)=0.67 Ranga 5: p(x3,xc)=0.43 Ranga 6: p(x6,xc)=0.25 Ranga 7: p(x7,xc)=0.25 Ranga 8: p(x8,xc)=0.0 Ranga 9: p(x9,xc)=0.0 Ranga 10:p(x10,xc)=0.0 5 różnica z 6: 0,43 0,25 = 0, 18 6 różnica z 7: 0,25 0,25 = 0 7 różnica z 8: 0,25 0 = 0,25 M1=5 M2=7 W naszym przypadku: M1 = 5 a M2 = 7, zatem są to różne wartości, więc, aby obliczyd współczynnik korelacji p min obliczamy różnicę między dokumentami na granicy tych grup. 5: 6: 7: 8:
Szukamy p min Minimalny współczynnik korelacji p min jest równy odjemnej z największej różnicy. p min = p7(x7) = 0,25
Tworzymy grupę wstępną (X 1W ) Do grupy wstępnej będą należały wszystkie te dokumenty, które miały wyliczony współczynnik korelacji większy lub równy p min. p(x1,xc)=1.0 p(x2,xc)=0.67 p(x4,xc)=0.67 p(x5,xc)=0.67 p(x3,xc)=0.43 p(x6,xc)=0.25 p(x7,xc)=0.25 p(x8,xc)=0.0 p(x9,xc)=0.0 p(x10,xc)=0.0 Są to wszystkie obiekty grupy maksymalnej M2: x1, x2, x3, x4, x5, x6 i x7.
Grupa wstępna to dokumenty: x1, x2, x3, x4, x5, x6 i x7. Wyznaczamy wstępnego reprezentanta grupy X 1 czyli centroid: Centroid to zbiór wszystkich pojęd, którymi są opisane dokumenty grupy minimalnej M1 (x1,x2,x3,x4,x5): x1=a1 b1 c1 d1 e1 x2=a1 b1 c1 d1 e2 x3=a1 b1 c2 d1 e3 x4=a1 b1 c3 d1 e1 x5=a1 b1 c1 d1 e3 x6=a2 b1 c2 d1 e2 x7=a2 b1 c3 d1 e3 x8=a2 b2 c3 d3 e3 x9=a3 b3 c2 d2 e2 x10=a3 b3 c2 d3 e2 czyli:c W1 : = {a1, b1, c1, c2, c3, d1, e1, e2, e3}
Generujemy grupę poprawioną: DRUGA ITERACJA W tym celu powtarzamy raz jeszcze cały algorytm, z tym, że teraz centrum grupy stanowi teraz CENTROID C1. Ustalenie parametrów testu gęstości dla centroidu: p1c = 0,25 ;p2c = 0,35 ;N1c = 5 ;N2c = 3 Test gęstości dla centroidu: W tym celu obliczamy współczynniki korelacji (podobieostwa) dokumentów grupy maksymalnej M2 z centroidem C1 P(x1,c1)=5/9 = 0.55 P(x2,c1)=5/9 = 0.55 P(x3,c1)=5/9 = 0.55 P(x4,c1)=5/9= 0.55 P(x5,c1)=5/9 = 0.55 P(x6,c1)=4/10 = 0.4 P(x7,c1)=4/10 = 0.4 Określamy rangę dokumentów: Ranga 1 p(x1,xc)=0.55 Ranga 2 p(x2,xc)= 0.55 Ranga 3 p(x4,xc)=0.55 Ranga 4 p(x5,xc)=0.55 Ranga 5 p(x3,xc)=0.55 Ranga 6 p(x6,xc)=0.4 Ranga 7 p(x7,xc)=0.4
Sprawdzamy, czy na pewno: N1c dokumentów ma p>= p1c i N2c dokumentów ma współczynnik p>=p2c Jeśli tak to znaczy, że wybrane centrum grupy przeszedł test gęstości. Jeśli nie to zmieniamy parametry testu gęstości dla centroidu, bądź zaczynamy cały algorytm od nowa łącznie z wyborem nowego potencjalnego centrum grupy x_c. Obliczamy faktyczne rozmiary grupy poprawionej: Wyznaczamy M1 (liczebnośd zbioru obiektów dla których elementy są większe bądź równe P2), M2 (liczebnośd zbioru obiektów dla których elementy są większe bądź równe P1). Jeśli M1=M2 to p min równa się najmniejszemu współczynnikowi korelacji obiektu należącego do M1 czyli p min = p7(x7) = 0,4 m1=m2= 7 Wyznaczamy grupę poprawioną X_1 Do tej grupy będą należały wszystkie te dokumenty, które miały wyliczony współczynnik korelacji większy lub równy pmin. Są to wszystkie obiekty grupy maksymalnej M2: X1= {x1, x2, x3, x4, x5, x6,x7} Wyznaczamy reprezentanta grupy X_1 czyli centroid Centroid to zbiór wszystkich pojęd, którymi są opisane wszystkie dokumenty grupy X_1, czyli... C_1 = {a1, a2, b1, c1, c2, c3, d1, e1, e2, e3 KONIEC GENEROWANIA PIERWSZEJ GRUPY.
Rezultat Zatem jedna iteracja algorytmu doprowadziła do powstania grupy: X1 = {X1, x2, x3, x4, x5, x6, x7} Na jej czele stoi centroid C1 = {a1, a2, b1, c1, c2, c3, d1, e1, e2, e3} Co dalej? Są 2 możliwości: LUB Z dokumentów pozostałych: X X1 = {x8,x9, x10} powinniśmy tworzyd kolejne grupy. Jednakże jak łatwo zauważyd patrząc na ustalone na początku parametry testu gęstości nie możliwe będzie utworzenie następnych grup, gdyż test ten wymaga aby...grupa maksymalna liczyła co najmniej N2=5 dokumentów...a nam zostały już tylko 3... Zatem na tym kooczy się algorytm. Z wszystkich dokumentów X = {X1, x2, x3, x4, x5, x6, x7,x8,x9, x10} powinniśmy tworzyd kolejne grupy. Tyle że wybieramy teraz inne potencjalne centrum grupy (a więc nie obiektu x1) i próbujemy wokół niego związad grupę. Zatem na tym kooczy się algorytm.
Algorytm Doyle a Zakładamy następujące wartości: m - liczba grup T - wartośd progowa a - współczynnik skalujący z przedziału - <0,1> Dokonujemy wstępnego podziału zbioru dokumentów na m grup. Dla każdej grupy wyznaczamy: Wektor Sj- wektor dokumentów Wektor Cj - wektor pojęć występujących w j-tej grupie Wektor Fj- wektor częstości występowania pojęć Wektor Rj - wektor rang przyporządkowanych pojęciom grupy Wektor Pj - wektor wartości pozycyjnych (PROFIL) gdzie: pi = ( b - ri ) * wcześniej wyznaczamy wartośd bazową "b". dla każdego di wyliczamy wartośd funkcji punktującej g(di,pj) w każdej grupie zawierającej wszystkie pojęcia opisujące obiekt di wybieramy wartośd maksymalną!!! Zazwyczaj b wybiera się jako wartośd całkowitą o 1 większą od maksymalnej liczby cech w danej grupie Sj.
Dla przykładowej grupy: Sj Cj Fj Rj Pj Doc_1 Kobieta 4 2 B-r(kobieta) Doc_2 Niska 3 3 B-r(niska) Oczy niebieskie 5 1 B-r(oczy niebieskie) Jakie dokumenty Należą do Grupy? Jakie cechy (pojęcia) opisują dokumenty danej grupy? Jaka jest częstośd wystąpienia cechy kobieta we wszystkich dokumentach danej grupy? Tam gdzie jest największa częstośd wpiszemy najwyższą rangę ( 1 ) i potem mniejszym częstościom przypiszemy niższe rangi Wartość pozycyjna dla każdego pojęcia, obliczana jako różnica między wartością bazową b a rangą danej cechy
Potem obliczamy funkcję punktującą: Dla każdego dokumentu obliczamy wartośd funkcji punktującej. Nazywamy ją g(di,pj) i obliczamy ją dla każdego profilu Pj (więc jeśli mamy 3 grupy: S1,S2i S3 to mamy 3 profile grup: P1,P2 i P3) wartośd funkcji punktującej. Funkcja punktująca oblicza dla każdego dokumentu di sumę wartości pozycyjnych pojęć opisujących ten dokument w Profilu Pj. Opis dokumentu x1: tx1=(pł,k)(ty,dr)(sp,5)(oz,c) Suma=34 Wartości pozycyjne pojęd opisujących ten dokument to: cecha K 8 DR 8 5 9 c 9 Wartość pozycyjna
Na podstawie wyznaczonych wartości funkcji punktującej dokonaj wstępnego podziału dokumentów do grup tak, że: gdy Gdzie: Hj = max(g (di,pj)) A więc maksymalna wartośd funkcji punktującej w każdej grupie: Hj = max(g (di,pj)) * z reguły powstaje m+1 grup (bo m grup + grupa dokumentów swobodnych) Jeśli podział w i+1-ej iteracji jest identyczny jak w i-tej to KONIEC algorytmu. REZULTAT: m- grup dokumentów (na czele każdej grupy stoi PROFIL) i ewentualnie grupa dokumentów swobodnych (L).
Przydział dokumentów do grup Sj to będzie wektor tych wszystkich dokumentów (każdy taki dokument di ) dla którego wartość funkcji punktującej (g(di,pj)) jest większa niż ustalona wartość Tj
Przykład algorytmu Doyle'a Dla podanego zbioru obiektów przeprowadź jedną iterację grupowania algorytmem Doyle'a przy założeniach: liczba grup wynosi m=3, współczynnik a= 0,5 tx1=(pł,k)(ty,dr)(sp,5)(oz,c) tx2=(pł,m)(ty,pr)(sp,2)(oz,b) tx3=(pł,m)(ty,mgr)(sp,5)(oz,c) tx4=(pł,m)(ty,mgr)(sp,2)(oz,a) tx5=(pł,m)(ty,pr)(sp,12)(oz,d) tx6=(pł,m)(ty,dr)(sp,5)(oz,b) tx7=(pł,k)(ty,dr)(sp,2)(oz,b) tx8=(pł,m)(ty,mgr)(sp,12)(oz,c) tx9=(pł,m)(ty,pr)(sp,5)(oz,d) tx10=(pł,k)(ty,pr)(sp,2)(oz,d)
I iteracja Tworzymy wektory opisujące każdą grupę: tx1=(pł,k)(ty,dr)(sp,5)(oz,c) tx2=(pł,m)(ty,pr)(sp,2)(oz,b) tx3=(pł,m)(ty,mgr)(sp,5)(oz,c) tx4=(pł,m)(ty,mgr)(sp,2)(oz,a) tx5=(pł,m)(ty,pr)(sp,12)(oz,d) tx6=(pł,m)(ty,dr)(sp,5)(oz,b) tx7=(pł,k)(ty,dr)(sp,2)(oz,b) tx8=(pł,m)(ty,mgr)(sp,12)(oz,c) tx9=(pł,m)(ty,pr)(sp,5)(oz,d) tx10=(pł,k)(ty,pr)(sp,2)(oz,d)
Obliczamy wartośd funkcji punktującej g(di,pj) dla każdego dokumentu di i profilu Pj:
Dla każdej grupy ustalamy wartośd progową Tj, którą muszą spełnid dokumenty aby wejśd do danej grupy. Wartośd progową obliczamy wg jednego z poniższych wzorów: Przyjmijmy więc, że T = 37. Nowy podział na grupy ustalamy zgodnie ze wzorem podanym poniżej. Do nowych grup będą należed obiekty, których wartości funkcji punktującej będą Tj czyli większe bądź równe od wartości progowej j-tej grupy.
Wyznaczamy maksymalną wartośd funkcji punktującej j-tej grupy: H1= 37 H2= 40 H3= 39
Następnie wartości progowe danych grup (Tj), przy założeniu, że a = 0.5. T1= H1- a(h1 - T) = 37 T2= H2- a(h2 - T) = 40-0,5*(40-37) = 38,5 T3= H3- a(h3 - T) = 39-0,5*(39-37) = 38 OTRZYMANE GRUPY: Porównując wartości funkcji punktującej z wartościami progowymi według wzoru Otrzymujemy nowe grupy których jest m+1 ponieważ tworzy się jeszcze jedna grupa, grupa obiektów swobodnych (niesklasyfikowanych). tx1=(pł,k)(ty,dr)(sp,5)(oz,c) tx2=(pł,m)(ty,pr)(sp,2)(oz,b) tx3=(pł,m)(ty,mgr)(sp,5)(oz,c) tx4=(pł,m)(ty,mgr)(sp,2)(oz,a) tx5=(pł,m)(ty,pr)(sp,12)(oz,d) tx6=(pł,m)(ty,dr)(sp,5)(oz,b) tx7=(pł,k)(ty,dr)(sp,2)(oz,b) tx8=(pł,m)(ty,mgr)(sp,12)(oz,c) tx9=(pł,m)(ty,pr)(sp,5)(oz,d) tx10=(pł,k)(ty,pr)(sp,2)(oz,d) Co zapiszemy następująco: Grupa I Grupa II Grupa III Grupa IV tx3=(pł,m)(ty,mgr)(sp,5)(oz,c) tx2=(pł,m)(ty,pr)(sp,2)(oz,b) tx7=(pł,k)(ty,dr)(sp,2)(oz,b) tx5=(pł,m)(ty,pr)(sp,12)(oz,d) tx9=(pł,m)(ty,pr)(sp,5)(oz,d) tx10=(pł,k)(ty,pr)(sp,2)(oz,d) tx1=(pł,k)(ty,dr)(sp,5)(oz,c) tx4=(pł,m)(ty,mgr)(sp,2)(oz,a) tx6=(pł,m)(ty,dr)(sp,5)(oz,b) tx8=(pł,m)(ty,mgr)(sp,12)(oz,c) X1={x3} X2={x2,x7} X3={x5,x9,x10} Grupa obiektów swobodnych: L={x1,x4,x6,x8}
Dlaczego parametr a wpływa na moc wiązania dokumentów w grupy? Jeśli: a = 0.5 Wówczas: T1= H1- a(h1 - T) = 37 T2= H2- a(h2 - T) = 40-0,5*(40-37) = 38,5 T3= H3- a(h3 - T) = 39-0,5*(39-37) = 38 Wtedy przydział do grup jest następujący: Grupa I Grupa II Grupa III Grupa IV tx3=(pł,m)(ty,mgr)(sp,5)(oz,c) tx2=(pł,m)(ty,pr)(sp,2)(oz,b) tx6=(pł,m)(ty,dr)(sp,5)(oz,b) tx7=(pł,k)(ty,dr)(sp,2)(oz,b) tx5=(pł,m)(ty,pr)(sp,12)(oz,d) tx8=(pł,m)(ty,mgr)(sp,12)(oz,c) tx9=(pł,m)(ty,pr)(sp,5)(oz,d) tx10=(pł,k)(ty,pr)(sp,2)(oz,d) tx1=(pł,k)(ty,dr)(sp,5)(oz,c) tx4=(pł,m)(ty,mgr)(sp,2)(oz,a)
Dlaczego parametr a wpływa na moc wiązania dokumentów w grupy? Jeśli: a = 0 Wówczas: T1= H1- a(h1 - T) = 37 T2= H2- a(h2 - T) = 40 0*(40-37) = 40 T3= H3- a(h3 - T) = 39-0*(39-37) = 40 Wtedy przydział do grup jest następujący: Grupa I Grupa II tx3=(pł,m)(ty,mgr)(sp,5)(oz,c) tx6=(pł,m)(ty,dr)(sp,5)(oz,b) Grupa III Grupa IV Brak dokumentów spełniających kryteria tx1=(pł,k)(ty,dr)(sp,5)(oz,c) tx2=(pł,m)(ty,pr)(sp,2)(oz,b) tx4=(pł,m)(ty,mgr)(sp,2)(oz,a) tx7=(pł,k)(ty,dr)(sp,2)(oz,b) tx8=(pł,m)(ty,mgr)(sp,12)(oz,c) tx5=(pł,m)(ty,pr)(sp,12)(oz,d) tx9=(pł,m)(ty,pr)(sp,5)(oz,d) tx10=(pł,k)(ty,pr)(sp,2)(oz,d)
Dlaczego parametr a wpływa na moc wiązania dokumentów w grupy? Jeśli: a = 1 Wówczas: T1= H1- a(h1 - T) = 37 T2= H2- a(h2 - T) = 40-1*(40-37) = 37 T3= H3- a(h3 - T) = 39-1*(39-37) = 37 Wtedy przydział do grup jest następujący: Grupa I Grupa II Grupa III Grupa IV tx3=(pł,m)(ty,mgr)(sp,5)(oz,c) tx2=(pł,m)(ty,pr)(sp,2)(oz,b) tx6=(pł,m)(ty,dr)(sp,5)(oz,b) tx7=(pł,k)(ty,dr)(sp,2)(oz,b) tx5=(pł,m)(ty,pr)(sp,12)(oz,d) tx9=(pł,m)(ty,pr)(sp,5)(oz,d) tx8=(pł,m)(ty,mgr)(sp,12)(oz,c) tx10=(pł,k)(ty,pr)(sp,2)(oz,d) tx1=(pł,k)(ty,dr)(sp,5)(oz,c) tx4=(pł,m)(ty,mgr)(sp,2)(oz,a)
Wnioski? Gdy a wówczas Tj dzięki czemu zdolność wiązania dokumentów w grupy jest większa I odwrotnie: Gdy a wówczas Tj dzięki czemu zdolność wiązania dokumentów w grupy jest mniejsza
II ITERACJA Aby wykonad kolejną iterację algorytmu przyporządkujemy obiekty swobodne do grup ale innych niż występowały w poprzedniej iteracji, wtedy otrzymujemy nowy podział grup. Cała operacja kolejnych iteracji się kooczy, kiedy otrzymujemy po raz kolejny ten sam podział.
Obliczamy wartośd funkcji punktującej g(di,pj) dla każdego dokumentu di i profilu Pj:
Kiedy kooczymy algorytm? Kiedy w dwóch kolejnych iteracjach nie ma już zmian w przydziale dokumentów do grup: Iteracja i Iteracja i+1 X1={x3} X2={x2,x7} X3={x5,x9,x10} L={x1,x4,x6,x8} X1={x3} X2={x2,x7} X3={x5,x9,x10} L={x1,x4,x6,x8}
Wyszukiwanie w systemie Saltona Najpierw formułujemy kwerendę, posługując się oryginalnym żądaniem autora albo jego modyfikacją w postaci numerycznego wektora pojęd. Jedną z najważniejszych metod modyfikacji kwerend źródłowych jest korzystanie z dokumentów, które autor ocenił jako relewantne. Z chwilą sformułowania kwerendy selekcjonuje się zbiór dokumentów, które będą z nią korelowane.
Metody wyszukiwania sekwencyjna - pełna ( full search) strukturalna (tree search)
Metoda sekwencyjna Metoda ta jest niezależna od klasyfikacji dokumentów w grupie. Polega ona na tym, że pytanie kierowane do systemu jest korelowane z każdym dokumentem. Jest liczony współczynnik korelacji - podobieostwa pytania z każdym dokumentem. Wybiera się te dokumenty, w których współczynnik jest większy od założonej wartości progowej (p min ). Dla wszystkich dokumentów robiony jest przegląd zupełny. Czyli nie grupujemy dokumentów. Odpowiedź na zadane pytanie otrzymujemy przez przegląd wszystkich, po kolei dokumentów znajdujących się w kartotece wyszukiwawczej. Im więcej będzie dokumentów tym dłuższy będzie czas obliczenia współczynników korelacji. Wada: bardzo wiele zależy od przyjętego współczynnika progowego, im on będzie mniejszy tym więcej obiektów zaliczymy do grupy będącej odpowiedzią na pytanie. Jeśli będzie za wysoki - to może się okazad, ze mało dokumentów spełni warunek wymagalny (tzn. mało będzie miało współczynnik korelacji z pytaniem temu założonemu współczynnikowi progowemu).
P(pytanie,x1) = 5/5 = 1.0 P(pytanie,x2) = 4/6 = 0.67 p(pytanie,x3) = 3/7 = 0.43 p(pytanie,x4) = 4/6 = 0.67 p(pytanie,x5) = 4/6 = 0.67 p(pytanie,x6) = 2/8 = 0.25 P(pytanie,x7) = 2/8 = 0.25 p(pytanie,x8) = 0/10 = 0 p(pytanie,x9) = 0/10 = 0 p(pytanie,x10) = 0/10 = 0 Przykład dla p min =0.65 1. Obliczamy podobieostwo pytania do każdego dokumentu: 2. Wybieramy jako odpowiedź tylko te dokumenty, które mają podobieostwo z pytaniem większe lub równe p min : P(pytanie,x1) = 5/5 = 1.0 P(pytanie,x2) = 4/6 = 0.67 p(pytanie,x3) = 3/7 = 0.43 p(pytanie,x4) = 4/6 = 0.67 p(pytanie,x5) = 4/6 = 0.67 p(pytanie,x6) = 2/8 = 0.25 P(pytanie,x7) = 2/8 = 0.25 p(pytanie,x8) = 0/10 = 0 p(pytanie,x9) = 0/10 = 0 p(pytanie,x10) = 0/10 = 0 (pytanie) = {x1,x2,x4,x5}
Metoda strukturalna Ta metoda jest ściśle związana ze strukturą bazy danych. Polega na obliczeniu współczynnika korelacji pytania z pniami i wybór pni najbardziej obiecujących, czyli tych o najwyższych współczynnikach korelacji. Wybrane pnie zostają usunięte i następuje obliczanie współczynników korelacji pytania z centroidami (w tych wybranych grupach). Ponownie wybiera się poziomy najbardziej obiecujące na poziomie centroidów i dla tych centroidów, usuwamy je i liczymy współczynniki korelacji dokumentów (tzn. pytania z dokumentami zbioru). Ostatecznie odpowiedzią na pytanie jest zbiór dokumentów, dla których współczynniki korelacji są większe od założonego pmin.
PARAMETRY EFEKTYWNOŚCI SYSTEMÓW INFORMACYJNYCH Dokument jest relewantny względem pytania Q wtedy i tylko wtedy jeżeli w opisie dokumentu występują wszystkie niezaprzeczone deskryptory pytania Q i w opisie tym nie występuje żaden z deskryptorów zaprzeczonych pytaniem.
Kompletnośd Kompletność określa zdolność systemu do wyszukiwania wszystkich dokumentów, które mogą okazać się relewantnymi gdzie: a - liczba dokumentów relewantnych wyszukanych c - liczba dokumentów relewantnych niewyszukanych
Dokładnośd Dokładność określa zdolność systemu do nie wyznaczania dokumentów nierelewantnych względem danego pytania Q. gdzie: a - liczba wyszukanych dokumentów relewantnych b - liczba wyszukanych. dokumentów nierelewantnych
Pozostałe parametry efektywności
Przykład badania efektywności W systemie zorganizowanym zgodnie z metodą Saltona występują dokumenty o następujących opisach: d1: abe d2: acef d3: abec d4: ab d5: cde d6: def d7: aef d8: f d9: efg d10: ceg Na pytanie t=ab+f, odpowiedź systemu była następująca: {d1, d2, d7,d9}.
Pytanie do systemu: T = t1 + t2 ab + f ab f d1: abe d2: acef d3: abec d4: ab d5: cde d6: def d7: aef d8: f d9: efg d10: ceg d1,d3,d4 + d1: abe d2: acef d3: abec d4: ab d5: cde d6: def d7: aef d8: f d9: efg d10: ceg d2,d6,d7,d8,d9 Dokumenty relewantne: d1,d3,d4,d2,d6,d7,d8,d9
Zapis formalny Pytanie do systemu: T = ab + f T1 = ab T2 = f (t1)={d1,d3,d4} (t2)={d2,d6,d7,d8,d9} (t)= (t1) (t2) (t)={d1,d3,d4} {d2,d6,d7,d8,d9} = {d1,d3,d4,d2,d6,d7,d8,d9}
Dokumenty relewantne: d1,d3,d4,d2,d6,d7,d8,d9 Dokumenty Wyszukane przez system: d1,d2,d7,d9 Parametry oceny efektywności wyszukiwania takiego systemu kształtują się zatem następująco: wyszukane Niewyszukane Relewantne d1,d2,d7,d9 d3,d4,d6,d8 nierelewantne brak d5,d10
wyszukane Niewyszukane wyszukane Niewyszukane Relewantne a c Relewantne d1,d2,d7,d9 d3,d4,d6,d8 nierelewantne b d nierelewantne brak d5,d10 Kompletnośd K = a/(a+c) = 4/(4+4) = 1/2 Dokładnośd: D = a/(a+b) = 4/(4+0) = 1 Uzyskaliśmy pełną dokładnośd (D), gdyż nie wyszukano nierelewantnych dokumentów. Kompletnośd wyniosła jedynie 0.5 gdyż spośród 8 relewantnych dokumentów znaleziono jedynie połowę.
Relacja między kompletnością a dokładnością Dokładność Wysokiej dokładności towarzyszy niska kompletnośd i odwrotnie: wysokiej kompletności niska dokładnośd.