imię i nazwisko
Transkrypt
imię i nazwisko
TOMASZ JACH Instytut Informatyki GRIDOWE ALGORYTMY GRUPOWANIA W GRUPOWANIU DANYCH TEKSTOWYCH Streszczenie W tej pracy autor skupi się na gridowych metodach rozpoznawania wzorców w danych. Obecnie, wykorzystuje się te metody jedynie do analizy danych przestrzennych (zwykle dwuwymiarowych, np. geograficznych). Autor wykaże, że metody te można z powodzeniem zastosować również do danych tekstowych. 1. Wstęp Dane typu przestrzennego są bardzo trudne w automatycznej analizie. Dotychczas, podobnie jak dane tekstowe, operacje ekstrakcji i odkrywania przydatnych informacji (i powiązań pomiędzy nimi) były wykonywane przez analityków i specjalistów od drążenia danych. Jednakże dzisiaj, w dobie masowego dostępu do informacji oraz znacznego wzrostowi objętości danych (oraz ich złożoności), istnieje ogromne zapotrzebowanie na komputerowe metody analizy danych. Stopniowo przez lata odchodziło się od ręcznych metod eksploracji wiedzy zastępując je automatycznymi metodami komputerowymi. Wzrost możliwości komputerowej analizy danych sprawia, że pozyskiwanie i przetwarzanie danych stało się znacznie efektywniejsze. Dokonuje się analizy danych najróżniejszego rodzaju: od stosunkowo prostych danych z łatwymi do wykrycia powiązaniami, po złożone dane wielowymiarowe. Wzrost złożoności danych powoduje znacznie większe zapotrzebowanie na moc obliczeniową oraz wymaga optymalizacji obecnie stosowanych algorytmów, a niejednokrotnie – nowatorskich pomysłów na ich eksplorację. 2. Pożądane cechy algorytmu grupującego Każdy algorytm grupujący powinien cechować się kilkoma właściwościami pozwalającymi na zastosowanie go w różnych polach eksploatacji. Pierwszą z cech, ważną zwłaszcza przy grupowaniu danych przestrzennych, jest odpowiednio szybki czas działania. Wiąże się to z niską złożonością obliczeniową danego algorytmu. Dane przestrzenne są bardzo złożone, a co za tym idzie nawet kilkuprocentowy zysk wydajności w ogólnym rozrachunku powoduje wyraźne skrócenie obliczeń. Algorytm grupujący winien również łatwo i skutecznie identyfikować grupy o dowolnym kształcie. Wszelkie preferencje co do obiektów kulistych, prostopadłościennych lub innych powodują zaburzenia wyników. Najczęściej kształt grup nie jest znany przed rozpoczęciem grupowania, dlatego też zwykle nie można zakładać żadnego z rozmieszczeń obiektów w przestrzeni. Grupy mogą być również zagnieżdżone w sobie, mogą występować dziury w ich wnętrzach, mogą być poskręcane, wydłużone, wklęsłe lub wypukłe. Trudno również mówić o poprawnym grupowaniu w czasie gdy wartości izolowane istotnie wpływają na wynik grupowania zaburzając tym samym klasyfikację obiektów do grup. W czasie działania algorytmu obiekty odstające (a więc te nienależące do żadnej grupy) powinny być odfiltrowane i nie brane pod uwagę w grupowaniu. Dobra strategia grupowania powinna również być niewrażliwa na kolejność danych wejściowych. Innymi słowy – dla dowolnej permutacji tego samego zbioru obiektów wejściowych oraz identycznych parametrów algorytmu, otrzymywane grupy powinny być takie same. Zwykle podczas wdrażania systemu nie wiadomo na ile grup powinno się podzielić dane. Dlatego parametr ten nie powinien być podawany na początku działania algorytmu, a ilość grup powinna być determinowana przez sam algorytm w zależności od danych wejściowych. Skalowalność to cecha pozwalająca na uruchamianie algorytmu zarówno dla danych o małym rozmiarze, jak i dla tych ogromnych zbiorów danych. Ostatnią pożądaną cechą jest możliwość ustalania stopnia dokładności działania algorytmu. W przypadku danych przestrzennych można posłużyć się następującym przykładem: użytkownik uruchamia system, aby ten określił obszary występowania bogactw naturalnych. Algorytm grupujący odnajduje relewantne obszary i oznacza je na wizualizacji. Jednak drugi użytkownik potrzebuje informacji o tym jakie bogactwa naturalne występują w danym miejscu. Dlatego samo oznaczenie „występuje / nie występuje” jest dla niego zbyt ogólne. 3. Algorytmy gridowe Powstało wiele prac odnoszących się do zagadnienia eksploracji danych przestrzennych. Niektóre z nich bazują na odkrywaniu wiedzy, inne zaś na technikach klasteryzacji. Algorytmy DBSCAN (Density-Based Spatial Clustering of Applications with Noise), CLARANS (Clustering Large Applications based on RANdomized Search), BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies) mają poważną wadę w postaci budowy struktury wyszukiwawczej dopiero w momencie zadawania pytania do systemu. Struktura ta zmienia się z każdym pytaniem i nie może zostać powtórnie wykorzystana. Podnosi to znacznie złożoność czasową tych algorytmów – algorytmy te muszą co najmniej raz przeskanować całą przestrzeń obiektów. 3.1. Algorytm STING Odpowiedzią na te problemy jest algorytm STING (STatistical INformation Grid – „siatka wykorzystująca informacje statystyczne”) wykorzystywany do drążenia danych typu przestrzennego. Dane te zostają podzielone na prostokątne komórki. W zależności od potrzeb, proces ten jest wielokrotnie powtarzany dla każdej podzielonej komórki. Dzięki temu w sposób automatyczny otrzymujemy hierarchiczną strukturę komórek (podejście „top-down”). Każda komórka na wyższym poziomie jest dzielona na wcześniej ustaloną liczbę podkomórek. Oprócz tego, dla każdej z nich wyliczane są pewne informacje statystyczne używane do szybkiej odpowiedzi na pytania zadawane do systemu. Zaletami takiego podejścia są: Niezależna od pytania budowa struktury wyszukiwawczej, zważywszy na fakt istnienia informacji statystycznych niezależnych od zadawanych pytań, a zależnych tylko od wartości danych. Dane statystyczne są niejako sumaryczną reprezentacją danych zawartych w każdej z komórek. Złożoność obliczeniowa wynosi O(K), gdzie K jest liczbą komórek w siatce na najniższym poziomie. Zwykle K jest znacznie mniejsze od liczby obiektów w bazie. Algorytmy wyszukiwawcze wykorzystujące to podejście są bardzo łatwe do zrównoleglenia. Przy dodawaniu danych do systemu, należy tylko przeliczyć wartości statystyczne, a nie przebudowywać całą bazę. 1 –sza warstwa może mieć tylko jedną komórkę 1-sza wartswa . . . . . . . . . . (i-1)ta warstwa i-ta warstwa Rysunek 1: Hierarchiczna struktura w algorytmie STING Algorytm STING wykorzystuje do działania hierarchiczną strukturę gridową. W trakcie rozwiązywania dzieli się obszar danych przestrzennych (za pomocą atrybutów go określających, np. długości i szerokości geograficznej) i stosuje hierarchiczną strukturę podziału. Korzeniem hierarchii będzie poziom nr 1, jego potomkowie to poziom 2, itd. Łatwo zauważyć, że każda komórka na poziomie i-tym będzie się składać z sumy obszarów swoich potomków. Wang, Yang oraz Muntz (Wei Wang 1997) proponują, aby każda z komórek wyższego poziomu posiadała dokładnie 4 potomków. Korzeń odzwierciedla całą przestrzeń (zakłada się również dla uproszczenia, że ta jest prostokątna). Rozmiar komórek-liści jest zależny od gęstości obiektów. Generalną zasadą jest wybieranie rozmiaru każdej komórki tak, aby średnia liczba obiektów w każdej komórce wahała się pomiędzy kilkoma tuzinami a kilkoma tysiącami. Dodatkowo, aby osiągnąć pożądaną liczbę obiektów w komórce można manipulować parametrem określającym liczbę potomków komórek wyższego rzędu. Algorytm STING bardzo łatwo przystosować do wielowymiarowej przestrzeni. Zwykle jest on używany do przestrzeni dwuwymiarowej, ale bardzo łatwo dokonać generalizacji struktury hierarchicznej do większej ich ilości. Każda komórka jest opisywana dwoma rodzajami parametrów: zależnymi od atrybutów oraz niezależnymi od atrybutów. Jedynym parametrem niezależnym od atrybutów jest liczba obiektów (punktów) w komórce. Autor w swojej pracy proponuje użycie koncepcji algorytmów gridowych do grupowania danych typu tekstowego. Wykorzystuje się tu klasyczne podejście gridowe polegające na partycjonowaniu nie samych obiektów, ale przestrzeni zawierającej cechy każdego z obiektów w bazie. Ze względu na numeryczny charakter atrybutów danych przyjmowanych przez algorytmy gridowe należało zaproponować sposób uporania się z zamianą danych typu tekstowego na typ numeryczny. Do tego celu potencjalnymi technikami są: Zamiana na postać numeryczną – tj. każde słowo kluczowe zamieniane na atrybut numeryczny. Wady: „bliskie” słowa kluczowe mogą się znaleźć „daleko” od siebie. Określenie relewancji do każdego możliwego słowa kluczowego. Wady: ogromny nakład środków, niewygodna aktualizacja, sztywna struktura bazy danych. Modyfikacja przestrzeni cech. Takie ustawienie słów kluczowych, aby te najbliższe sobie były „obok siebie”. Zastosowanie miary Hamminga. Wady: faworyzowanie krótkich słów kluczowych, możliwe przekłamania, brak informacji o znaczeniu. 3.2. Pierwsza modyfikacja algorytmu STING Zaproponowano następujący algorytm grupowania: 1. Wczytaj dane do bazy danych. 2. Dla każdego słowa kluczowego: 1. Policz częstotliwość współwystępowania danego słowa kluczowego z wszystkimi innymi słowami kluczowymi. 2. Wybierz dwa najbliższe słowa kluczowe i umieść je „obok siebie”. 3. Zaktualizuj częstości współwystępowania wziętych słów kluczowych. 3. Umieść obiekty w przestrzeni n-wymiarowej słów kluczowych. 4. Zidentyfikuj gęste obszary. 5. Oznacz gęste obszary najczęściej występującymi słowami kluczowymi. Tak przedstawiony algorytm będzie korzystał z podejścia gridowego do wyszukiwania danych. W trakcie badań zostaną przedstawione próby adaptacji algorytmu STING (głównie podejścia statystycznego) do danych tekstowych. Niestety, już na etapie projektowania można zauważyć następujące trudności: 3.2.1. Atrybuty każdego obiektu to 5 słów kluczowych. Wszystkie te atrybuty są typu tekstowego, tak więc każdy z nich należałoby zamienić na postać numeryczną, co prowadzi do tych samych trudności jak opisane wyżej. Wyliczenie niezbędnego parametru rozkład dla danych tekstowych jest nietrywialne. Wszelkie podejścia opierające się na estymowaniu rozkładu zmiennej losowej nie sprawdzają się dla danych tekstowych. Wyliczenie pozostałych parametrów (min, max, średnia, odchylenie) również stanowi wyzwanie. Dane w postaci tematów prac licencjackich układają się w pewne naturalne regiony (choćby porównując fakt iż każdy z promotorów zajmuje się stosunkowo wąską i spójną dziedziną dyscypliny informatyka, więc tematy przez niego prowadzone zwykle poruszają się w tym samym obszarze tematycznym), lecz regiony te są bardzo trudne do odkrycia oraz zazębiają się między sobą. Analiza modyfikacji W toku badań próbowano zrealizować proponowaną modyfikację. Niestety, już na etapie pogłębionej analizy natrafiono na kilka znaczących problemów, które zostaną opisane poniżej. Pierwszym problemem był wspomniany już brak skutecznej metody zamiany danych typu tekstowego (słów kluczowych) na dane numeryczne. Poczynione starania realizujące opisane wcześniej metody nie doprowadziły do zadowalających rezultatów. Problemem ważniejszym był jednak brak dobrej koncepcji umieszczania obiektów w nwymiarowej przestrzeni. Zakładając, że n wynosi 5 (ponieważ tyloma słowami kluczowymi jest opisana cała praca) należałoby umieszczać obiekty, tożsame z tytułami prac licencjackich, w 5wymiarowej przestrzeni. Proponowany algorytm zakładał partycjonowanie takiej przestrzeni w celu otrzymania dobrych jakościowo grup. Przeanalizujmy jednak kontrprzykład takiego rozumowania. Mamy dane obiekty opisane słowami kluczowymi: Tabela 1: Obiekty powiązane ze słowami kluczowymi Obiekt A B C D Słowa kluczowe K1, K2, K3, K4, K5 K2, K3, K4, K5, K6 K1, K2, K3, K5, K6 K3, K4, K5, K6, K7 Intuicyjnie, już na pierwszy rzut oka widać, że obiekty są do siebie dość podobne. Lecz umieszczenie ich w przestrzeni 5-wymiarowej spowoduje, że to podobieństwo zostanie zagubione. Mamy tu do czynienia bowiem z sytuacją, gdy takie same słowa kluczowe mogą występować na różnych pozycjach w opisie dokumentu. Sprawia to, że obiekty A oraz B umieszczone w przestrzeni będą znajdowały się „daleko” od siebie. Drugim przykładem może być umieszczanie obiektów w przestrzeni dwuwymiarowej (konkretnie w przestrzeni opisanej siatką współrzędnych geograficznych). W tym przypadku jednak zarówno długość jak i szerokość geograficzna, pomimo tego samego zbioru wartości, oznacza coś zupełnie innego i nie jest możliwa zamiana kolejności opisu jak to ma miejsce w zbiorze dokumentów. Autor próbował poprawić tę koncepcję przez analizę podobieństwa dokumentów bez brania pod uwagę pozycji słowa kluczowego, ale takie podejście sprowadzało się do zwykłego algorytmu hierarchicznego, np. AHC, który został już zaprezentowany w pracy licencjackiej. 3.3. Modyfikacja oparta na strukturach polarnych W toku prac wyłoniła się kolejna modyfikacja. Ogólny zarys może przedstawić następujący opis algorytmu: 1. Za środek okręgu wybierz zbiór słów kluczowych podanych przez użytkownika. 2. Wybierz z całej bazy danych obiekty najbardziej podobne do zadanego przez użytkownika pytania (ich zbiór oznaczmy przez R). 3. Umieść je w równych odległościach od środka okręgu. Wycinki koła zawierające te obiekty będą tworzyć strukturę gridową. 4. Dla każdego obiektu należącego do zbioru R sprawdź w zależności od parametru promienia wyznacz obiekty najbardziej podobne do obiektów zbioru R. Umieść je w odpowiednim wycinku koła. 5. Zwróć w wyniku obiektu zbioru R oraz obiekty najbardziej do nich podobne. Struktura polarna pozwala na zniwelowanie problemu umieszczania takich samych słów kluczowych na różnych pozycjach w opisie dokumenty. Brana jest tutaj pod uwagę jedynie całkowita zgodność słów kluczowych. Autor zaimplementował system łącznie z systemem wyszukiwania opartym na algorytmie AHC (Agglomerative Hierarchical Clustering) oraz dokonał porównania wydajności oraz jakości generowanych wyników. Dzięki wygenerowanej na starcie macierzy podobieństwa wydatnie skraca się czas pracy algorytmu. Wadą proponowanego podejścia jest konieczność budowy struktury gridowej dla każdego nowego zadawanego pytania do systemu. Autor uważa jednak, że po zastosowaniu technik optymalizacyjnych (np. zapisania macierzy podobieństwa i jedynie wyborze odpowiednich wierszy) można dojść do zadowalających czasowo rezultatów. Niewątpliwą zaletą przedstawionego rozwiązania jest automatyczne radzenie sobie z problemem synonimów słów kluczowych. Wiadomym jest, że w opisach prac licencjackich mogą występować słowa kluczowe, które są bardzo bliskie semantycznie. Automatyczna analiza słów kluczowych jest w tym przypadku bardzo trudna. Dzięki dwustopniowemu procesowi grupowania oraz możliwości dostrojenia algorytmu za pomocą parametru „promień” możliwe jest dotarcie do tematów, które zawierają się w interesującej dla użytkownika końcowego dziedzinie, ale w swym opisie posiadają inne słowa kluczowe niż te wybrane przez użytkownika. Wspomniany już wcześniej parametr „promień” pozwala użytkownikowi na zawężenie lub poszerzenie wyników wyszukiwania. 4. Eksperymenty obliczeniowe Autor dokonał wstępnych eksperymentów obliczeniowych, których wyniki przedstawione są w tym rozdziale. W każdym przypadku badana jest kompletność oraz dokładność. Zamieszcza się również w ramach porównania wyniki działania algorytmu AHC. We wszystkich eksperymentach, jeśli nie zapisano inaczej, dobierano tak parametr „promień” aby zmaksymalizować dokładność kosztem kompletności. Bazą do eksperymentów był przygotowany przez autora zbiór tematów prac licencjackich o liczności 360. Każdy temat był opisany 5 różnymi słowami kluczowymi wybranymi spośród ponad 400 słów kluczowych zapisanych w bazie danych. 4.1. Słowa kluczowe z tej samej dziedziny W tym eksperymencie postanowiono sprawdzić jak zachowa się system, gdy użytkownik wyszukuje słowa kluczowe z tej samej dziedziny tematycznej. Wyniki przedstawia Tabela 2. W tym eksperymencie starano się zmaksymalizować dokładność, nawet za cenę bardzo niskiej kompletności. Tabela 5 przedstawia natomiast wyniki kompletności i dokładności dla pierwszych 5 zestawów słów kluczowych ujętych w tabeli niżej w zależności od parametru „promień”. Tabela 2: Wyniki eksperymentalne: słowa kluczowe z tej samej dziedziny L.p. Zbiór słów kluczowych 1. Programowanie, C++, Pascal, Java, .NET Programowanie, mrowisko, systemy mrowiskowe, ACS, lista TABU MAMS, Macromedia, grafika Logika, matematyka, szacowanie wzorów funkcji, edytor funkcji Systemy ekspertowe, wspomaganie decyzji, wspomaganie, drzewa Sieci bezprzewodowe, sieci komputerowe, sieć lokalna, portale internetowe Służba publiczna, służba zdrowia, straż pożarna, szkoła podstawowa Data mining, ekstrakcja, miary podobieństwa, analiza skupień Daktyloskopia, rozpoznawanie obrazu, 2. 3. 4. 5. 6. 7. 8. 9. AHC Kompletność Dokładność Grid Kompletność Dokładność 0.449438 1 0.011236 1 0.38835 1 0.0485437 1 0.368421 0.933333 0.0263158 1 0.5 0.125 1 1 0.447368 0.435897 0.0263158 1 0.486486 1 0.162162 1 0.666667 0.153846 1 0.642857 0.352941 0.162162 0.117647 1 0.47619 1 0.47619 1 10. grafika Linux, Windows, BSD 0.666667 1 1 0.75 4.2. Dokładnie jedno słowo kluczowe W tym eksperymencie postanowiono sprawdzić jak zachowa się system, gdy użytkownik poda tylko jedno słowo kluczowe. Wyniki przedstawia Tabela 3, w ostatniej kolumnie zawarta jest informacja jaki procent obiektów w bazie zawiera podane słowo kluczowe. Tabela 3:Wyniki eksperymentalne: dokładnie jedno słowo kluczowe L.p. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Słowo kluczowe Analiza Programowanie Multimedia Sieci komputerowe Systemy ekspertowe Zjawiska świetlne Telekomunikacja Sztuczna inteligencja Medycyna Grafika Kompletność Dokładność Kompletność Dokładność 0.324561 0.45977 0.517241 1 1 1 1 1 1 0.942149 0.966667 0.966667 Współczynnik procentowy 32% 24% 8% 0.514286 1 1 0.921053 10% 0.5 0.0540541 1 1 1% 1 0.6 0.0769231 0.166667 1 1 1 1 0,2% 1% 0.607143 1 1 0.823529 8% 0.722222 0.588235 1 1 1 1 1 1 5% 5% AHC Grid 4.3. Losowo wybrane słowa kluczowe W tym eksperymencie postanowiono sprawdzić jak zachowa się system, gdy użytkownik poda losowo wybrane słowa kluczowe należące do diametralnie różnych dziedzin. Wyniki przedstawia Tabela 4. Tabela 4:Wyniki eksperymentalne: losowo wybrane słowa kluczowe L.p. Zbiór słów kluczowych 1. ACS, baza wiedzy, falki geodetyczne, Open GL, wersja instruktorska Linux, Object Pascal, R-project, open source, V-python XML, laboratorium, 2. 3. AHC Kompletność Dokładność Grid Kompletność Dokładność 0.3 0.176471 1 0.625 0.444444 0.8 0.111111 1 0.230769 0.130435 0.153846 1 4. 5. 6. 7. 8. 9. 10. tkanka kostna, identyfikacja, J2ME Podejście liniowe, graficzna reprezentacja, ilość komórek, MCS-8, zdalny dostęp Java, listy, 3D, ultra termostat, firmy Java Builder, badanie, feromony, lynx, animacja Opis danych, naprawa, GIS, urządzenie, warunki środowiskowe Oświata, konwersja, gmina, sieci neuronowe, fakturowanie Handel, implementacja, identyfikacja, RAM, feromony Ilość komórek, ebiznes, samopowielanie obrazów, tabele mieszająca, uchwały 0.375 0.230769 1 0.888889 0.378378 0.35 0.804348 1 0.285714 0.05 1 0.875 0.444444 0.102564 1 1 0.5 0.230769 1 0.666667 0.166667 0.55 0.030303 1 0.4 0.0540541 1 0.714286 4.4. Wpływ parametru promień na wyniki wyszukiwania W tym eksperymencie skupiono się na algorytmie gridowym. Zbadano wpływ parametru promień (przyjmującego wartości [1;4]) na kompletność i dokładność wyszukiwania. Wyniki przedstawia Tabela 5. Tabela 5: Wyniki eksperymentalne: wpływ parametru promień Zbiór słów kluczowych Promień 1. Programowanie, C++, Pascal, Java, .NET 2. Programowanie, mrowisko, mrowiskowe, ACS, lista TABU 3. MAMS, Macromedia, grafika, e-learning 1 2 3 4 1 2 3 4 1 2 3 L.p. systemy Grid Kompletność Dokładność 0.011236 1 0.011236 1 0.235955 1 1 0.864078 0.0485437 1 0.0776699 1 0.475728 1 0.980583 0.528796 0.1 1 0.35 1 0.575 0.884615 4. Logika, matematyka, szacowanie wzorów funkcji, edytor funkcji 5. Systemy ekspertowe, wspomaganie decyzji, wspomaganie, drzewa 4 1 2 3 4 1 2 3 4 0.7 1 1 1 1 0.0263158 0.0263158 0.105263 0.368421 0.277228 1 0.454545 0.0900901 0.0332226 1 0.2 0.181818 0.103704 5. Wnioski We wszystkich tabelach dokładność jest definiowana jako stosunek liczby wyszukanych obiektów relewantnych do liczby wszystkich wyszukanych, natomiast kompletność jako stosunek liczby wyszukanych dokumentów relewantnych do liczby wszystkich relewantnych. Wyniki eksperymentów dla powiązanych słów kluczowych (Tabela 1) pozwalają stwierdzić, że algorytm gridowy ma wyższe parametry dokładności, jednocześnie osiągając niższą kompletność. Ma to miejsce ze względu na fakt wyboru małej liczby dokumentów (bo tylko najbardziej podobnych) przez algorytm gridowy. Algorytm AHC natomiast wybiera grupy złożone ze stosunkowo większej liczby obiektów. Jak widać w dalszych eksperymentach, modyfikowanie parametru „promień” pozwala zniwelować przewagę AHC za cenę mniejszej dokładności. W przyszłości zostaną zaimplementowane inne metody oceny wydajności algorytmów. Algorytm gridowy został zoptymalizowany pod kątem uzyskania lepszej dokładności. Widać tutaj jednak paradoks – przy przyjętej przez autora definicji dokumentów relewantnych (tj. takich dokumentów, które w swoim opisie posiadają przynajmniej jedno słowo kluczowe wybrane przez użytkownika) najlepsze rezultaty osiągnie proste przeszukiwanie liniowe. Nadrzędnym celem algorytmu jest jednak znajdowanie obiektów, które są podobne do podanego przez użytkownika opisu, niekoniecznie jednak zawierającego słowa kluczowe podane przez niego na wejściu algorytmu. Jednocześnie brak jest obiektywnej metody oceny jakości takiego grupowania, poza arbitralną oceną empiryczną dokonaną przez eksperta za każdym razem. W trakcie badań ujawniła się ciekawa właściwość algorytmu gridowego. Otóż może on zostać wykorzystany do skutecznego wyszukiwania dokumentów, które w klasycznym grupowaniu znalazłyby się w zupełnie różnych grupach (patrz Tabela 4:Wyniki eksperymentalne: losowo wybrane słowa kluczowe). Algorytm dobrze radzi sobie z losowo podanymi słowami kluczowymi, a więc można przypuszczać, że będzie odporny na błędnie podane przez użytkownika słowa kluczowe (np. dzięki braku znajomości dziedziny przedmiotowej). Jak już napisano wcześniej, parametr promień może zostać użyty do sterowania procesem grupowania. Z eksperymentów (Tabela 5: Wyniki eksperymentalne: wpływ parametru promień) wynika jednoznaczna zależność pomiędzy promieniem a kompletnością i dokładnością. Przedmiotem dalszych badań jest ustalenie optymalnej wartości tego parametru dla procesu wyszukiwania. Algorytm AHC osiąga lepsze rezultaty, gdy zapytanie dotyczy bardzo dobrze rozróżnialnych i oddzielonych grup. Algorytm gridowy dla tych samych danych osiąga bardzo zbliżoną dokładność, lecz jego kompletność jest znacznie niższa. Warto tu jednak zauważyć, że w przypadku podania na wejściu zestawu słów kluczowych, z których choćby jedno jest spoza dziedziny całej reszty znacząco zmniejsza skuteczność wyszukiwania. Algorytm gridowy jest wyraźnie odporniejszy na tego typu sytuację. W toku realizacji programowej, autor postanowił wykonywać część operacji grupowania bezpośrednio na bazie danych SQL. Został dzięki temu osiągnięty ogólny wzrost szybkości wyszukiwania, dzięki optymalnym mechanizmom przeszukiwania i przecinania danych zawartych w bazie danych w porównaniu z tymi samymi operacjami wykonywanymi lokalnie. Dla skorelowanych słów kluczowych w 90% przypadków dokładność algorytmu gridowego była co najmniej tak samo dobra jak dla algorytmu AHC. W wielu przypadkach dokładność była nawet znacząco lepsza. W przypadku kompletności AHC daje znacząco lepsze rezultaty, lecz algorytm gridowy zbliża się do uzyskiwanych wyników dzięki modyfikacji parametru „promień”. Autor planuje dalsze eksperymenty w tym zakresie. Dla losowo dobranych słów kluczowych algorytm gridowy jest bezkonkurencyjny. Kompletność jest lepsza o rząd wielkości, dokładność nie spada poniżej 63% (a średnio jest dużo wyższa). AHC w tym przypadku daje znacznie gorsze wyniki. Bibliografia [1] Berkhin, Pavel. „Survey of Clustering Data Mining Techniques.” 2002. [2] da Fontoura Costa, Luciano, i Roberto Marcondes Cesar Jr. Shape Analysis and Classification: Theory and Practice. 2001. [3] Gan, Guojun, Chaoqun Ma, i Jianhong Wu. Data Clustering Theory, Algorithms, and Applications. 2007. [4] Halkidi, Maria, Yannis Batistakis, i Michalis Vazirgiannis. „Cluster validity methods: Part I.” ACM SIGMOD Record, 2002: 40-45. [5] Jach, Tomasz. Grupowanie jako metoda eksploracji wiedzy w systemach wsomagania decyzji. Analiza algorytmów hierarchicznych. Sosnowiec, 2008. [6] Kaufman, L., i P. Rousseeuw. Finding Groups in Data: An Introduction to Cluster Analysis. John Wiley and Sons, 1990. [7] Pankowski, Tadeusz. Integracja i eksploracja danych. Wymiana Informacji i Interaktywne Komunikowanie Medialne. 2003. [8] Stein, Benno, Sven Meyerzu-Eissen, i Frank Wissbrock. „On Cluster Validity and the Information Need of Users.” 2005. [9] Tan, P. N., M. Steinbach, i V. Kumar. Introduction to data mining. Addison-Wesley, 2006. [10] U. Fayyad, G. P. Shapiro, i P. Smyth. „From data mining to knowledge discovery.” AI Magazine, 1996. [11] Wei Wang, Jiong Yang, Richard Muntz. "STING : A Statistical Information Grid Approach to Spatial Data." 1997. [12] Xięski, Tomasz. Grupowanie jako metoda eksploracji wiedzy w systemach wsomagania decyzji. Analiza algorytmów niehierarchicznych. Sosnowiec, 2008.