Professional Documents
Culture Documents
Spis treści 1
1 Wstęp 7
1.1 Klasyfikacja dokumentów tekstowych . . . . . . . . . . . . . . 7
1.2 Wstępne przetwarzanie dokumentów (ang. document prepro-
cessing) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1 Wydobywanie cech (ang. feature extraction) . . . . . . 8
1.2.2 Selekcja cech (ang. feature selection) . . . . . . . . . . 8
1.2.3 Sposób reprezentacji dokumentu . . . . . . . . . . . . 9
1.3 Kategoryzacja dokumentów tekstowych . . . . . . . . . . . . 9
1.3.1 Drzewa decyzyjne . . . . . . . . . . . . . . . . . . . . 10
1.3.2 Reguły decyzyjne . . . . . . . . . . . . . . . . . . . . . 11
1.3.3 k - nn (k-nearest neighbor ) . . . . . . . . . . . . . . . 11
1.3.4 Inne metody wektorowe . . . . . . . . . . . . . . . . . 12
1.3.5 Metody bayesowskie (naiwne i nienaiwne) . . . . . . . 13
1.3.6 Sieci neuronowe . . . . . . . . . . . . . . . . . . . . . . 13
1.3.7 Metody regresywne . . . . . . . . . . . . . . . . . . . . 14
1.4 Grupowanie (ang. clustering) . . . . . . . . . . . . . . . . . . 14
2 Selekcja cech 15
2.1 Ogólny zarys zagadnienia . . . . . . . . . . . . . . . . . . . . 15
2.2 Selekcja cech w dokumentach tekstowych . . . . . . . . . . . 15
2.3 Wstępne przetworzenie danych . . . . . . . . . . . . . . . . . 16
2.4 Algorytmy selekcji cech . . . . . . . . . . . . . . . . . . . . . 17
2.4.1 Document Frequency . . . . . . . . . . . . . . . . . . . 17
2.4.2 χ2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 Klasyfikatory 22
3.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Klasyfikator KNN . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1 Podstawy . . . . . . . . . . . . . . . . . . . . . . . . . 23
1
SPIS TREŚCI 2
4 Platforma 33
4.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Przechowywanie danych . . . . . . . . . . . . . . . . . . . . . 33
4.3 Środowisko . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4 Technologie oraz sprzęt . . . . . . . . . . . . . . . . . . . . . 35
4.5 Budowa systemu . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.6 Instalacja systemu . . . . . . . . . . . . . . . . . . . . . . . . 36
4.7 Obsługa systemu . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.8 Parametry modułów . . . . . . . . . . . . . . . . . . . . . . . 36
4.8.1 DmExtractor . . . . . . . . . . . . . . . . . . . . . . . 37
4.8.2 DmReductor . . . . . . . . . . . . . . . . . . . . . . . 37
4.8.3 DmKNN . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.8.4 DmBayes . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.9 Przeprowadzenie eksperymentu . . . . . . . . . . . . . . . . . 37
4.10 Przykład interakcji z systemem . . . . . . . . . . . . . . . . . 38
5 Eksperymenty 40
5.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2 Ewaluacja eksperymentów . . . . . . . . . . . . . . . . . . . . 40
5.3 Dane z grup dyskusyjnych . . . . . . . . . . . . . . . . . . . . 40
5.4 Algorytm KNN wykorzystujący wagi wyliczone przez TF/IDF 41
5.4.1 Eksperymenty . . . . . . . . . . . . . . . . . . . . . . 41
5.5 Algorytm KNN wykorzystujący χ2 . . . . . . . . . . . . . . . 42
5.5.1 Dane . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.5.2 Wpływ zmiany parametru k na skuteczność klasyfika-
tora . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.6 Klasyfikator Bayesowski . . . . . . . . . . . . . . . . . . . . . 46
5.6.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.6.2 Testy bez optymalizacji danych . . . . . . . . . . . . . 46
SPIS TREŚCI 3
6 Wnioski 61
6.1 Proces stemmingu przy wykorzystaniu algorytmu Portera . . 61
6.2 DF a χ2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7 Podsumowanie 66
Bibliografia 67
Dodatki 68
Słownik pojęć 69
Spis tabel 71
Spis rysunków 72
Podziękowania
Pragniemy podziękować za pomoc naszemu promotorowi dr Marcinowi
Sydowowi za Jego wkład merytoryczny oraz wsparcie duchowe jakiego udzie-
lał nam podczas pisania niniejszej pracy. Chcielibyśmy również podziękować
dr Dominikowi Ślęzakowi, który prowadził nasz projekt w pierwszym seme-
strze i przekazał nam wiele wartościowych informacji dotyczących tematyki
data-miningu. Dodatkowe podziękowania należą się dr Jakubowi Wróblew-
skiemu za Jego cenny czas, który zechciał nam poświęcić, przy konsultacjach
dotyczących naszego projektu.
Wkład w powstanie pracy każdego z członków projektu
Łukasz Łażewski
Mariusz Pikuła
Adam Siemion
Michał Szklarzewski
Teoria związana z
klasyfikacją
6
Rozdział 1
Wstęp
7
ROZDZIAŁ 1. WSTĘP 8
Bez względu na wybraną metrykę kolejnym etapem selekcji cech jest wy-
rzucenie ze słownika tych słów kluczowych, które niosą najmniej informa-
cji. Do następnej fazy przechodzi zatem n słów o najwyższych wartościach
wskaźnika.
1. drzewa decyzyjne
2. reguły decyzyjne
ROZDZIAŁ 1. WSTĘP 10
6. sieci neuronowe
7. metody regresywne
cosα = |a|∗|b| ,
a•b
Selekcja cech
15
ROZDZIAŁ 2. SELEKCJA CECH 16
selekcji cech.
Podsumowanie
Algorytm DF opiera się na częstości występowania danego słowa w całej
kolekcji dokumentów. Algorytm ten nie bierze pod uwagę klas decyzyjnych,
a także zależności między nimi a słowami kluczowymi. Opiera się on jedynie
na miarach ilościowych.
Drugi algorytm, który zastosowaliśmy w naszym projekcie uwzględnia
zależności między klasami decyzyjnymi a poszczególnymi słowami ze słow-
nika pojęć. Jak później będziemy mieli okazję się przekonać zastosowanie
tego algorytmu daje inne wyniki jeśli chodzi o uzyskaną skuteczność klasy-
fikatora. Inaczej wybierane są także słowa ze słownika dla algorytmu klasy-
fikującego niż w przypadku algorytmu DF. Algorytm ten koncentruje się na
rozkładzie zmiennej losowej (w tym przypadku konkretnego słowa ze słowni-
ka) względem kategorii. Pozwala on znaleźć słowa, których liczba wystąpień
w konkretnej kategorii jest znacznie większa, bądź też mniejsza niż wyni-
kałoby to z rozkładu zmiennej losowej. Algorytm ten w przeciwieństwie do
algorytmu DF omawianego wcześniej pozwala na ściślejsze związanie danego
słowa z klasą decyzyjną dokumentu.
2.4.2 χ2
χ2 (czyt. chisquare) jest drugą metodą selekcji cech wykorzystywaną w na-
szym projekcie. W przeciwieństwie do omawianej w poprzednim podroz-
dziale metody DF uwzględnia ona zależności jakie mogą zachodzić między
klasami decyzyjnymi a słowami kluczowymi [Aas99] [Chak02].
Opis działania
W naszym systemie w najprostszym przypadku klasyfikacji podlegać bę-
dą dokumenty podzielone na trzy klasy decyzyjne. Ten właśnie najprostszy
przypadek posłuży za punkt wyjścia dla wyjaśnienia zasady działania algo-
rytmu χ2 . Oznaczmy klasy decyzyjne jako C = 0,1,2 oraz wybrane słowo
kluczowe jako t. Przy takich założeniach niech:
C/It 0 1
0 k0,0 k0,1
1 k1,0 k1,1
2 k2,0 k2,1
gdzie:
n - liczba dokumentów w kolekcji
n = k0,0 + k0,1 + k1,0 + k1,1 + k2,0 + k2,1
Zastosowanie
Dla celów selekcji cech wyliczamy wartość współczynnika χ 2 dla wszystkich
słów kluczowych, które znajdują się w słowniku. Następnie uzyskane warto-
ści sortujemy w porządku malejącym.
Zgodnie z tym, co zostało napisane w poprzednim rozdziale słowa o wyso-
kiej wartości współczynnika wyliczonego przez ten algorytm możemy uznać
za dobre wyznaczniki przynależności danego dokumentu do klasy decyzyj-
nej. Spośród tak przygotowanego zestawu słów wraz z wyliczonymi dla nich
wartościami χ2 dokonujemy selekcji. Wybieramy słowa o najwyższej warto-
ści współczynnika [Cal00]. Dzięki temu wektor wejściowy będzie zbudowany
ze słów, których obecność w dokumencie jest w jak największym stopniu
związana z przynależnością dokumentu do danej klasy decyzyjnej.
Dla uzyskania jak najlepszych wyników należy kilkakrotnie dokonać se-
lekcji słów kluczowych. Przez kilkakrotną selekcję rozumiemy wielokrotne
eksperymentalne dobieranie wartości parametru χ 2 , powyżej której słowo
kluczowe zostanie włączone do wektora jako jego kolejna współrzędna. Sło-
wa kluczowe dobierane są według wartości parametru χ 2 (im większa wartość
parametru tym większa szansa, ze słowo znajdzie się w wektorze).
Należy pamiętać, że wzrost ilości współrzędnych wektora pociąga za so-
bą wzrost ilości czasu potrzebnego do przeprowadzenia całego procesu kla-
syfikacji. całego problemu. Co więcej, zwiększenie ilości słów kluczowych
w wektorze cech nie zawsze musi pociągać za sobą zwiększenie skuteczno-
ści klasyfikatora. Może dojść do sytuacji, kiedy wprowadzone do wektora
ROZDZIAŁ 2. SELEKCJA CECH 21
Podsumowanie
Algorytm χ2 nie opiera się, tak jak ma to miejsce w przypadku algorytmu
DF na podejściu ilościowym. Idea powyżej opisanego algorytmu opiera się na
regułach probabilistyki oraz założeniu niezależności dwóch zdarzeń, jakimi
są przynależność dokumentu do klasy decyzyjnej, oraz obecność aktualnie
rozpatrywanego słowa kluczowego w tym dokumencie.
Zastosowanie takiego podejścia pozwala wybrać te słowa kluczowe, które
w jak największym stopniu są powiązane z klasami decyzyjnymi dokumen-
tów. Stanowi to znaczącą różnicę w porównaniu z algorytmem DF, który
takich zależności nie brał w ogóle pod uwagę.
Rozdział 3
Klasyfikatory
3.1 Wstęp
Spośród metod klasyfikacji dokumentów tekstowych opisanych we wstępie
pracy w systemie zostały zaimplementowane dwie z nich: KNN oraz (ang.
Naive Bayes). Obydwie metody reprezentują przykład odmiennego podej-
ścia do zagadnień klasyfikacji, pomimo, iż każdy z nich oparty jest na regu-
łach zaczerpiętnych z matematyki.
22
ROZDZIAŁ 3. KLASYFIKATORY 23
Pn q
d(oa , ob ) = i=1 (oai − obi )2
n = liczba termów
oai = wartość i-tego atrybutu pierwszego obiektu
obi = wartość i-tego atrybutu drugiego obiektu
3.2.3 TF/IDF
Miara wyliczana w tym algorytmie oparta jest na częstotliwości występo-
wania danego słowa w dokumencie, oraz liczbie dokumentów, w której dane
słowo występuje. Cały algorytm opiera się na następującym wzorze:
3.2.4 Zastosowania
Algorytm KNN może być wykorzystywany w wielu innych zastosowaniach,
innych niż klasyfikacja dokumentów tekstowych, np. w systemach wykrywa-
nia włamań IDS [Raw04]. Każdy problem, który możliwy jest do przedsta-
wienia jako zbiór liczbowych atrybutów bądź możliwe jest stworzenie funkcji
liczącej odległości pomiędzy dowolnymi dwoma obiektami, może zostać roz-
wiązany za pomocą algorytmu KNN.
3.2.5 Wady
Główną wadą algorytmu KNN jest mała wydajność i duże wymagania na
zasoby obliczeniowe. Wszystkie dane treningowe muszą być przechowywane.
A dokonanie klasyfikacji jednego obiektu wymaga przejrzenia całego zbioru
danych treningowych. Problemem jest również fakt, iż cały czas obliczenio-
wy wykorzystywany jest podczas klasyfikacji a nie w momencie dodawania
nowego obiektu do zbioru danych treningowych [Aas99]. Te wady wyklucza-
ją możliwość stosowania algorytmu KNN w systemach zawierających duże
ilości danych oraz w systemach, które muszą szybko podejmować decyzję na
podstawie danych dostarczonych przez użytkownika. Również dużym proble-
mem jest dobór odpowiedniej wartości parametru k, który ma decydujący
wpływ na jakość klasyfikacji. Zwykle jest on zależny od rodzaju danych,
na których działa klasyfikator, dlatego najlepiej jest znaleźć jego najlepszą
ROZDZIAŁ 3. KLASYFIKATORY 26
wartość eksperymentalnie.
3.2.7 Eksperymenty
W naszej pracy przeprowadziliśmy eksperymenty z różnymi mutacjami algo-
rytmu TF IDF, algorytmu głosowania oraz algorytmu doboru parametru k.
ROZDZIAŁ 3. KLASYFIKATORY 27
P (a|B)
gdzie:
a - zdarzenie elementarne
B - zdarzenie elementarne mające wpływ na zajście zdarzenia a
Z powyższego wyrażenie korzysta sie jedynie gdy zdarzenie B ma wpływ
na możliwość zajścia a, w przeciwnym wypadku jest to prawdopodobieństwo
a priori P (a), gdzie zdarzenie a jest niezależne i nie ma na nie wpływu
zdarzenie B. Prawdopodobieństwa a priori i a posteriori są sobie równe.
Poniższy wzór na prawdopodobieństwo warunkowe stanowi punkt wyjścia
dla dalszych rozważań:
P (B|A)P (A)
P (A|B) = P (B)
Przykład:
Dla dwóch klas decyzyjnych: d1 i d2 o wartościach kolejno 0 i 1, istnieją
prawdopodobieństwa: P (X|d1 ), P (X|d2 ) - czyli opisujące prawdopodobień-
stwo wystąpienia w danej klasie dla tekstu X.
a1 a2 a3 a4 d
0 0 0 1 0
1 1 1 1 0
1 0 1 1 1
0 0 1 0 1
a1 a2 a3 a4
0 1 0 1
2. Przebieg klasyfikacji:
Dla pierwszej z klas decyzyjnych (0) z danych uczących rozpatrywane
są wszystkie wektory posiadające decyzję 0. Sprawdza się ile wśród
nich posiada taką samą wartość każdego z atrybutów, co atrybuty
rozpatrywanego wektora. Próba dokonywana jest dla wszystkich cech
niezależnie i stanowi prawdopodobieństwo dla konkretnego atrybutu
P (atrybutx |decyzja = 0). Czyli dzieli się liczbę wektorów posiadają-
cych klasę 0 i taki sam atrybutx jak w rozważanym wektorze. Przy
czym atrybutx to kolejna z występujących cech, w tym wypadku: a 1 ,
a2 , a3 , a4 . Iloczyn wyliczonych w ten sposób prawdopodobieństw to
ROZDZIAŁ 3. KLASYFIKATORY 29
P ((0,1,0,1)|d=0)P (d=0)
P (d = 0|(0, 1, 0, 1)) = P (0,1,0,1)
3.3.3 Podsumowanie
Ilość atrybutów na wejściu w wektorze w powyższym przykładzie wynosi 4,
w rzeczywistości liczby te są znacznie większe. To samo ma miejsce w przy-
padku ilości klas decyzyjnych. Ilość danych treningowych również ma duże
znaczenie - powinna być ona jak największa. Zwiększa to wartości prawdo-
podobieństw P (atrybutx |decyzja) czyli o wystąpieniu takiej samej wartości
atrybutux wśród znanych wektorów co w rozpatrywanym tekście. Powoduje
to wzrost przyszłych szans na poprawną klasyfikację jako, że zmianie ulegnie
również iloczyn prawdopodobieństw P (a 0 |A)P (a1 |A)...P (an |A). Istotny też
jest fakt, że powyżej zastosowany algorytm działa na wektorach przyjmu-
jących wartości różnego typu. Istnieje możliwość posiadania znacznie bar-
dziej rozbudowanej struktury dokumentów i ich atrybutów, jak wyliczanie
wag dla każdego słowa kluczowego w procesie poprzedzającym samą klasy-
fikację. Czyli dane miałyby postać wielomianową a nie jak na powyższym
przykładzie binarną.
Zwiększanie omegi o dopiero co rozpatrzone wektory spowoduje zwięk-
szenie mocy tego zbioru. Tym samym prawdopodobieństwa P (atrybut x |decyzja)
będą dokładniejsze czyli wrośnie dokładność samej klasyfikacji. W tym przy-
padku istotne jest by wektory tworzące omegę dobierane były losowo, aby
ROZDZIAŁ 3. KLASYFIKATORY 31
Ekperymenty związane z
klasyfikacją dokumentów
tekstowych
32
Rozdział 4
Platforma
4.1 Wstęp
Aby możliwe było przeprowadzenie wszystkich eksperymentów, które stano-
wią istotę naszej pracy musiała powstać platforma umożliwiająca zarówno
wygodne przeprowadzanie eksperymentów jak i przechowywanie ich wyni-
ków w celu późniejszej weryfikacji.
33
ROZDZIAŁ 4. PLATFORMA 34
nego modułu, nazwę modułu, nazwa klasy implementującej ten moduł oraz
krótki opis modułu). Natomiast tabela ”Log test” zawiera wyniki działania
klasyfikatora (dokument który klasyfikowano, moduł który uruchomiono,
wynik klasyfikacji dla danego dokumentu oraz pewność decyzji).
4.3 Środowisko
Głównym celem przyświecającym podczas projektowania systemu było uprosz-
czenie procesu przeprowadzania eksperymentów. Udało nam się uzyskać ten
efekt poprzez wprowadzenie możliwości niezależnego uruchamiania poszcze-
gólnych modułów wchodzących w skład systemu. Dzięki zastosowaniu takie-
go właśnie rozwiązania zdołaliśmy skrócić czas potrzebny na przeprowadze-
nie pojedynczego eksperymentu. Wprowadzenie modułowej konstrukcji wy-
eliminowało konieczność każdorazowego uruchamiania całego systemu w celu
przeprowadzenia pojedynczego eksperymentu. Moduły w systemie stanowią
oddzielne bloki realizujące określone funkcje. Rozróżniamy następujące mo-
duły:
4.8.1 DmExtractor
porter włącza/wyłącza stemmer wykorzystujący algorytm Portera
4.8.2 DmReductor
min minimalna ilość wystąpień termu, który zostanie uwzględniony w pro-
cesie klasyfikacji
4.8.3 DmKNN
k ilość sąsiadów z których będzie wybierany zwycięzca w głosowaniu więk-
szościowym
4.8.4 DmBayes
omega liczność zbioru danych testowych
opty rodzaj stosowanej optymalizacji. Dostępne są: bin dla binaryzacji oraz
dys1 dla zmiany wag na liczby całkowite i dys2 dla kwantyzacji wag
do liczb od 1 do 12.
$ ./run.sh
[INFO] main:waiting for connections
status
OK 0s
[modules]
parser:PAUSED
extractor:PAUSED
reductor:PAUSED
weightcomputer:PAUSED
classifier:PAUSED
[run queue]
status
OK 0s
[modules]
parser:PAUSED
extractor:RUNNING:06.06.2005 19:54:55 : 41%
reductor:PAUSED
weightcomputer:PAUSED
classifier:PAUSED
[run queue]
matrix
OK 0s
matrix
d4 & d11 &
d4 & 36 & 10
d11 & 1 & 46
diagonal sum: 82
total tests: 93
accuracy: 88.17204301075269%
Rozdział 5
Eksperymenty
5.1 Wstęp
Testy, które zostaną opisane w niniejszym rozdziale stanowią istotę naszej
pracy. Przeprowadzone testy możemy podzielić na kilka grup. Pierwszą gru-
pę obejmują eksperymenty badające wpływ zmian kryteriów doboru termów
na wynik działania algorytmu KNN. Pozostałe grupy obejmują ekspery-
menty dotyczące wpływu zastosowania rożnych algorytmów selekcji cech na
skuteczność klasyfikacji, oraz różnice miedzy poszczególnymi typami algo-
rytmów klasyfikacji dokumentów zaimplementowanych w systemie.
40
ROZDZIAŁ 5. EKSPERYMENTY 41
174 dokumenty.
5.4.1 Eksperymenty
Progi odcinające z dołu 0.2% oraz 80% z góry (tabela 5.1).
Progi odcinające z dołu 1 słowo kluczowe oraz 80% z góry (tabela 5.2).
Test został przeprowadzony tylko między dokumentami z dwóch klas
decyzyjnych:
ROZDZIAŁ 5. EKSPERYMENTY 42
Tabela 5.2: Progi odcinające z dołu 1 słowo kluczowe oraz 80% z góry.
Progi odcinające z dołu 1 słowo kluczowe oraz 80% z góry (tabela 5.3).
Tabela 5.3: Progi odcinające z dołu 1 słowo kluczowe oraz 80% z góry (dwie
klasy decyzyjne).
5.5.1 Dane
Testy przeprowadzono na tych samych danych (patrz: 5.3), które wykorzy-
stane w poprzednim podrozdziale (3 grupy decyzyjne, zbiór 1742 dokumen-
tów, próbka testowa 174 dokumentów). Dzięki temu możliwe będzie porów-
nanie wyników uzyskanych w obu przypadkach, zarówno przy wykorzystaniu
χ2 jak i DF. Aby poszczególne eksperymenty mogły zostać ze sobą porów-
nane próbka testowa, na której były one przeprowadzane przy każdym eks-
perymencie pozostawała stała.
d1 d2 d3
d1 46 3 2
d2 12 45 1
d3 21 29 15
d1 d2 d3
d1 31 19 1
d2 2 55 1
d3 8 30 27
d1 d2 d3
d1 18 30 3
d2 1 56 1
d3 3 39 23
Wnioski:
Zestaw testów 5.7 uwidacznia, iż jakość klasyfikacji jest bardzo słaba. Po
przeanalizowaniu danych zauważalny jest następujący problem: Wartości
atrybutów (wag) są tak różnorodne, że wartości nie powtarzają się. W efek-
cie czego nie udaje się policzyć prawdopodobieństw P (a|decyzja), a tym sa-
mym przeprowadzić poprawnej klasyfikacji. Kolejnym problemem jest fakt,
że istnieje niewielka liczba wektorów, które posiadają wiele słów kluczowych.
Prowadzi to do sytuacji gdzie duża część danych jest zerami.
Wnioski:
Ponownie wyniki 5.8 są zdecydowanie niższe od możliwych do uzyskania
drogą losowania. Zauważalne jest podniesienie się dolnej granicy skutecz-
ności i tym samym zmniejszenie się różnic pomiędzy kolejnymi wynikami
klasyfikacji.
Wnioski:
W wynikach 5.9 osiągnięto 40% skuteczność na poprawną klasyfikację da-
nego wektora. Zauważalna poprawa jest wynikiem zwiększenia się prawdo-
podobieństw P (a|decyzja) czyli ilości wystąpień danej wartości dla danego
atrybutu w omedze.
Wnioski:
Binaryzacja dała zdecydowanie najlepsze rezultaty. Powyższe wyniki 5.10 to
sumaryczne zestawienie testów przeprowadzonych dla różnych liczności ome-
gi - kolejno: 800, 1000, 1500. Jak widać wzrost liczności oraz zastosowanie
zmiany liczb większych od zera na 1 spowodowało wzrost szans na poprawną
klasyfikację. Maksymalna skuteczność osiągnęła wartość 61%. Jest to maksi-
mum jakie udało się uzyskać dla takich danych. Ich dalsza optymalizacja czy
też modyfikacja jest bardzo trudna. By jednak zobrazować problem z wy-
stępowaniem zer jako wartości atrybutów w tabeli 5.11 pokazano ilość zer
w stosunku do wszystkich atrybutów o wartości niezerowej.
Wagi niezerowe: 4%
Wagi zerowe: 96%
5.6.6 Podsumowanie
Okazuje się, że dane mają istotny wpływ na jakość klasyfikacji, zbyt częste
powtarzanie się pewnej wartości jest tak samo niesprzyjające jak jej zbyt
rzadkie występowanie. Ważne jest też by posiadać jak największy zbiór da-
nych uczących i by był on znacznie większy od ilości słów kluczowych - na
przedstawionych eksperymentach wyniki klasyfikacji były nienajlepsze rów-
nież z tej przyczyny. Wynika to z tego, że wielkość zbioru uczącego była
zbliżona do ilości słów kluczowych (tabela 5.12).
Sytuacja gdzie liczba atrybutów jest równa bądź większa od liczby wek-
torów jest niezwykle niekorzystna - zmniejsza szansę na zaistnienie takich
ROZDZIAŁ 5. EKSPERYMENTY 49
26-FEB-1987 15:01:01.79
cocoa
BAHIA COCOA REVIEW SALVADOR, Feb 26 - Showers continued throughout
the week in the Bahia cocoa zone, alleviating the drought since early
January and improving prospects for the coming temporao,
although normal humidity levels have not been restored,
Comissaria Smith said in its weekly review.
The dry period means the temporao will be late this year.
Arrivals for the week ended February 22 were 155,221 bags
of 60 kilos making a cumulative total for the season of 5.93
mln against 5.81 at the same stage last year. Again it seems
that cocoa delivered earlier on consignment was included in the
arrivals figures.
Comissaria Smith said there is still some doubt as to how
much old crop cocoa is still available as harvesting has
practically come to an end. With total Bahia crop estimates
around 6.4 mln bags and sales standing at almost 6.2 mln there
are a few hundred thousand bags still in the hands of farmers,
middlemen, exporters and processors.
• money
• money-incomes
• money-banking
ROZDZIAŁ 5. EKSPERYMENTY 52
• money-banking-interests
5.7.2 Eksperymenty
Na nowe dane wprowadzone do systemu składało się 1898 dokumentów po-
dzielonych na cztery następujące klasy decyzyjne:
d4 d6 d8 d10
d4 15 1 0 1
d6 2 19 4 4
d8 1 3 11 9
d10 1 1 5 16
d4 d6 d8 d10
d4 13 2 0 2
d6 1 22 1 5
d8 1 3 13 7
d10 1 0 2 20
Rysunek 5.9: Obcięcie z góry 80%, obcięcie z dołu 5, 4 klasy decyzyjne, bez
użycia algorytmu Portera.
d4 d6 d8 d10
d4 10 0 1 6
d6 4 21 1 3
d8 5 3 9 7
d10 1 1 3 18
Tabela 5.15: Obcięcie z góry 80%, obcięcie z dołu 5, 4 klasy decyzyjne, bez
użycia algorytmu Portera, k 1.
diagonal sum: 58; total tests: 93; accuracy: 62.365591397849464%
ROZDZIAŁ 5. EKSPERYMENTY 57
d4 d6 d8 d10
d4 9 1 2 5
d6 3 19 1 6
d8 0 1 9 14
d10 1 1 2 19
Tabela 5.16: Obcięcie z góry 80%, obcięcie z dołu 5, 4 klasy decyzyjne, bez
użycia algorytmu Portera, k 5.
diagonal sum: 56; total tests: 93; accuracy: 60.215053763440864%;
d4 d6 d8 d10
d4 7 1 1 8
d6 3 15 3 8
d8 1 1 9 13
d10 0 1 1 21
Tabela 5.17: Obcięcie z góry 80%, obcięcie z dołu 5, 4 klasy decyzyjne, bez
użycia algorytmu Portera, k 8.
diagonal sum: 52; total tests: 93; accuracy: 55.91397849462365%
Rysunek 5.10: Obcięcie z góry 3%, obcięcie z dołu 5, 4 klasy decyzyjne, bez
użycia algorytmu Portera.
ROZDZIAŁ 5. EKSPERYMENTY 58
d4 d6 d8 d10
d4 13 1 1 2
d6 2 23 2 2
d8 6 0 16 2
d10 0 2 1 20
d4 d6 d8 d10
d4 12 1 0 4
d6 1 24 2 2
d8 0 2 17 5
d10 0 3 1 19
Kolejne macierze:
k = 1 (tabela 5.18)
k = 5 (tabela 5.19)
k = 8 (tabela 5.20)
W tym zaś wypadku użycie algorytmu Portera spowodowało znaczny
spadek skuteczności dla k równego 1. Natomiast dla k równego 5 skuteczność
wzrosła o 12%, zaś dla k = 8 skuteczność nie zmieniła się.
Eksperymenty zostały przeprowadzone również na tych samych danych,
jednakże z wykorzystaniem jedynie dwóch klas decyzyjnych:
1. surowce (403 dokumenty)
2. handel (367 dokumentów)
Wraz ze wzrostem wartości parametru k rośnie skuteczność procesu kla-
syfikacji, co obrazuje (tabela 5.21).
d4 d6 d8 d10
d4 12 1 0 4
d6 3 22 2 2
d8 1 2 16 5
d10 0 3 2 18
Rysunek 5.11: Obcięcie z góry 5%, obcięcie z dołu 2, 2 klasy decyzyjne, bez
użycia algorytmu Portera.
d4 d11
d4 35 11
d11 7 40
d4 d11
d4 36 10
d11 1 46
d4 d11
d4 39 7
d11 4 43
Wnioski
61
ROZDZIAŁ 6. WNIOSKI 62
6.2 DF a χ2
Przeprowadzone eksperymenty pozwalają przypuszczać, że metoda χ 2 zasto-
sowana do selekcji cech stanowiących części składowe wektora wejściowego
ROZDZIAŁ 6. WNIOSKI 63
d1 d2 d3
d1 31 19 1
d2 2 55 1
d3 8 30 27
d1 d2 d3
d1 25 24 2
d2 4 53 1
d3 12 37 16
Podsumowanie
66
Bibliografia
67
BIBLIOGRAFIA 68
[Nig01] Kamal Paul Nigam: Using Unlabeled Data to Improve Text Classifi-
cation. School of Computer Science, Carnegie Mellon University, Tech-
nical Report Collection, 2001 - http://reports-archive.adm.cs.cmu.edu
[Ril95] Ellen Rillof. Little Words Can Make a Big Difference for Text Clas-
sification. In Proceedings of the 18th Annual International ACM SIGIR
Conference on Research and Development in Information Retrieval, pp.
130-136, 1995.
[Wit99] Ian H. Witten, Eibe Frank. Data Mining: Practical Machine Lear-
ning Tools and Techniques with Java Implementations. Academic Press,
2000.
69
BIBLIOGRAFIA 70
71
SPIS TABEL 72
73