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.

Podobne dokumenty