Klasyfikacja dokumentów tekstowych

74
Klasyfikacja dokumentów tekstowych Lukasz Lażewski, Mariusz Pikula, Adam Siemion, Michal Szklarzewski wraz ze wstępem autorstwa Szymona Pindelskiego c Polsko-Japońska Wyższa Szkola Technik Komputerowych

description

"Klasyfikacja dokumentów tekstowych"Praca inżynierska PJWSTK 2005;Autorzy: Łukasz Łażewski, Mariusz Pikuła, Adam Siemion, Michał Szklarzewski, wstęp autorstwa Szymona Pindelskiego; Promotr: Marcin Sydow;Cytowania:1) Andrzej Jasiński, "Specjalistyczna Internetowa wyszukiwarkaogłoszeń przetargowych", 2009, http://home.agh.edu.pl/~horzyk/pracedyplom/2009andrzejjasinski-pracadypl.pdf2) Marcin Michał Mirończuk, Tadeusz Marciak, "Proces i metody eksploracji danych tekstowych do przetwarzania raportów z akcji ratowniczo-gaśniczych", 2010, http://profind.pl/wp-content/uploads/2010/02/proces-i-metody-eksploracji-danych-tekstowych-do-przetwarzania-raport%C3%B3w-z-akcji-ratowniczo-ga%C5%9Bniczych.pdf3) Marcin Michał Mirończuk, "Proposition of hybrid process model semi structured description of event from fire services rescues operation", 2013, http://czytelnia.cnbop.pl/sites/default/files/czytelnia/files/pdf/BiTP_1_13_95-106.pdf

Transcript of Klasyfikacja dokumentów tekstowych

Page 1: Klasyfikacja dokumentów tekstowych

Klasyfikacja dokumentów tekstowych

Łukasz Łażewski, Mariusz Pikuła, Adam Siemion, Michał Szklarzewski

wraz ze wstępem autorstwa Szymona Pindelskiegoc©Polsko-Japońska Wyższa Szkoła Technik Komputerowych

Page 2: Klasyfikacja dokumentów tekstowych

Spis treści

Spis treści 1

I Teoria związana z klasyfikacją 6

1 Wstęp 71.1 Klasyfikacja dokumentów tekstowych . . . . . . . . . . . . . . 71.2 Wstępne przetwarzanie dokumentów (ang. document prepro-

cessing) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.1 Wydobywanie cech (ang. feature extraction) . . . . . . 81.2.2 Selekcja cech (ang. feature selection) . . . . . . . . . . 81.2.3 Sposób reprezentacji dokumentu . . . . . . . . . . . . 9

1.3 Kategoryzacja dokumentów tekstowych . . . . . . . . . . . . 91.3.1 Drzewa decyzyjne . . . . . . . . . . . . . . . . . . . . 101.3.2 Reguły decyzyjne . . . . . . . . . . . . . . . . . . . . . 111.3.3 k - nn (k-nearest neighbor) . . . . . . . . . . . . . . . 111.3.4 Inne metody wektorowe . . . . . . . . . . . . . . . . . 121.3.5 Metody bayesowskie (naiwne i nienaiwne) . . . . . . . 131.3.6 Sieci neuronowe . . . . . . . . . . . . . . . . . . . . . . 131.3.7 Metody regresywne . . . . . . . . . . . . . . . . . . . . 14

1.4 Grupowanie (ang. clustering) . . . . . . . . . . . . . . . . . . 14

2 Selekcja cech 152.1 Ogólny zarys zagadnienia . . . . . . . . . . . . . . . . . . . . 152.2 Selekcja cech w dokumentach tekstowych . . . . . . . . . . . 152.3 Wstępne przetworzenie danych . . . . . . . . . . . . . . . . . 162.4 Algorytmy selekcji cech . . . . . . . . . . . . . . . . . . . . . 17

2.4.1 Document Frequency . . . . . . . . . . . . . . . . . . . 172.4.2 χ2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3 Klasyfikatory 223.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2 Klasyfikator KNN . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.1 Podstawy . . . . . . . . . . . . . . . . . . . . . . . . . 23

1

Page 3: Klasyfikacja dokumentów tekstowych

SPIS TREŚCI 2

3.2.2 KNN w klasyfikacji dokumentów tekstowych . . . . . 243.2.3 TF/IDF . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2.4 Zastosowania . . . . . . . . . . . . . . . . . . . . . . . 253.2.5 Wady . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.2.6 Odmiany KNN . . . . . . . . . . . . . . . . . . . . . . 263.2.7 Eksperymenty . . . . . . . . . . . . . . . . . . . . . . 26

3.3 Klasyfikator Bayesowski . . . . . . . . . . . . . . . . . . . . . 273.3.1 Podstawy . . . . . . . . . . . . . . . . . . . . . . . . . 273.3.2 Klasyfikacja tekstu . . . . . . . . . . . . . . . . . . . . 273.3.3 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . 30

II Ekperymenty związane z klasyfikacją dokumentów tek-stowych 32

4 Platforma 334.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.2 Przechowywanie danych . . . . . . . . . . . . . . . . . . . . . 334.3 Środowisko . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.4 Technologie oraz sprzęt . . . . . . . . . . . . . . . . . . . . . 354.5 Budowa systemu . . . . . . . . . . . . . . . . . . . . . . . . . 354.6 Instalacja systemu . . . . . . . . . . . . . . . . . . . . . . . . 364.7 Obsługa systemu . . . . . . . . . . . . . . . . . . . . . . . . . 364.8 Parametry modułów . . . . . . . . . . . . . . . . . . . . . . . 36

4.8.1 DmExtractor . . . . . . . . . . . . . . . . . . . . . . . 374.8.2 DmReductor . . . . . . . . . . . . . . . . . . . . . . . 374.8.3 DmKNN . . . . . . . . . . . . . . . . . . . . . . . . . . 374.8.4 DmBayes . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.9 Przeprowadzenie eksperymentu . . . . . . . . . . . . . . . . . 374.10 Przykład interakcji z systemem . . . . . . . . . . . . . . . . . 38

5 Eksperymenty 405.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.2 Ewaluacja eksperymentów . . . . . . . . . . . . . . . . . . . . 405.3 Dane z grup dyskusyjnych . . . . . . . . . . . . . . . . . . . . 405.4 Algorytm KNN wykorzystujący wagi wyliczone przez TF/IDF 41

5.4.1 Eksperymenty . . . . . . . . . . . . . . . . . . . . . . 415.5 Algorytm KNN wykorzystujący χ2 . . . . . . . . . . . . . . . 42

5.5.1 Dane . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.5.2 Wpływ zmiany parametru k na skuteczność klasyfika-

tora . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.6 Klasyfikator Bayesowski . . . . . . . . . . . . . . . . . . . . . 46

5.6.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . 465.6.2 Testy bez optymalizacji danych . . . . . . . . . . . . . 46

Page 4: Klasyfikacja dokumentów tekstowych

SPIS TREŚCI 3

5.6.3 Testy ze zmianą danych do liczb całkowitych . . . . . 465.6.4 Testy z kwantyzacją . . . . . . . . . . . . . . . . . . . 475.6.5 Testy z binaryzacją . . . . . . . . . . . . . . . . . . . . 475.6.6 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . 48

5.7 Algorytm KNN wykorzystujący wagi wyliczone przez TF IDFna kolekcji danych pochodzących z agencji Reuters . . . . . . 505.7.1 Parsowanie danych . . . . . . . . . . . . . . . . . . . . 505.7.2 Eksperymenty . . . . . . . . . . . . . . . . . . . . . . 52

6 Wnioski 616.1 Proces stemmingu przy wykorzystaniu algorytmu Portera . . 616.2 DF a χ2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

7 Podsumowanie 66

Bibliografia 67

Dodatki 68

Słownik pojęć 69

Spis tabel 71

Spis rysunków 72

Page 5: Klasyfikacja dokumentów tekstowych

PodziękowaniaPragniemy 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 tematykidata-miningu. Dodatkowe podziękowania należą się dr Jakubowi Wróblew-skiemu za Jego cenny czas, który zechciał nam poświęcić, przy konsultacjachdotyczących naszego projektu.

Page 6: Klasyfikacja dokumentów tekstowych

Wkład w powstanie pracy każdego z członków projektu

Łukasz Łażewski

• autor rozdziału: ”Klasyfikator Bayesowski” oraz sekcji Eksperymentówdotyczącej algorytmu Bayesa.

• autor modułu platformy: classifier (klasa DmBayes)

• współautor rozdziału: ”Algorytm KNN wykorzystujący wagi wyliczoneprzez TF IDF na kolekcji danych pochodzących z agencji Reuters”

Mariusz Pikuła

• autor rozdziałów: ”Selekcja cech”, sekcji Eksperymentów pt. ”Algo-rytm KNN wykorzystujący χ2” oraz sekcji Wniosków pt. ”DF a χ2”

• autor modułów platformy: weightcomputer (klasa DmXSquare) orazclassifier (klasa DmKNNXSquare)

Adam Siemion

• autor rozdziałów: ”Klasyfikator KNN”, ”Platforma”, sekcji Ekspery-mentów pt. ”Algorytm KNN wykorzystujący wagi wyliczone przezTF/IDF” oraz sekcji Wniosków pt. ”Proces stemmingu przy wyko-rzystaniu algorytmu Portera”

• główny autor platformy

• autor modułów platformy: extractor (klasa DmExtractor), reductor(klasa DmReductor), weightcomputer (klasa DmWeightComputer), clas-sifier (klasa DmKNN)

Michał Szklarzewski

• autor rozdziału: ”Algorytm KNN wykorzystujący wagi wyliczone przezTF IDF na kolekcji danych pochodzących z agencji Reuters”

• współautor testów do sekcji Eksperymentów dotyczącej algorytmu Bay-esa.

• autor modułu platformy: parser (klasa DmParser)

Page 7: Klasyfikacja dokumentów tekstowych

Część I

Teoria związana zklasyfikacją

6

Page 8: Klasyfikacja dokumentów tekstowych

Rozdział 1

Wstęp

1.1 Klasyfikacja dokumentów tekstowych

Od początku lat dziewięćdziesiątych ubiegłego wieku, wraz z popularyzacjąInternetu jako powszechnie dostępnego medium, w którym miliony ludzi nacałym świecie mogą praktycznie bez ograniczeń publikować dowolne infor-macje, zaobserwować można wzrost zainteresowania technikami skutecznegopozyskiwania i przetwarzania informacji. Rosnąca liczba dokumentów (w sie-ci jest ich kilka miliardów) oraz brak precyzyjnie zdefiniowanego modeludanych sprawiają, że lokalizacja potrzebnych informacji jest bardzo trudnai zwykle zajmuje wiele czasu - nawet wówczas, gdy korzystamy z najnow-szych osiągnięć techniki komputerowej.Klasyfikacja oraz grupowanie dokumentów tekstowych o podobnej tema-

tyce pozwala zdecydowanie uprościć i przyspieszyć ten proces.Kategoryzacja (ang. categorization) opiera się na idei tzw. uczenia z na-

uczycielem (ang. supervised learning) i polega na przypisywaniu dokumen-tów (lub ich części) do jednej z predefiniowanych na początku kategorii.Kategorie te są z reguły statyczne (zwane również klasami decyzyjnymi)czyli ustalane na początku po analizie zawartości kilku dokumentów - in-nymi słowy są to rodzaje dokumentów jakie możemy posiadać. Otrzymującnowe teksty klasyfikujemy je do jednej z wcześniej ustalonych kategorii.Grupowanie (ang. clustering) reprezentuje proces uczenia bez nauczycie-

la (ang. unsupervised learning), gdyż nie wykorzystuje ani predefiniowanejstruktury kategorii ani zbioru treningowego, obrazującego oczekiwane za-leżności między dokumentami. Wymaga jednakże określenia pewnych miar,opisujących grupowane obiekty, oraz podania wartości progowej, która okre-śla stopień podobieństwa między tymi obiektami. Celem grupowania jesttakie zdefiniowanie klas obiektów (klastrów), żeby obiekty wewnątrz nichbyły możliwie podobne względem siebie przy jednoczesnym niewielkim po-dobieństwie do obiektów z innych klas.

7

Page 9: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 1. WSTĘP 8

1.2 Wstępne przetwarzanie dokumentów (ang. do-cument preprocessing)

Analiza i manipulowanie dokumentami języka naturalnego wymaga prze-kształcenia danych tekstowych, niezrozumiałych dla komputera, na postaćliczbową, którą można poddać przetwarzaniu za pomocą typowych algoryt-mów, znanych z data-mining. W tym celu przeprowadza się tzw. wstępneprzetwarzanie dokumentów czyli preprocessing. Można je podzielić na na-stępujące etapy:

1. wydobywanie cech (ang. feature extraction)

2. selekcja cech (ang. feature selection)

3. wybór sposobu reprezentacji dokumentu (czyli logicznego widoku do-kumentu)

1.2.1 Wydobywanie cech (ang. feature extraction)

Jest to pierwszy z etapów fazy wstępnego przetwarzania dokumentów. Jegocelem jest wygenerowanie listy słów kluczowych (termów), które w sposóbwystarczająco precyzyjny opisywać będą analizowane dokumenty. Lista tanosi nazwę słownika (ang. dictionary).Najpierw dokumenty ze zbioru treningowego są poddawane procesowi

parsowania gdzie w zależności od potrzeb można pominąć liczby, a następ-nie na otrzymanych zbiorach wyrazów wykonywane są operacje tekstowe,przekształcające pełny tekst dokumentu w zbiór słów kluczowych, przybli-żających jego semantykę. Operacje te to najczęściej usuwanie tzw. słów sto-pu (ang. stopwords) (czyli przedimków, przyimków o niewielkim wpływie naprzynależność dokumentu do klasy decyzyjnej), stemming czyli zastępowa-nie wyrazów ich rdzeniem słowotwórczym poprzez eliminację afiksów, czyliprzyrostków (postfiksów) i przedrostków (prefiksów). Dokładny przebieg te-go procesu jest uzależniony od języka, w którym został napisany dokument.

1.2.2 Selekcja cech (ang. feature selection)

Kolejnym etapem fazy przygotowawczej jest selekcja cech, mająca na celueliminację słów kluczowych, które niewiele mówią o przynależności opisywa-nych dokumentów do którejś z kategorii. Do tego celu stosuje się najczęściejnastępujące wskaźniki:

1. Document Frequency (DF) - częstotliwość występowania słowa kluczo-wego w kolekcji dokumentów.

2. Information Gain (IG) - mierzy ilość bitów informacji uzyskanych po-przez przewidywanie kategorii wiedząc o występowaniu bądź absencjitermu w dokumencie.

Page 10: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 1. WSTĘP 9

3. χ2 (CHI) - wykorzystuje założenie o niezależności wystąpienia danegosłowa kluczowego w dokumencie od jego klasy decyzyjnej.

4. Term Strength (TS) - szacuje istotność termu wykorzystując wiedzęjak bardzo prawdopodobne jest aby term wystąpił w blisko związanychdokumentach.

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ściachwskaźnika.

1.2.3 Sposób reprezentacji dokumentu

Jest to ostatni etap wstępnego przetwarzania dokumentu. Jego wynikiemjest przedstawienie dokumentu w postaci n-elementowego wektora cech, gdzien jest ilością słów kluczowych po zakończeniu etapu selekcji cech (ang. featu-re selection). Cała kolekcja dokumentów może zatem zostać przedstawionaw postaci macierzy o rozmiarach m×n (m to liczba dokumentów w kolekcji),której element aij reprezentuje wagę termu j w dokumencie i. Wartości wagzależą od wybranego sposobu reprezentacji dokumentu. Najprostszy sposób- reprezentacja binarna, przypisuje wagi równe jeden lub zero. Wartość 0przypisywana jest, gdy dany term nie występuje w dokumencie a wartość1, gdy występuje raz bądź więcej razy. Niestety tego typu reprezentacja nieuwzględnia faktu, iż niektóre termy niosą więcej informacji niż pozostałe.Reprezentacją danych, która uwzględnia te różnice jest reprezentacja wek-torowa, gdzie każdy element wektora jest dodatnią liczbą rzeczywistą, którejwartość zależy od ilości informacji jaką niesie dany term w danym dokumen-cie.

1.3 Kategoryzacja dokumentów tekstowych

Kategoryzacja dokumentów tekstowych oznacza - w pewnym uproszczeniu -przypisywanie dokumentów do jednej z uprzednio zdefiniowanych kategorii.W dziedzinie przetwarzania danych tekstowych obejmuje ona także proceswstępnego uczenia systemu poprzez prezentację dokumentów ze zbioru tre-ningowego. Ma to na celu określenie granic poszczególnych kategorii i po-kazanie systemowi poprzez określenie zależności między dokumentami zezbioru treningowego - jak ma klasyfikować dokumenty wcześniej nieznane.Dopiero po zakończeniu etapu uczenia możliwa jest właściwa klasyfikacja.Do tego celu najczęściej wykorzystywane są następujące metody:

1. drzewa decyzyjne

2. reguły decyzyjne

Page 11: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 1. WSTĘP 10

3. k-nn (k-nearest neighbors)

4. inne metody wektorowe

5. metody bayesowskie (podejście naiwne i nienaiwne)

6. sieci neuronowe

7. metody regresywne

Poniżej krótko zostanie omówiona każda z metod.

1.3.1 Drzewa decyzyjne

Drzewa decyzyjne odwzorowują zależności pomiędzy dokumentami ze zbio-ru treningowego za pomocą struktury drzewa binarnego. Każdy z węzłówdrzewa odpowiada pytaniu, na które odpowiedź ma postać prawdy lub fał-szu. W liściach natomiast umieszczone zostają kategorie, określone w faziebudowania pierwotnej struktury drzewa na podstawie zbioru danych testo-wych. Proces klasyfikacji sprowadza się zatem do umieszczenia dokumentóww korzeniu drzewa i w oparciu o odpowiedzi, udzielane na kolejne pyta-nia przesuwania go coraz niżej w hierarchii, aż do liścia odpowiadającegowłaściwej kategorii.Podstawową zaletą tego modelu jest łatwość interpretacji całej logiki sys-

temu nawet przez niezbyt zaawansowanego użytkownika. Najistotniejszą wa-dą natomiast jest ryzyko zbytniego przystosowania tzw. overfittingu. Polegaono na przystosowaniu się systemu do zbioru testowego. Klasyfikacja doku-mentów należących do tego zbioru daje bardzo dobre rezultaty, natomiastwyniki względem innych - wcześniej nieznanych - dokumentów są znaczniegorsze. Jest to efektem metod stosowanych w procesie uczenia. Strukturadrzewa oraz kwerendy w poszczególnych węzłach dobierane są tak, aby KAŻ-DY dokument z kolekcji testowej został sklasyfikowany prawidłowo. Nie musito jednakże wcale iść w parze z przydatnością do analizy nowych dokumen-tów. Zapobieganie temu niekorzystnemu zjawisku sprowadza się najczęściejdo stosowania dodatkowych zbiorów dokumentów sprawdzających (ang. va-lidators), dla których wymagane jest, aby klasyfikator charakteryzował sięprecyzją porównywalną do tej dla kolekcji treningowej.Poważnym problemem jest również budowanie drzew o zbyt rozbudowa-

nej strukturze, co ma negatywny wpływ na wydajność systemu. Problemten jest najczęściej rozwiązywany poprzez określenie maksymalnej wysoko-ści tworzonego drzewa oraz minimalnego wsparcia dla pojedynczej kategorii(czyli liczby dokumentów treningowych przypisanych do niej po zakończeniuprocesu uczenia). Zastosowanie tych zabiegów sprawia, że drzewo decyzyj-ne charakteryzuje się dobrą wydajnością nawet w przypadku bardzo dużejliczby cech opisujących dokument (features).

Page 12: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 1. WSTĘP 11

1.3.2 Reguły decyzyjne

Algorytmy oparte na regułach decyzyjnych konstruują dla każdej kategoriizbiór reguł opisujących jej profil. Reguła taka składa się z nazwy kategoriioraz słowa kluczowego, które najlepiej opisuje zbiór należących do niej do-kumentów. Tworzenie zbioru reguł polega na łączeniu reguł atomowych zapomocą spójników logicznych. Nie wszystkie reguły są przy tym brane poduwagę powszechnie stosuje się heurystyki, umożliwiające usunięcie zbiorówreguł nadmiarowych i przez to poprawę wydajności systemu bez negatyw-nych skutków dla jakości klasyfikacji.Najważniejszą zaletą reguł decyzyjnych jest możliwość tworzenia tzw.

lokalnych słowników. Pozwalają one na rozróżnianie znaczeń homonimów -grup słów, zapisywanych w ten sam sposób, które w zależności od kontekstumogą mieć różne znaczenia. Przykładem może być angielski termin ”bark”użyty jako rzeczownik (a bark) opisuje korę drzewa, natomiast w znaczeniuczasownikowym (to bark) - szczekanie psa. W tradycyjnym słowniku ter-min ten pojawi się tylko raz, przez co dokumenty, dotyczące kory drzewaoraz te, mówiące o szczekaniu psa, będą miały podobne wektory cech mimoróżnic semantycznych. Zastosowanie zbiorów reguł decyzyjnych pozwala narozróżnienie między tymi znaczeniami raz termin bark pojawi się bowiemw definicji reguły opisującej kategorię dog, innym razem tree.Najpoważniejszą wadą tej metody klasyfikacji jest brak możliwości przy-

pisania dokumentu do jednej tylko kategorii. Te same słowa kluczowe częstowystępują bowiem w regułach, dotyczących różnych klas decyzyjnych.

1.3.3 k - nn (k-nearest neighbor)

Najistotniejszą cechą metody k-nn jest brak konieczności wstępnego trenin-gu klasyfikatora w oparciu o zależności wewnątrz zbioru danych testowych.Stanowi to również pewne utrudnienie, ponieważ czas działania klasyfikatoraKNN jest dłuższy. Klasyfikacja polega na porównywaniu odległości pomię-dzy wektorami cech dokumentu klasyfikowanego i kolejnych dokumentówz kolekcji już sklasyfikowanych. Odległość może być przy tym definiowanana wiele sposobów. Najczęściej stosowane są :

• cosinus kąta pomiędzy wektorami opisany wzorem

cosα = a•b|a|∗|b| ,

gdzie α oznacza kąt między wektorami po przekształceniu ich tak, abymiały wspólny początek, a • b oznacza iloczyn skalarny wektorów a ib, natomiast |a| ∗ |b| - iloczyn długości tych wektorów.

• odległość euklidesowa (porównanie wartości kolejnych wag słów klu-czowych dla danego dokumentu), opisana wzorem :

Page 13: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 1. WSTĘP 12

∑Ni=1(ai − bi)2,

gdzie ai oraz bi to współrzędne wektorów a i b w i-tym wymiarze.

W tym drugim przypadku jednak konieczne jest przeprowadzenie norma-lizacji długości dokumentów. Długość najdłuższego wektora cech jest okre-ślana jako 1, zaś długości pozostałych - jako stosunki ich długości do długościwektora najdłuższego. Do największych zalet tej metody klasyfikacji zali-czyć należy prostotę algorytmu, łatwość implementacji oraz dobrą precyzję.KNN dobrze radzi sobie również w sytuacjach, w których dokumenty z tejsamej kategorii zaliczane są do kilku różnych grup. Dzieje się tak wówczas,gdy w obrębie kategorii istnieje rozróżnienie na kilka różnych podkategorii.Słabe strony KNNa to szybkość działania (związana z brakiem wstępnie zde-finiowanej struktury danych i koniecznością klasyfikacji w locie) oraz ryzykozafałszowania wyników klasyfikacji przez duże grupy dokumentów, nawetznacząco oddalonych od nowo klasyfikowanego przypadku (przy odpowied-nio dużej wartości współczynnika k duża grupa, położona daleko, może uzy-skać przewagę liczebną w zbiorze sąsiadów klasyfikowanego dokumentu nadgrupą mniejszą, choć położoną znacznie bliżej).

1.3.4 Inne metody wektorowe

Najbardziej popularne spośród metod wektorowych to algorytm centroidóworaz maszyny wektorów wsparcia (ang. support vector machines - SVM ).Pierwsza z nich to jedna z najprostszych metod kategoryzacji. W trakcieprocesu uczenia tworzony jest jedynie uśredniony wektor cech dla każdej ka-tegorii (zamiast dla każdego dokumentu). Wektor ten staje się centroidemczyli środkiem ciężkości tej kategorii. Klasyfikacja nowego dokumentu odby-wa się odtąd poprzez wyszukanie centroidu najbliższego wektorowi cech tegodokumentu. Odległość jest zazwyczaj rozumiana podobnie, jak w przypad-ku metody KNN (czyli jako cosinus kąta pomiędzy wektorami lub odległośćeuklidesowa). Algorytm centroidów w większości przypadków zadowala sięniewielkim zbiorem dokumentów treningowych. Jednakże, jeśli kategorie czę-ściowo nakładają się na siebie lub gdy dana kategoria składa się z dwóch,lub większej liczby podkategorii, jakość klasyfikacji ulega znacznemu pogor-szeniu.Maszyny wektorów wsparcia (ang. support vector machines) [Joa98] w od-

różnieniu od opisanych wyżej metod wymagają do poprawnego działaniazbioru treningowego, zawierającego zarówno dokumenty zaklasyfikowane ja-ko należące (relevant), jak i nie należące (irrelevant) dla każdej ze zdefi-niowanych kategorii. Algorytm SVM szuka następnie powierzchni decyzyj-nej, która najlepiej oddziela od siebie przypadki pozytywne od negatywnychw rozpatrywanej przestrzeni n-wymiarowej. Wektory dokumentów, położonenajbliżej powierzchni decyzyjnej nazywane są wektorami wsparcia. Usunię-cie z przestrzeni pozostałych wektorów nie wpływa negatywnie na jakość

Page 14: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 1. WSTĘP 13

procesu kategoryzacji. Najmocniejszą stroną metody SVM jest skutecznośćklasyfikacji, oraz szybkość działania [Yang99]. Wadą natomiast - możliwośćzaklasyfikowania dokumentu do kilku klas decyzyjnych. Wynika to z faktuszacowania podobieństwa osobno dla każdej kategorii. Pomimo tej niedosko-nałości SVM cieszy się dużą popularnością wśród badaczy.

1.3.5 Metody bayesowskie (naiwne i nienaiwne)

Metody bayesowskie jako podstawę klasyfikacji dokumentów tekstowych przyj-mują rachunek prawdopodobieństwa. Charakteryzują się wysoką precyzjąklasyfikacji i szybkością działania zwłaszcza wtedy, gdy przyjmiemy zało-żenie o niezależności słów kluczowych w ramach poszczególnych kategorii.Założenie powyższe oznacza, że wystąpienie w tekście dokumentu jednegosłowa kluczowego nie dostarcza nam żadnych informacji o prawdopodobień-stwie wystąpienia drugiego. Zależność tę ilustruje poniższy wzór :

P (X|C) =∏Ni=1 P (Xi|C),

gdzie X = (X1, X2, . . . ,Xn) oznacza wektor cech, a C - klasę decy-zyjną. Jest to pewne uproszczenie, choć wiadomo, że nie ma ono dużegonegatywnego wpływu na dokładność klasyfikacji, znacznie poprawiając przytym szybkość działania algorytmu. Założenie to było podstawą do powsta-nia naiwnego klasyfikatora bayesowskiego i stanowi jedyną różnicę pomiędzynim a podejściem nie-naiwnym. Naiwny klasyfikator bayesowski nadaje siębardzo dobrze do klasyfikacji dokumentów opisanych nawet znaczną ilościącech. Pomimo, że Naiwny Bayes został wymyślony dużo wcześniej przedobecnymi metodami klasyfikacji, często je przewyższa.

1.3.6 Sieci neuronowe

Do klasyfikacji dokumentów tekstowych wykorzystywane są również siecineuronowe [Cal00]. Niektóre z nich zwane perceptronami - bazują na naj-prostszej topologii, składającej się z warstwy wejściowej (input layer) i wyj-ściowej (output layer). Inne pomiędzy dwiema wymienionymi posiadają jesz-cze trzecią warstwę ukrytą (hidden layer), a w procesie uczenia wykorzystu-ją znany algorytm wstecznej propagacji błędu (back-propagation algorithm).Największą zaletą sieci neuronowych jest zdolność radzenia sobie z zaszu-mionymi bądź sprzecznymi danymi. Wysoka elastyczność łączy się tu nie-stety z dużym apetytem na moc obliczeniową komputera. Istotną wadą siecineuronowych jest również trudność zrozumienia struktury i zasad działaniasieci przez przeciętnego użytkownika, co negatywnie wpływa na popularnośćsystemów opartych na tej technologii.

Page 15: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 1. WSTĘP 14

1.3.7 Metody regresywne

Metody te wykorzystują dwie macierze do opisu początkowej kolekcji doku-mentów: macierz wejściową A (opisywana wcześniej macierz cech o rozmia-rach m× n, gdzie m to ilość dokumentów, n to ilość słów kluczowych) orazmacierz wyjściową B (o rozmiarach m × c, gdzie c to ilość zdefiniowanychkategorii), zawierającą wskaźniki przynależności dokumentów do kolejnychklas decyzyjnych. Celem metody jest znalezienie macierzy F, przekształca-jącej macierz A w B, zgodnie z poniższym wzorem

B· = A ∗ F ,

gdzie B· jest możliwie najlepszym przybliżeniem B. Macierz F jest wy-znaczana za pomocą metod regresywnych wielu zmiennych (ang. multiva-riate regression techniques). Podstawową zaletą metod regresywnych jestmożliwość pominięcia niektórych elementów fazy wstępnego przetwarzaniadokumentów np. (ang. stemmingu) bez strat na jakości kategoryzacji. Dziękitemu dobrze pasują one do zadań, wymagających niezależności od stosowa-nego języka, takich jak np. cross-language retrieval (proces wyszukiwania,w którym zapytanie sformułowane jest w jednym języku, zaś zwracane do-kumenty w innym). Niestety metody te nie są zbyt popularne i trudno jestpowiedzieć cokolwiek na temat ich efektywności.

1.4 Grupowanie (ang. clustering)

Grupowanie, zwane też analizą skupień, można określić jako proces organi-zowania obiektów w grupy, których elementy są w jakimś sensie podobnedo siebie. Proces ten opiera się na idei tzw. uczenia bez nauczyciela (ang.unsupervised learning). Podobnie jak to miało miejsce w przypadku kate-goryzacji, także i tutaj kolekcja dokumentów opisywana jest najczęściej zapomocą macierzy m× n, gdzie m to liczba dokumentów, a n to liczba cech(features) je opisujących. Każdemu elementowi kolekcji odpowiada zatemwektor o n współrzędnych, w sposób przybliżony opisujący jego zawartość.Wektor ten jest następnie używany do określenia pozycji obiektu w n wy-miarowej przestrzeni (wyznaczonej przez zbiór cech) oraz dołączenia go dojednego ze skupień (klastrów). Kryterium klasyfikacji jest przy tym minimal-na odległość (rozumiana najczęściej tak jak w metodzie KNN - jako cosinuskąta lub odległość euklidesowa między wektorami) od pozostałych obiektóww klastrze (intra-cluster simmilarity) oraz maksymalna - od pozostałychklastrów (inter-cluster dissimilarity). Takie pogrupowanie obiektów umożli-wia znalezienie ukrytej struktury analizowanej kolekcji danych. Podstawowązaletą grupowania, w porównaniu do kategoryzacji, jest brak koniecznościokreślania liczby kategorii. Problemem natomiast może być poruszanie sięw przestrzeni wielowymiarowej i z wieloma obiektami oraz nie zawsze intu-icyjne pojęcie odległości.

Page 16: Klasyfikacja dokumentów tekstowych

Rozdział 2

Selekcja cech

2.1 Ogólny zarys zagadnienia

Selekcja cech (ang. feature selection) jest integralną częścią każdego zagad-nienia z dziedziny data-miningu. Dotyczy to zwłaszcza systemów mającychwspomagać proces podejmowania decyzji lub podejmować takie decyzje sa-modzielnie. Zagadnienia te obejmują nie tylko klasyfikację dokumentów tek-stowych, ale także rozpoznawanie tekstu, obrazu, oraz wszelkie procesy pre-dykcyjne (np. na podstawie danych medycznych dotyczących pacjentów).Aby proces predykcji (podjęcia decyzji przez system) mógł zostać przepro-wadzony należy spośród wszystkich danych opisujących obiekty wybrać te,z których zostanie zbudowany wektor. Wektor ten zostanie później wyko-rzystany w procesie podejmowania decyzji (klasyfikacji).W przypadku klasyfikatora dokumentów tekstowych dane to słowa wy-

stępujące w poszczególnych dokumentach. Natomiast w innych przypadkachmogą to być dowolnego typu dane np. przebieg choroby pacjenta w przy-padku danych medycznych. Bardzo często przed wprowadzeniem danych dosystemu należy je przedstawić w postaci cyfrowej (zamiana opisów słownychna parametry liczbowe).Podejście do zagadnienia selekcji cech jest w znacznym stopniu uzależ-

nione od problemu, do rozwiązania którego zostanie ona zastosowana. Dla-tego też w tej części pracy przedstawiony zostanie proces selekcji cech dlaproblemu klasyfikacji dokumentów tekstowych.

2.2 Selekcja cech w dokumentach tekstowych

Selekcja cech stanowi jeden z etapów przygotowywania klasyfikatora doku-mentów tekstowych. Sam mechanizm selekcji cech jest zależny od zasto-sowanego algorytmu. Jednak jego celem zawsze jest wybór słów, które sąnajlepszymi wyznacznikami przynależności dokumentu do konkretnej klasy[Liu03].

15

Page 17: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 2. SELEKCJA CECH 16

Miary jakości, oraz kryteria doboru tych słów zależą od zastosowanegoalgorytmu. Sam algorytm selekcji cech korzysta ze słownika. Słownikiem na-zywamy zbiór słów, które występują w klasyfikowanych dokumentach. Zbiórten, zanim zostanie podany jako dane wejściowe dla algorytmu selekcji cech,podlega wstępnemu przetworzeniu.

2.3 Wstępne przetworzenie danych

Wstępne przetworzenie danych jest procesem, który należy przeprowadzićprzed zastosowaniem algorytmu selekcji cech. Proces ten składa się z kilkuetapów mających na celu - w efekcie końcowym - uzyskanie ostatecznej, krót-szej niż początkowa wersji słownika, na którym będzie pracował algorytmselekcji cech.Pierwszym etapem tego procesu jest usunięcie ze słownika słów, wystę-

pujących w różnych formach (np. rzeczowniki mogą występować w różnychprzypadkach) i pozostawienie jednego rdzenia słowotwórczego wspólnego dlatych słów. Zabieg ten pozwoli w znacznym stopniu zmniejszyć rozmiar słow-nika, który będzie wykorzystywany w dalszym etapie pracy.Istnieją gotowe algorytmy, pozwalające przeprowadzić wyżej opisany pro-

ces. Na potrzeby naszego projektu wykorzystano algorytm Portera [Porter],ponieważ dokumenty tekstowe, na których będzie pracował klasyfikator zo-stały napisane w języku angielskim. W przypadku innych języków, jak naprzykład języka polskiego, proces lematyzacji (pozyskania ze zbioru słów sa-mych rdzeni słowotwórczych) jest zagadnieniem o wiele bardziej złożonymi skomplikowanym.Ze słownika należy także usunąć tzw. słowa stopu, czyli wszelkiego ro-

dzaju spójniki, przyimki, takie jak ”lub”, ”z”, ”ponieważ”, ”zatem”, ”jeśli”,”tymczasem” itd. Usunięcie słów stopu pozwoli na usunięcie danych, mogą-cych negatywnie wpływać na skuteczność klasyfikatora [Mase00]. Ponadtoredukcja ilości danych przyczyni się do skrócenia czasu potrzebnego na prze-prowadzenie procesu klasyfikacji. Jednak należy pamiętać, że w niektórychprzypadkach usunięcie słów stopu może wpłynąć negatywnie na skutecznośćklasyfikatora [Ril95]. Pogorszenie skuteczności może mieć miejscie, ponieważniektóre słowa stopu mogą wchodzić w skład kilkuczłonowych wyrażeń, któ-re są charakterystyczne dla pewnej klasy dokumentów (np. tytuły książek,filmów, utworów muzycznych). ”Zbrodnia i kara” rozpatrywana jako jednowyrażenie wskazuje na przynależność dokumentu do klasy decyzyjnej zwią-zanej z literaturą, natomiast jako dwa osobne słowa (po usunięciu słowa ”i”)może wskazywać na dokument dotyczący przestępczości.Po przeprowadzeniu stemmingu i usunięciu słów stopu oraz słów nie

odgrywających znaczącej roli w klasyfikacji dokumentu zostaje uzyskanysłownik składający się w głównej mierze z rdzeni słowotwórczych. Dopierootrzymany w ten sposób zbiór słów stanowi dane wejściowe dla algorytmu

Page 18: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 2. SELEKCJA CECH 17

selekcji cech.

2.4 Algorytmy selekcji cech

Zadaniem algorytmu selekcji cech jest wyliczenie dla każdego słowa w słow-niku wartości, którą możemy nazwać współczynnikiem jakości. Wartość tegowspółczynnika określa jak dobrym wyznacznikiem jest dane słowo jeśli cho-dzi o klasyfikację dokumentu do jednej z klas decyzyjnych.Sposoby wyliczania wartości tego współczynnika są różne w zależności od

wybranego algorytmu. W systemie będącym tematem tej pracy zastosowanodwa algorytmy selekcji cech DF (ang. Document Frequency) oraz χ2.

2.4.1 Document Frequency

Najprostszą metodą wykorzystywaną do selekcji cech jest miara DF (ang.Document Frequency). Zlicza ona ilość wystąpień danego termu w kolek-cji dokumentów. Po jej zastosowaniu, otrzymujemy dla każdego słowa zesłownika wyliczoną wartość uzależnioną od ilości jego wystąpień. Spośródwszystkich słów należy odrzucić te, które mają skrajne wartości (odrzuca-my te, które są na krańcach przedziału wartości funkcji DF). Liczbę odrzu-conych słów, oraz przedział wartości, który zostanie odrzucony, dobieramyeksperymentalnie.Odrzucane są słowa, które występują w bardzo dużej, bądź też bardzo

małej ilości dokumentów. W związku z ich częstotliwością występowaniamożemy przyjąć założenie, że nie będą one odgrywały znaczącej roli w pro-cesie klasyfikacji [Yang97]. Ich usunięcie natomiast pozwoli na zmniejszeniezłożoności obliczeniowej procesu klasyfikacji, skrócenie czasu potrzebnegona przeprowadzenie procesu klasyfikacji, a także pozwoli oczyścić dane wej-ściowe z szumów (w tym wypadku słów mogących pogorszyć skutecznośćklasyfikatora).

Strategie doboru słów ze słownika

Zastosowanie różnych strategii może spowodować polepszenie, bądź też po-gorszenie skuteczności klasyfikatora. Możemy na przykład odrzucić 10% ilo-ści wszystkich słów w słowniku. Słowa te mogą zawierać się w przedziale< min, 10%max > lub < 90%max,max >, gdzie min i max to odpowiedniominimalna i maksymalna wartość współczynnika wyliczonego dla danegosłowa przez określony algorytm selekcji cech.Zastosowanie tego typu przedziałów pozwoli na wyeliminowanie słów

o najmniejszej oraz największej ilości wystąpień w dokumentach. Słowa temogą występować we wszystkich dokumentach, lub też w niewielkiej liczbiedokumentów należących do różnych klas decyzyjnych. Dlatego też mogą onewpłynąć negatywnie na skuteczność klasyfikatora [Yang97].

Page 19: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 2. SELEKCJA CECH 18

Przedziały określające wartości współczynników wyliczone przy pomocyalgorytmu selekcji cech, które pozwalają stwierdzić czy dane słowo zostanieusunięte ze słownika należy dobrać eksperymentalnie. Takie podejście mi-nimalizuje szansę wystąpienia sytuacji, kiedy redukcja ilości słów odbędziesię kosztem skuteczności klasyfikatora. Dokonując redukcji możemy jednakusunąć słowa, które jednak mogą mieć duże znaczenie dla klasyfikacji do-kumentu. Decydując sie na eksperymentalny dobór progów minimalizujemyprawdopodobieństwo zaistnienia takiego zdarzenia.

Podsumowanie

Algorytm DF opiera się na częstości występowania danego słowa w całejkolekcji 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 jedyniena 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ć zastosowanietego 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ę narozkł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 doalgorytmu DF omawianego wcześniej pozwala na ściślejsze związanie danegosł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ędzyklasami 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 najprostszyprzypadek 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łowokluczowe jako t . Przy takich założeniach niech:

ki,0 = liczba dokumentów w klasie i nie zawierających słowa kluczowe-go t

Page 20: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 2. SELEKCJA CECH 19

ki,1 = liczba dokumentów w klasie i zawierających słowo kluczowe t

Przy tak przyjętych oznaczeniach możemy zbudować macierz kontyn-gencji (ang. contingency matrix ) 2.1, w której w rzędach wypisane są klasydecyzyjne (C), w kolumnach natomiast podpisanych 0 lub 1 oznaczamy wy-stępowanie, bądź też nie termu t w dokumentach z klasy decyzyjnej C.Z komórek macierzy możemy odczytać liczbę dokumentów z klasy decyzyj-nej zawierających (dla It = 1), lub nie zawierających (dla It = 0) termu t .Dla rozważanego przykładu macierz ta przedstawia się w następujący spo-sób (tabela 2.1):

C/It 0 10 k0,0 k0,11 k1,0 k1,12 k2,0 k2,1

Tabela 2.1: Macierz kontyngencji

Możemy określić rozkład prawdopodobieństw w następujący sposób:

P(C=0) = (k0,0+k0,1)/nP(C=1) = (k1,0+k1,1)/nP(C=2) = (k2,0+k2,1)/nP(It = 0) = (k0,0+k1,0+k2,0)/nP(It = 1) = (k0,1+k1,1+k2,1)/n

gdzie:n - liczba dokumentów w kolekcjin = k0,0 + k0,1 + k1,0 + k1,1 + k2,0 + k2,1

Warto zauważyć, że gdyby zmienne C oraz It były niezależne dla danegosłowa t , to w takim przypadku:

P (C = 0, It = 0) = P (C = 0) ∗ P (It = 0)

Podobne równania wynikające z założenia niezależności C oraz It możnazapisać dla pozostałych kombinacji C oraz It. Prawdziwość tego założeniaoznaczałaby, że wystąpienie danego słowa w dokumencie nie zależy w żadensposób od jego przynależności do danej klasy decyzyjnej.Tym samym słowa takie możemy uznać za mało znaczące w procesie kla-

syfikacji. Przy zachowaniu powyższego założenia możemy przyjąć, że wartośćw komórce (l, m) macierzy kontyngencji można wyliczyć ze wzoru:

n ∗ P (C = l, It = m)

Page 21: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 2. SELEKCJA CECH 20

Natomiast wartość tej komórki w samej macierzy kontyngencji wyno-si kl,m.χ2 sumuje różnice pomiędzy wartościami oczekiwanymi komórek (l,m)

macierzy (wyliczonymi na podstawie podanego wyżej wzoru), a wartościamiktóre możemy odczytać bezpośrednio z macierzy.Wartość tej miary wyliczamy w następujący sposób(przy założeniu nie-

zależności C oraz It):

χ2 =∑

l,m(kl,m−n∗P (C=l)∗P (It=m))

2

n∗P (C=l)∗P (It=m)

Jak widać z powyższego wzoru wzrost wartości różnicy w liczniku po-ciąga za sobą wzrost wartości całego wyrażenia. Wartość w liczniku wy-rażenia możemy określić jako wyznacznik stopnia fałszywości naszego za-łożenia o niezależności C oraz It. Im większą wartość będzie przyjmowaćto wyrażenie tym bardziej prawdopodobieństwo wystąpienia danego słowaw dokumencie zależy od klasy decyzyjnej do której ten dokument należy.Takie właśnie słowa, dla których wartość tego wyrażenia będzie wysoka mo-żemy uznać za dobre wyznaczniki przynależności dokumentu do danej klasydecyzyjnej.

Zastosowanie

Dla celów selekcji cech wyliczamy wartość współczynnika χ2 dla wszystkichsłó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 nichwartościami χ2 dokonujemy selekcji. Wybieramy słowa o najwyższej warto-ści współczynnika [Cal00]. Dzięki temu wektor wejściowy będzie zbudowanyze słów, których obecność w dokumencie jest w jak największym stopniuzwią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 wielokrotneeksperymentalne dobieranie wartości parametru χ2, powyżej której słowokluczowe 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 kluczowychw wektorze cech nie zawsze musi pociągać za sobą zwiększenie skuteczno-ści klasyfikatora. Może dojść do sytuacji, kiedy wprowadzone do wektora

Page 22: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 2. SELEKCJA CECH 21

dodatkowe słowa kluczowe zaczną wpływać negatywnie na skuteczność kla-syfikatora (słowa o niskiej wartości parametru χ2).Przy każdej następnej próbie należy zmienić liczbę słów, które zosta-

ną wybrane. Można tego dokonać określając próg wartości parametru, odktórego słowo będzie wybierane jako składowa wektora wejściowego.

Podsumowanie

Algorytm χ2 nie opiera się, tak jak ma to miejsce w przypadku algorytmuDF na podejściu ilościowym. Idea powyżej opisanego algorytmu opiera się naregułach probabilistyki oraz założeniu niezależności dwóch zdarzeń, jakimisą przynależność dokumentu do klasy decyzyjnej, oraz obecność aktualnierozpatrywanego 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órytakich zależności nie brał w ogóle pod uwagę.

Page 23: Klasyfikacja dokumentów tekstowych

Rozdział 3

Klasyfikatory

3.1 Wstęp

Spośród metod klasyfikacji dokumentów tekstowych opisanych we wstępiepracy 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.

• Algorytm KNN wykorzystuje metody geometryczne do obliczenia od-ległości pomiędzy dokumentami.

• Algorytm (ang. Naive Bayes) wykorzystuje metody probabilistyczne.

22

Page 24: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 3. KLASYFIKATORY 23

3.2 Klasyfikator KNN

3.2.1 Podstawy

KNN (ang. K-Nearest neighbor) to jeden z najprostszych algorytmówklasyfikacyjnych. Jego ideą działania jest znalezienie k najbliższych sąsia-dów do podanego obiektu. Na podstawie k wybranych obiektów ustalanajest klasa decyzyjna poszukiwanego obiektu, która jest wynikiem działaniaklasyfikatora. Wyliczenie odległości pomiędzy dwoma obiektami jest bardzoproste w przypadku, gdy obiekty posiadają tylko jeden atrybut liczbowy.Wtedy, jest to po prostu, różnica pomiędzy wartościami atrybutów dwóchobiektów. W przypadku, gdy przykłady zawierają więcej niż jeden atrybutużywana jest odległość Euklidesowa. Zakłada się jednak wtedy, że atrybutysą znormalizowane oraz mają taką samą istotność. Często określenie, któreatrybuty są najważniejsze, jest najtrudniejszym problemem uczenia.Porównanie wartości atrybutów dla danych dwóch obiektów opisane jest

wzorem (odległość euklidesowa):

d(oa, ob) =∑ni=1

(oai − obi)2

n = liczba termówoai = wartość i-tego atrybutu pierwszego obiektuobi = wartość i-tego atrybutu drugiego obiektu

Po wybraniu k najbliższych obiektów do podanego obiektu koniecznejest zdecydowanie, jaka będzie klasa decyzyjna rozpatrywanego przypadku.Decyzję tę, podejmuje się zwykle poprzez głosowanie większościowe wśródk wybranych obiektów.Kiedy obiekty zawierają atrybuty dyskretne, np. pogoda słoneczna, desz-

czowa, pochmurna itd. konieczne jest opracowanie miary umożliwiającej wy-liczenie odległości pomiędzy wartościami atrybutów. Miary, która umożliwiustalenie jaka jest odległość np. między wartościami słoneczna a deszczowa.Najprostszym sposobem rozwiązania tego problemu jest ustalenie, iż wartość0 oznacza, że wartości są takie same, a wartość 1, że wartości są różne. I takodległość pomiędzy słoneczna a deszczowa wynosi 1, a pomiędzy słonecznaa słoneczna wynosi 0. Oczywiście często tego typu miara odległości jest nie-wystarczająca i konieczne jest opracowanie miary lepiej odzwierciedlającejspecyfikę problemu.Innym możliwym rozwiązaniem problemu atrybutów dyskretnych jest

dokonanie dyskretyzacji, czyli zamiany tych wartości na wartości liczbowe.Zadanie to jest najłatwiejsze w przypadku atrybutów opisujących pewienstopień przynależności, np. temperatura niska, średnia, wysoka. Wystarczywówczas skonstruować defuzyfikator, którego zadaniem będzie zamiana war-tości dyskretnych na liczbowe, ustalając np. że temperatura niska to 5 stopni

Page 25: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 3. KLASYFIKATORY 24

Celsjusza, temperatura średnia to 20 stopni Celsjusza a temperatura wysokato 30 stopni Celsjusza.Często jeden z atrybutów (bądź pewna ich grupa) może być bardziej

istotny, tzn. może mieć większy wpływ na klasę decyzyjna obiektu niż po-zostałe atrybuty. Dlatego należy uwzględnić ten fakt poprzez dodanie wagdo każdego atrybutu odzwierciedlających istotność atrybutów.

3.2.2 KNN w klasyfikacji dokumentów tekstowych

Celem działania algorytmu KNN w klasyfikacji dokumentów tekstowych jestznalezienie k najbliższych dokumentów tekstowych do dokumentu podanegona wejście algorytmu. Każdy dokument tekstowy zanim zostanie dodany dozbioru treningowego przechodzi proces stemmingu, czyli obcinania słów dordzeni słowotwórczych oraz usunięcia słów stopu a następnie z dokumentuzostają wyekstrahowane słowa kluczowe, tzw. termy.Sposób reprezentacji termów zależy od wybranego modelu reprezentacji

danych. Najprostszym z nich jest reprezentacja bitowa. Dla każdego doku-mentu zostaje wygenerowany wektor składający się z zer i jedynek. Wartość0 przypisywana jest, gdy dany term nie występuje w dokumencie, a wartość1, gdy term występuje raz bądź więcej razy. Wymiar wektora jest równyliczbie wszystkich słów ze słownika.Zaletą reprezentacji wektorowej w porównaniu do reprezentacji bitowej

jest uwzględnianie faktu, iż niektóre termy niosą więcej informacji niż pozo-stałe. W tej reprezentacji każdy element wektora ma przypisaną rzeczywistądodatnią liczbę - wagę. Waga, określa jaka jest istotność danego termu w da-nym dokumencie. Im ta wartość jest większa tym term ma większe znaczenie.Jednym z najprostszych algorytmów wyliczających wagi w reprezentacji

wektorowej jest algorytm TF/IDF (ang. Term Frequency/Inverse DocumentFrequency).

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 danesłowo występuje. Cały algorytm opiera się na następującym wzorze:

TFIDF (w) = TF (w) ∗ log( NDF (w))

w - oznacza konkretne słowo ze słownika pojęćTF(w) - ilość wystąpień słowa w w dokumencieDF(w) - ilość dokumentów zawierających słowo w

N - liczba wszystkich dokumentów

Jak widać z powyższego wzoru wartość funkcji TFIDF(w) będzie rosnąćwraz ze wzrostem wartości współczynnika TF(w) oraz zmniejszaniem się

Page 26: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 3. KLASYFIKATORY 25

DF(w). Funkcja osiągnie swoje maksimum przy TF (w)→∞ orazDF (w)→0 . Oznacza to, że dane słowo jest tym lepszym wyznacznikiem pozwalają-cym określić klasę dokumentu im więcej razy występuje w danym doku-mencie i w im mniejszej ilości dokumentów występuje. Zależność tę możnałatwo odczytać ze wzoru stanowiącego istotę całego algorytmu. Zastosowaniefunkcji logarytmicznej we wzorze służy normalizacji wyniku ilorazu liczbywszystkich dokumentów do liczby dokumentów zawierających słowo w.Wartość funkcji logarytmicznej nigdy nie będzie mniejsza od zera, po-

nieważ muszą istnieć jakieś dokumenty (nigdy nie nastąpi sytuacja, w którejN<1, czyli tym samym wartość funkcji logarytmicznej zawsze będzie większaod zera). Nigdy też nie będzie miała miejsca sytuacja, gdy liczbą logarytmo-waną będzie 0. Wartość DF(w) zawsze będzie większa niż 0, ponieważ skorosłowo znalazło się w słowniku musiało wystąpić w przynajmniej jednymdokumencie.Wadą algorytmu TF IDF jest fakt, iż nie uwzględnia on zależności ter-

mów od klas decyzyjnych, w których termy występują. Tzn. term, którywystępuje tylko w jednej klasie decyzyjnej niesie dużo większą informacjęniż term, który znajduje się we wszystkich klasach decyzyjnych. Natomiast,dla algorytmu TF IDF (biorącego pod uwagę tylko ilość wystąpień termu)oba takie termy mógłby mieć taką samą wagę.

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 funkcjiliczą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 nazasoby obliczeniowe. Wszystkie dane treningowe muszą być przechowywane.A dokonanie klasyfikacji jednego obiektu wymaga przejrzenia całego zbiorudanych treningowych. Problemem jest również fakt, iż cały czas obliczenio-wy wykorzystywany jest podczas klasyfikacji a nie w momencie dodawanianowego obiektu do zbioru danych treningowych [Aas99]. Te wady wyklucza-ją możliwość stosowania algorytmu KNN w systemach zawierających dużeilości danych oraz w systemach, które muszą szybko podejmować decyzję napodstawie danych dostarczonych przez użytkownika. Również dużym proble-mem jest dobór odpowiedniej wartości parametru k, który ma decydującywpływ na jakość klasyfikacji. Zwykle jest on zależny od rodzaju danych,na których działa klasyfikator, dlatego najlepiej jest znaleźć jego najlepszą

Page 27: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 3. KLASYFIKATORY 26

wartość eksperymentalnie.

3.2.6 Odmiany KNN

Istnieje również wiele mutacji algorytmu KNN, np. KNNModel-Based [Guo03]- metoda ta tworzy model (zbiór reprezentantów danych treningowych) i do-konuje klasyfikacji zgodnie z tym modelem. Dzięki temu przy klasyfikacji niejest konieczne przejrzenie wszystkich obiektów treningowych.

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.

Page 28: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 3. KLASYFIKATORY 27

3.3 Klasyfikator Bayesowski

3.3.1 Podstawy

Klasyfikacja za pomocą algorytmu Bayesa polega na wykorzystaniu zbiorudotychczasowych obserwacji w celu ustalenia prawdziwości nowych hipotez[Aas99] - jest to prawdopodobieństwo a posteriori korzystające z wyrażenia:

P (a|B)

gdzie:a - zdarzenie elementarneB - zdarzenie elementarne mające wpływ na zajście zdarzenia aZ 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ństwoa priori P (a), gdzie zdarzenie a jest niezależne i nie ma na nie wpływuzdarzenie B. Prawdopodobieństwa a priori i a posteriori są sobie równe.Poniższy wzór na prawdopodobieństwo warunkowe stanowi punkt wyjściadla dalszych rozważań:

P (A|B) = P (B|A)P (A)P (B)

3.3.2 Klasyfikacja tekstu

W przypadku klasyfikacji dokumentów tekstowych przy użyciu klasyfikatorabayesowskiego przyjmuje się, że rozpatrywany wektor należy do znanej klasy- jest to hipoteza, którą należy udowodnić. Wylicza się prawdopodobieństwaP (a|B) (B to klasa decyzyjna) dla wszystkich wcześniej zdefiniowanych de-cyzji. Na znanym już zbiorze dokumentów liczone są prawdopodobieństwakażdego wektora i jego atrybutu - zbiór ten nazywany jest omegą i jest onwykorzystywany przy wyliczaniu prawdopodobieństw P (a|B). Umożliwia tosprawdzenie, do której z klas decyzyjnych należy rozpatrywany tekst. Klasy-fikacja odbywa się metodą maksymalnego prawdopodobieństwa a posterioristąd dany tekst zostanie zaklasyfikowany do klasy, dla której wyliczone zo-stanie największe prawdopodobieństwo:

Ampa = maksimumP (A|B)Ampa - maksymalne prawdopodobieństwa a posteriori.

A- rozważany atrybutB- dana klasa decyzyjna

Poniżej cały proces opisany jest za pomocą przykładu. By ułatwić zrozu-mienie problemu podane tutaj wartości będą binarne - należy jednak dodać,że algorytmem Bayes’a można klasyfikować dane o wagach zarówno binar-nych jak i wielomianowych.

Page 29: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 3. KLASYFIKATORY 28

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.

W tabeli 3.1 znajduje się zestaw wektorów zawierających cztery atrybuty(a1 , a2 , a3 , a4) oraz decyzję d.

a1 a2 a3 a4 d

0 0 0 1 01 1 1 1 01 0 1 1 10 0 1 0 1

Tabela 3.1: Przykładowe dane uczące

Decyzja to znana już przynależność wektorów z danych treningowych,do jednej z klas decyzyjnych (w tym wypadku 0 lub 1).

a1 a2 a3 a40 1 0 1

Tabela 3.2: Przykładowy zestaw atrybutów do klasyfikacji

Przypadek 3.2 będzie klasyfikowany według następującej kolejności:

1. Przyjęto założenie, że klasyfikowany dokument musi być w jednej zeznanych i zdefiniowanych wcześniej klas. Następuje wyliczenie praw-dopodobieństwa dla każdej z przyjętych klas decyzyjnych.

2. Przebieg klasyfikacji:

Dla pierwszej z klas decyzyjnych (0) z danych uczących rozpatrywanesą wszystkie wektory posiadające decyzję 0. Sprawdza się ile wśródnich posiada taką samą wartość każdego z atrybutów, co atrybutyrozpatrywanego wektora. Próba dokonywana jest dla wszystkich cechniezależnie i stanowi prawdopodobieństwo dla konkretnego atrybutuP (atrybutx|decyzja = 0). Czyli dzieli się liczbę wektorów posiadają-cych klasę 0 i taki sam atrybutx jak w rozważanym wektorze. Przyczym atrybutx to kolejna z występujących cech, w tym wypadku: a1,a2, a3, a4. Iloczyn wyliczonych w ten sposób prawdopodobieństw to

Page 30: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 3. KLASYFIKATORY 29

szansa, że rozpatrywany wektor jest w klasie 0.

Wykonanie tych czynności również dla klasy decyzyjnej 1 da dwa praw-dopodobieństwa, z których zgodnie z regułą maksimum a posteriori wybie-rane jest większe co stanowi wynik klasyfikacji. Powyższe rozumowanie dajesię przedstawić za pomocą równania:

P (A|(a0, a1, ..., an)) =P ((a0,a1,...,an)|A)P (A)P (a0,a1,...,an)

gdzie:(a0, a1, ..., an) to rozpatrywany wektor.

A to dana klasa decyzyjna, w której znajduje się rozpatrywany wektor -jest to konieczne założenie by móc rozpocząć rozpatrywanie wektora.Kolejno za A wstawiane są wszystkie ustalone wcześniej klasy decyzyjne.

W powyższym przypadku dla następujących wartości kolejnych atrybu-tów klasyfikowanego wektora: 0, 1, 0, 1:

P (d = 0|(0, 1, 0, 1)) = P ((0,1,0,1)|d=0)P (d=0)P (0,1,0,1)

Mianownik może zostać pominięty, ponieważ wszystkie wyliczone w tensposób prawdopodobieństwa dla różnych klas są następnie ze sobą porów-nywane w celu znalezienia największego prawdopodobieństwa - jest to takzwane maksymalne prawdopodobieństwo(a posteriori).Kolejno wcześniejsze równanie jest przekształcane do postaci:

P (A|(a0, a1, ..., an)) = P (a0|A)P (a1|A)...P (an|A)P (A)

Przekształcenie to pozwoli na wyliczenie prawdopodobieństw dla każdegoatrybutu rozpatrywanego wektora. Przyjęto założenie o niezależności wy-stępowania słów w tekście, tym samym można przeprowadzić mnożenie roz-łącznych zdarzeń P (ax|A). Jest to tak zwane założenie o naiwności algoryt-mu Bayesa - Naiwny Bayes (ang. Naive Bayes)

Każde P (ax|A) jest zamieniane naP (ax|A)P (A) (P (A) skraca się w wyni-

ku mnożenia przez P (A) z poprzedniego równania). W tym konkretnymprzypadku istnieje iloczyn czterech takich różnic, gdzie P (A) to prawdopo-dobieństwo wystąpienia rozpatrywanego wektora w danej klasie decyzyjnej.Są to: P1(0|d = 0), P2(1|d = 0), P3(0|d = 0), P4(1|d = 0). Czyli ilość wszyst-kich wektorów z decyzją A podzielona przez wszystkie wektory w omedze.W przypadku wyzerowania się któregoś z prawdopodobieństw P (ax|A)

iloczyn wszystkich będzie wynosił zero. By tego uniknąć podczas liczeniaP (ax|A) przy dzieleniu liczby wektorów posiadających klasę A i wartość

Page 31: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 3. KLASYFIKATORY 30

atrybutu ax przez liczbę wszystkich wektorów o decyzji A, dodaje się dolicznika jedynkę.

Podsumowując powyższy przykład:

przy założeniu że d=0dla a1: P (0|d = 0) = 12dla a2: P (1|d = 0) = 12dla a3: P (0|d = 0) = 12dla a4: P (1|d = 0) = 1P (d0): 12 ∗

12 ∗12 ∗ 1 =

18

przy założeniu że d=1dla a1: P (0|d = 1) = 12dla a2: P (1|d = 1) = 12

tutaj następuje dodanie do licznika 1 by uniknąć mnożenia przez 0 stąd 02zmienia się na 12

dla a3: P (0|d = 1) = 12tutaj również

dla a4: P (1|d = 1) = 12P (d1): 12 ∗

12 =

14

z porównania widać że dla klasy 1, prawdopodobieństwo jest większe, stądteż przyjmuje się, że klasyfikowany tekst należy do klasy 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żeznaczenie - powinna być ona jak największa. Zwiększa to wartości prawdo-podobieństw P (atrybutx|decyzja) czyli o wystąpieniu takiej samej wartościatrybutux wśród znanych wektorów co w rozpatrywanym tekście. Powodujeto wzrost przyszłych szans na poprawną klasyfikację jako, że zmianie ulegnierównież iloczyn prawdopodobieństw P (a0|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 wyliczaniewag dla każdego słowa kluczowego w procesie poprzedzającym samą klasy-fikację. Czyli dane miałyby postać wielomianową a nie jak na powyższymprzykładzie binarną.Zwiększanie omegi o dopiero co rozpatrzone wektory spowoduje zwięk-

szenie mocy tego zbioru. Tym samym prawdopodobieństwa P (atrybutx|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

Page 32: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 3. KLASYFIKATORY 31

nie faworyzować żadnej z klas decyzyjnych. Ponieważ zwiększenie licznościdanej klasy zwiększa szansę na klasyfikowanie do tej klasy nowych tekstów.Dodawane wektory muszą mieć odgórnie poprawianą decyzję w celu unik-nięcia błędów w danych uczących.

Page 33: Klasyfikacja dokumentów tekstowych

Część II

Ekperymenty związane zklasyfikacją dokumentów

tekstowych

32

Page 34: Klasyfikacja dokumentów tekstowych

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ównowygodne przeprowadzanie eksperymentów jak i przechowywanie ich wyni-ków w celu późniejszej weryfikacji.

4.2 Przechowywanie danych

W celu przechowania wszystkich danych niezbędnych do przeprowadzeniaeksperymentów, a także późniejszej weryfikacji ich wyników musiała powstaćodpowiednia baza danych. Schemat bazy danych wykorzystywanej w naszymprojekcie został przedstawiony na rysunku 4.1.Tabela ”Post” zawiera wszystkie dokumenty, na których przeprowadza-

ny będzie proces klasyfikacji. W tabeli tej znajdują się wszystkie dokumen-ty tekstowe, wraz z nazwą grupy dyskusyjnej z której pochodzą. Nazwaokreśla tematykę dokumentu. Tabela ta zawiera także numer klasy decy-zyjnej, który jest ustalany w oparciu o nazwę grupy dyskusyjnej. Słowniksłów kluczowych uzyskany w procesie ekstrakcji cech znajduje się w tabe-li ”Keyword”. Dla każdego słowa kluczowego przechowujemy jego nazwęoraz częstotliwość występowania w całej kolekcji dokumentów. Jeden rekordtabeli ”Keyword news” zawiera jeden element wektora termów dla dane-go dokumentu. Przechowuje ona słowa kluczowe, które wystąpiły w danymdokumencie wraz z ich wagą wyliczoną algorytmem TF/IDF oraz ilościąwystąpień słowa w danym dokumencie. Tabela ”Xsquare” zawiera wynikidziałania algorytmu selekcji cech XSquare, czyli identyfikator termu wrazz przypisanym mu współczynnikiem. W bazie istnieją także dwie pozostałetabele stworzone na potrzeby analizy wyników eksperymentów oraz moni-torowania działania samej platformy. Tabela ”Log module” zawiera zapisaktywności samej platformy (data uruchomienia oraz zakończenia pracy da-

33

Page 35: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 4. PLATFORMA 34

Rysunek 4.1: Schemat bazy danych

nego modułu, nazwę modułu, nazwa klasy implementującej ten moduł orazkrótki opis modułu). Natomiast tabela ”Log test” zawiera wyniki działaniaklasyfikatora (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ć tenefekt 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 celuprzeprowadzenia pojedynczego eksperymentu. Moduły w systemie stanowiąoddzielne bloki realizujące określone funkcje. Rozróżniamy następujące mo-duły:

1. Parser odpowiedzialny za dodawanie nowych dokumentów teksto-wych do zasobów systemu. Dodaje rekordy do tabeli ”Post”.

Page 36: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 4. PLATFORMA 35

2. Extractor odpowiedzialny za przygotowanie słownika słów kluczo-wych na podstawie danych zgromadzonych w bazie. Stanowi punktwyjścia dla pracy dalszych modułów. Dodaje rekordy do tabeli ”Key-word” i ”Keyword news”.

3. Reductor odpowiedzialny za redukcje liczności słów w słowniku. Od-rzuca słowa mało istotne z punktu widzenia zagadnienia klasyfika-cji dokumentów tekstowych. Usuwa rekordy z tabeli ”Keyword” wrazz odpowiadającymi im rekordami z tabeli ”Keyword news”.

4. WeightComputer odpowiedzialny za wyliczenie wag dla wszystkichsłów kluczowych ze słownika. Generuje macierz wag dla kolekcji doku-mentów. Ustawia pole weight w tabeli ”Keyword news”.

5. Classifier odpowiedzialny za klasyfikację dokumentów, zawiera algo-rytmy klasyfikacji które zostały zaimplementowane w systemie. Wy-korzystuje dane z tabel ”Keyword”, ”Keyword news” i ”Post”.

Moduły mogą być uruchamiane w dowolnej kolejności. W szczególności,moduł Reductor może wykorzystywać wagi wyliczone przez moduł Weight-Computer.

4.4 Technologie oraz sprzęt

Platforma została napisana w języku programowania Java w wersji 5.0. Sys-tem wykorzystuje relacyjną bazę danych MySQL w wersji 4.1. Testy doko-nywane były na komputerach: P4 2.0GHz z 1GB pamięci RAM, P4 2.8GHzz 512MB pamięci RAM oraz AMD Athlon 64 3000+ z 1GB pamięci RAM.

4.5 Budowa systemu

Komunikacja z platformą odbywa się poprzez protokół TCP/IP. Systemnasłuchuje na żądania użytkownika na porcie numer 12345. Komendy dosystemu przekazywane są poprzez autorski protokół tekstowy.Każdy moduł systemu może być zaimplementowany przez różne klasy,

co umożliwia posiadanie np. wielu klasyfikatorów: KNN i naiwny Bayes. Po-nadto możliwa jest zmiana bądź dodanie klasy implementującej dany modułbez konieczności wyłączania systemu.System został napisany w technologii wielowątkowej. Każdy moduł uru-

chamiany jest jako osobny wątek, co umożliwia uruchomienie wielu modu-łów równolegle jak również śledzenie postępu prac modułów poprzez głównywątek systemu.

Page 37: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 4. PLATFORMA 36

Platforma ułatwia również tworzenie klas implementujących poszczegól-ne moduły poprzez udostępnianie programiście bibliotek, zawierających im-plementację metod do komunikacji z bazą danych oraz ułatwiających zapi-sywanie wyników testów.

4.6 Instalacja systemu

1. Instalacja środowiska Java w wersji 1.5 oraz bazy danych MySQLw wersji 4.1

2. Utworzenie bazy danych zgodnie ze schematem bazy danych

3. Konfiguracja opcji związanych z bazą danych w pliku manager.properties

4. Kompilacja źródeł systemu wykorzystując reguły kompilacji znajdu-jące się w deskryptorze build.xml (polecenie ant all)

5. Instalacja biblioteki mysql-connector-java

6. Uruchomienie pliku run.sh (w przypadku systemów UNIX) lub run.bat(w przypadku systemów Windows)

7. Wydanie polecenia telnet localhost 12345

4.7 Obsługa systemu

Po połączeniu się z systemem, klient może używać następujących komend:

status wyświetla listę modułów oraz informacje o stanie modułu

list moduł wyświetla listę klas implementujących moduł

run moduł klasa [ parametry ] uruchamiania klasę implementującąmo-duł wraz z opcjonalnymi parametrami

stop moduł zatrzymuje wykonywanie modułu

matrix numer testu wyświetla macierz kontyngencji dla podanego testulub ostatniego testu

4.8 Parametry modułów

Każdy z modułów może posiadać dodatkowe parametry, które przekazywa-ne są w czasie uruchamiania modułu. Parametry umożliwiają dynamiczną(tzn. bez konieczności ponownej kompilacji) zmianę sposobu działania mo-dułu, np. parametr k w KNN. Składnia parametrów wygląda następująco:parametr=wartość. Wartość parametru może być typu liczbowego lub lo-gicznego: prawda (true, 1 ) lub fałsz (false, 0 ).

Page 38: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 4. PLATFORMA 37

4.8.1 DmExtractor

porter włącza/wyłącza stemmer wykorzystujący algorytm Portera

footer włącza/wyłącza pomijanie stopek autorów w dokumentach

4.8.2 DmReductor

min minimalna ilość wystąpień termu, który zostanie uwzględniony w pro-cesie klasyfikacji

min proc minimalna procentowa wystąpień termu, który zostanie uwzględ-niony w procesie klasyfikacji

max maksymalna ilość wystąpień termu, który zostanie uwzględniony w pro-cesie klasyfikacji

max proc maksymalna procentowa wystąpień termu, który zostanie uwzględ-niony w procesie 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

dec lista numerów klas decyzyjnych dokumentów, dla których przeprowa-dzony będzie proces klasyfikacji (przykład: dec=10,20,30 )

4.8.4 DmBayes

omega liczność zbioru danych testowych

opty rodzaj stosowanej optymalizacji. Dostępne są: bin dla binaryzacji orazdys1 dla zmiany wag na liczby całkowite i dys2 dla kwantyzacji wagdo liczb od 1 do 12.

4.9 Przeprowadzenie eksperymentu

1. Pierwszą fazą potrzebną do przeprowadzenia eksperymentu jest przy-gotowanie danych, z których będzie korzystał klasyfikator, zazwyczajużyte są do tego celu moduły: extractor, reductor, weightcompu-ter

2. Następnie następuje główna faza, w której uruchamiany jest klasyfi-kator wraz z parametrami np. takimi jak k, wykorzystując komendęrun

Page 39: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 4. PLATFORMA 38

3. Walidacja wyników działania klasyfikatora odbywa się za pomocą ko-mendy matrix, która prezentuje informacje dotyczące klasyfikacji dlaposzczególnych klas decyzyjnych, w postaci macierzy kontyngencji.

4.10 Przykład interakcji z systemem

$ ./run.sh

[INFO] main:waiting for connections

$ telnet localhost 12345

Trying 127.0.0.1...

Connected to localhost.localdomain.

Escape character is ’^]’.

OK

status

OK 0s

[modules]

parser:PAUSED

extractor:PAUSED

reductor:PAUSED

weightcomputer:PAUSED

classifier:PAUSED

[run queue]

run extractor DmExtractor

OK 0s

status

OK 0s

[modules]

parser:PAUSED

extractor:RUNNING:06.06.2005 19:54:55 : 41%

reductor:PAUSED

weightcomputer:PAUSED

classifier:PAUSED

[run queue]

run reductor DmReductor max_proc=10 min=5

OK 0s

run weightcomputer DmWeightComputer

Page 40: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 4. PLATFORMA 39

run classifier DmKNN k=5

OK 0s

matrix

OK 0s

matrix

d4 & d11 &

d4 & 36 & 10

d11 & 1 & 46

diagonal sum: 82

total tests: 93

accuracy: 88.17204301075269%

Page 41: Klasyfikacja dokumentów tekstowych

Rozdział 5

Eksperymenty

5.1 Wstęp

Testy, które zostaną opisane w niniejszym rozdziale stanowią istotę naszejpracy. Przeprowadzone testy możemy podzielić na kilka grup. Pierwszą gru-pę obejmują eksperymenty badające wpływ zmian kryteriów doboru termówna wynik działania algorytmu KNN. Pozostałe grupy obejmują ekspery-menty dotyczące wpływu zastosowania rożnych algorytmów selekcji cech naskuteczność klasyfikacji, oraz różnice miedzy poszczególnymi typami algo-rytmów klasyfikacji dokumentów zaimplementowanych w systemie.

5.2 Ewaluacja eksperymentów

Współczynnikiem użytym do ewaluacji wszystkich przeprowadzonych eks-perymentów jest skuteczność - miara procentowa wyrażona jako iloraz po-prawnie zakwalifikowanych dokumentów do ilości wszystkich dokumentóww próbce treningowej.

5.3 Dane z grup dyskusyjnych

Grupa 1742 dokumentów tekstowych, pochodzących z internetowych grupdyskusyjnych, została podzielona na 3 klasy decyzyjne zgodnie ze swojątematyką:

1. muzyka (459 dokumentów)

2. medycyna (682 dokumentów)

3. języki programistyczne (601 dokumentów)

Ponadto cała grupa dokumentów została podzielona na dwa zbiory: zbiórtreningowy oraz zbiór testujący. Podział został dokonany losowo, ilość doku-mentów w zbiorze testującym wynosi 10% całej kolekcji dokumentów, czyli

40

Page 42: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 41

174 dokumenty.

Następnie został wykorzystany algorytm ekstrakcji cech, który z każdegodokumentu wydobył wszystkie słowa oraz stworzył z nich słownik. Ponieważdokumenty z grup dyskusyjnych zawierają stopki autorów, które nie wiążąsię z tematyką dokumentu nie są one dołączane do słownika. Również testyzostały przeprowadzone wraz oraz bez użycia stemmera - algorytmu Por-tera. W celu zmniejszenia wielkości słownika został wykorzystany algorytmselekcji cech, który usunął ze słownika termy występujące bardzo często albobardzo rzadko, jako takie, które nie wnoszą dużo informacji do procesu kla-syfikacji. Dokładne wartości progów odcinających są przedmiotem naszycheksperymentów.

5.4 Algorytm KNN wykorzystujący wagi wyliczo-ne przez TF/IDF

Poniższa sekcja opisuje eksperymenty badające wpływ różnych strategii do-boru ilości termów na skuteczność klasyfikatora KNN. Przeprowadzone eks-perymenty mają na celu ustalenie parametrów dla algorytmu selekcji cech,dla których klasyfikator KNN osiągnie najlepsze wyniki. W trakcie przepro-wadzonych eksperymentów zmianie ulegają nie tylko parametry określającekryteria doboru słów kluczowych dla klasyfikatora, ale także parametr kklasyfikatora KNN odpowiedzialny za ilość dokumentów, spośród którychw głosowaniu większościowym wybierany jest zwycięzca.Wszystkie eksperymenty zostały przeprowadzone na kolekcji danych po-

chodzących z grup dyskusyjnych (patrz: 5.3).Dla obliczenia wartości wag został wykorzystany algorytm TF/IDF.Test polegał na sprawdzeniu dla każdego dokumentu w zbiorze testują-

cym jaka będzie odpowiedź klasyfikatora wykorzystującego tylko dokumentyze zbioru treningowego.

5.4.1 Eksperymenty

Progi odcinające z dołu 0.2% oraz 80% z góry (tabela 5.1).

k=5 k=3 k=1skuteczność 51% 48% 55%

Tabela 5.1: Progi odcinające z dołu 0.2% oraz 80% z góry.

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:

Page 43: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 42

k=5 k=3 k=1skuteczność 45% 59% 47%

Tabela 5.2: Progi odcinające z dołu 1 słowo kluczowe oraz 80% z góry.

1. muzyka (459 dokumenty)

2. medycyna (682 dokumenty)

Progi odcinające z dołu 1 słowo kluczowe oraz 80% z góry (tabela 5.3).

k=5 k=3 k=1skuteczność 77% 73% 71%

Tabela 5.3: Progi odcinające z dołu 1 słowo kluczowe oraz 80% z góry (dwieklasy decyzyjne).

Kolejne testy zostały przeprowadzone z zastosowaniem jednej wartościparamteru k, równym 5 (rysunek 5.1). W pierwszych pięciu blokach wykre-su zastosowano jedynie obcinanie z dołu, zaś ostatnie dwa bloki reprezen-tują wyniki otrzymane dla obcinania od góry. Przy czym ostatnia kolumnaobrazuje eksperyment przy obcięciu z dołu równym 5, jednakże bez uży-cia algorytmu Portera (co ma miejsce w poprzedzającej kolumnie). W tymprzypadku skuteczność wzrosła aż o 8% !Następne wyniki eksperymentów prezentują wykonanie ekstrakcji cech

również bez użycia algorytmu Portera. W każdym przypadku obcięcie górnewynosiło 5%. Rysunek 5.2 reprezentuje zależność skuteczności od parametruK.Da się zauważyć, iż ciągłe zwiększanie parametru k ma słabsze strony.

W przypadku powyższego testu najlepsze wyniki osiągnięto dla k równego 8i 9, jednakże dalsze zwiększanie parametru owocuje spadkiem skuteczności.

5.5 Algorytm KNN wykorzystujący χ2

Przeprowadzone w tym rozdziale eksperymenty będą dotyczyć wpływu wy-korzystania algorytmu χ2 do selekcji słów kluczowych, stanowiących skła-dowe wektora. Wektor ten posłuży jako dane wejściowe dla klasyfikatoraKNN.Celem przeprowadzanych eksperymentów jest uzyskanie wyników, które

będzie można porównać z rezultatami uzyskanymi w poprzednim podroz-dziale dla innego algorytmu selekcji cech, a także dobranie takich parame-trów klasyfikatora przy których uzyskiwane beda najlepsze wyniki.

Page 44: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 43

Rysunek 5.1: Odbcięcia 5 termów z dołu.

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.

5.5.2 Wpływ zmiany parametru k na skuteczność klasyfika-tora

Poniższy test ma na celu określenie dla jakich wartości parametru k al-gorytm KNN korzystający z wektorów wejściowych zbudowanych na baziealgorytmu selekcji χ2 daje najlepsze wyniki (rysunek 5.3).Jak widać z wykresu (rysunek 5.3) największą skuteczność algorytm

KNN osiąga dla k=6 lub też dla k=8. Dla dużych wartości parametru K;K > 8 następuje systematyczny spadek skuteczności klasyfikatora, aż dok=15, kiedy to zaprzestano dalszych eksperymentów.Na macierzach kontyngencji (tabela 5.4), (tabela 5.5), oraz (tabela 5.6)

możemy zaobserwować rozkład decyzji klasyfikatora dla 3 przykładowycheksperymentów z grupy wszystkich, które zostaly przeprowadzone.

Page 45: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 44

Rysunek 5.2: Zależność skuteczności klasyfikatora od parametru k

d1 d2 d3d1 46 3 2d2 12 45 1d3 21 29 15

Tabela 5.4: Macierz kontyngencji dla wyników działania algorytmu KNNprzy k=2, korzystającego z χ2

Obserwując macierze kontyngencji dla trzech przykładowych ekspery-mentów łatwo zauważyć pewną prawidłowość. Klasyfkiator KNN korzysta-jący z wektorów wejściowych konstruowanych z wykorzystaniem algorytmuχ2 najlepsze wyniki uzyskuje przy klasyfikacji dokumentów o tematyce zwią-zanej z muzyką (klasa decyzyjna 1 - medycyna). Niewiele gorsze wynikuuzyskano także dla dokumentów z 2 klasy decyzyjnej (tematyka medyczna).Natomiast największe trudności klasyfikator napotyka przy próbie sklasyfi-kowania dokumentów dotyczących jezyków programowania (klasa decyzyjna3 - języki programowania).

Page 46: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 45

Rysunek 5.3: Zmiany skuteczności klasyfikatora w zależności od wartościparametru k

d1 d2 d3d1 31 19 1d2 2 55 1d3 8 30 27

Tabela 5.5: Macierz kontyngencji dla wyników działania algorytmu KNNprzy k=8, korzystającego z χ2

d1 d2 d3d1 18 30 3d2 1 56 1d3 3 39 23

Tabela 5.6: Macierz kontyngencji dla wyników działania algorytmu KNNprzy k=15, korzystającego z χ2

Page 47: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 46

5.6 Klasyfikator Bayesowski

5.6.1 Wstęp

Testy przeprowadzone w tym rozdziale opisują klasyfikację przy użyciu kla-syfikatora Bayesowskiego. Zostały one wykonane dla następującej wielkościzbioru uczącego (omega): 800, 1000, 1500 oraz przy trzech klasach decyzyj-nych d1 = 1,d2 = 2,d3 = 3. Wyniki zostały przedstawione jako wypadkowatych testów, pominięte zostały wyniki z powtarzającymi się wartościami.Wyjątkiem jest sytuacja gdzie różnorodność wyników była zbyt mała, w ta-kim wypadku umieszczono powtarzające się testy.Testy zostały przeprowadzone na różnych zbiorach uczących o tej samej

liczności - jest on tej samej wielkości lecz za każdym razem losowany jestnowy zestaw danych stanowiących zawartość tego zbioru.

5.6.2 Testy bez optymalizacji danych

Pierwsze testy przeprowadzono na bazie danych nie przeprowadzając żad-nych optymalizacji. Wyniki 5.7 bez względu na liczność omegi (danych uczą-cych) były na poziomie poniżej prawdopodobieństwa wystąpienia danej kla-sy. Korzystano z trzech klas decyzyjnych, w przypadku losowego dobieraniadecyzji szansa wynosiłaby 33%. Otrzymane wyniki były jednak dużo niższe(w granicach 20− 25%).

Testy: Test 1 Test 2 Test 3 Test 4 Test 5Skuteczność: 22% 25% 20% 27% 21%

Tabela 5.7: Wyniki klasyfikacji bez optymalizacji

Wnioski:

Zestaw testów 5.7 uwidacznia, iż jakość klasyfikacji jest bardzo słaba. Poprzeanalizowaniu danych zauważalny jest następujący problem: Wartościatrybutó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.

5.6.3 Testy ze zmianą danych do liczb całkowitych

Dane użyte do testów są te same co wyżej, jednak podlegają one przed kla-syfikacją zmianie: Wszystkie wagi są zmieniane na liczby całkowite. Do tej

Page 48: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 47

pory były to liczby rzeczywiste z wartościami do ósmego miejsca po przecin-ku. Tracona jest tym samym część informacji ale w zamian rośnie szansa naznalezienie dwóch takich samych wartości co zwiększa prawdopodobieństwowystąpienia danej wartości wiele razy dla danej klasy decyzyjnej (jednejz trzech).

Testy: Test 1 Test 2 Test 3 Test 4 Test 5Skuteczność: 24% 21% 29% 27% 21%

Tabela 5.8: Wyniki klasyfikacji 2

Wnioski:

Ponownie wyniki 5.8 są zdecydowanie niższe od możliwych do uzyskaniadrogą losowania. Zauważalne jest podniesienie się dolnej granicy skutecz-ności i tym samym zmniejszenie się różnic pomiędzy kolejnymi wynikamiklasyfikacji.

5.6.4 Testy z kwantyzacją

By jeszcze bardziej zwiększyć szanse wystąpienia podobnych wartości w ko-lejnych testach dane zostały poddane kwantyzacji polegającej na zmianiewartości atrybutów poprzez przypisanie ich do odpowiednich przedziałów.Wyznaczone zostały przedziały co 100, decydujące o wartości atrybutu. Np:atrybut o wartości 452 ma wartość 5 (zaokrąglenie na podstawie wartościdziesiątek i jedności.) W rezultacie takiego działania otrzymano 12 przedzia-łów o kolejnych wartościach 1 2 3 4 5 6 7 8 9 10 11 12. Są to nowe wartościatrybutów dla wektorów.

Testy: Test 1 Test 2 Test 3 Test 4 Test 5Skuteczność: 40% 39% 41% 40% 39%

Tabela 5.9: Wyniki klasyfikacji 3

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 danegoatrybutu w omedze.

5.6.5 Testy z binaryzacją

Na podstawie wniosków z poprzednich doświadczeń postanowiono zbinary-zować dane. Efektem czego jest zmiana wszystkich atrybutów większych od

Page 49: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 48

zera na jeden. Tak, że wektory danych uczących i testowych będą zawierałyjedynie wartości 0 i 1.

Testy: Test 1 Test 2 Test 3 Test 4 Test 5Skuteczność: 44% 47% 59% 61% 60%

Tabela 5.10: Wyniki klasyfikacji 4

Wnioski:

Binaryzacja dała zdecydowanie najlepsze rezultaty. Powyższe wyniki 5.10 tosumaryczne zestawienie testów przeprowadzonych dla różnych liczności ome-gi - kolejno: 800, 1000, 1500. Jak widać wzrost liczności oraz zastosowaniezmiany 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 czyteż modyfikacja jest bardzo trudna. By jednak zobrazować problem z wy-stępowaniem zer jako wartości atrybutów w tabeli 5.11 pokazano ilość zerw stosunku do wszystkich atrybutów o wartości niezerowej.

Wagi niezerowe: 4%Wagi zerowe: 96%

Tabela 5.11: Stosunek liczby wag zerowych do niezerowych w danych testo-wych

5.6.6 Podsumowanie

Okazuje się, że dane mają istotny wpływ na jakość klasyfikacji, zbyt częstepowtarzanie się pewnej wartości jest tak samo niesprzyjające jak jej zbytrzadkie 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 - naprzedstawionych eksperymentach wyniki klasyfikacji były nienajlepsze rów-nież z tej przyczyny. Wynika to z tego, że wielkość zbioru uczącego byłazbliżona do ilości słów kluczowych (tabela 5.12).

Słowa kluczowe: 1539Wektory: 1742

Tabela 5.12: Stosunek liczby wektorów do liczby słów kluczowych

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

Page 50: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 49

samych wartości atrybutów. Podobne wyniki osiągnięte zostały w [Fang01].Dopiero zastosowanie bardziej złożonych metod zaowocowało lepszą skutecz-nością.

Rysunek 5.4: Porównanie skuteczności klasyfikatora bayesowskiego przy za-stosowaniu różnych metod optymalizacyjnych

Podsumowujący wykres skuteczności klasyfikacji algorytmem NaiwnegoBayesa w zależności od zastosowanej metody przetworzenia danych (rysunek5.4).

Page 51: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 50

5.7 Algorytm KNN wykorzystujący wagi wyliczo-ne przez TF IDF na kolekcji danych pochodzą-cych z agencji Reuters

Alternatywne eksperymenty zostały przeprowadzone również na innej bazie,której źródłem było archiwum (1987 rok) ręcznie przygotowanych i sklasyfi-kowanych dokumentów pochodzących z agencji Reuters. W tym przypadkuoryginalne dane stanowiły pliki hipertekstowe w formacie SGML.

5.7.1 Parsowanie danych

Każdy z pobranych dokumentów SGML składa się z wielu artykułów ozna-czonych znacznikami. Przykładowa zawartość wygląda następująco:

<REUTERS TOPICS="YES" LEWISSPLIT="TRAIN" CGISPLIT="TRAINING-SET"

OLDID="5544" NEWID="1">

<DATE>26-FEB-1987 15:01:01.79</DATE>

<TOPICS><D>cocoa</D></TOPICS>

<PLACES><D>el-salvador</D><D>usa</D><D>uruguay</D></PLACES>

<PEOPLE></PEOPLE>

<ORGS></ORGS>

<EXCHANGES></EXCHANGES>

<COMPANIES></COMPANIES>

<UNKNOWN> BC-BAHIA-COCOA-REVIEW 02-26 0105</UNKNOWN>

<TEXT>

<TITLE>BAHIA COCOA REVIEW</TITLE>

<DATELINE>SALVADOR, Feb 26 - </DATELINE><BODY>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.

</BODY></TEXT>

</REUTERS>

Page 52: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 51

Każdy z dokumentów SGML składa się z wielu podobnych artykułów,rozpoczynając się znacznikiem<REUTERS> zaś kończąc znacznikiem </REUTERS>.Zadaniem parsera jest wydobycie z każdego artykułu informacji takich

jak:

• Tematyka artykułu, na bazie której ustalana jest później klasa decy-zyjna - znaczniki TOPCIS

• Temat artykułu - znacznik TITLE

• Treść artykułu - znacznik BODY

Artykuł przetworzony przez parser ma następującą postać:

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.

Drugi wiersz odpowiada kategorii danego dokumentu. Niestety nie wewszystkich plikach jest ona sprecyzowana.Problem jaki pojawia się po wstępnej fazie przetwarzania artykułów to

zbyt duża liczba kategorii. Ponieważ część kategorii jest reprezentowana tyl-ko przez kilka artykułów, dlatego postanowiono zmniejszyć ich liczbę wyko-rzystując specyfikę tych danych. Przykładowe nazwy kategorii są postaci:

• money

• money-incomes

• money-banking

Page 53: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 52

• money-banking-interests

Każdy dokument z powyższych kategorii został przypisany do kategoriimoney.

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:

1. surowce (403 dokumenty, oryginalna nazwa grupy: crude)

2. zboże (583 dokumenty, oryginalna nazwa grupy: grain)

3. pieniądze (545 dokumentów, oryginalna nazwa grupy: money)

4. handel (367 dokumentów, oryginalna nazwa grupy: trade)

Podobnie jak w przypadku poprzednio wykonywanych eksperymentówdane zostały podzielone na dwie grupy. Zbiór danych testowych stanowił5% losowo wybranych dokumentów, natomiast dane treningowe stanowiłypozostałą część wszystkich dokumentów. Pierwszym krokiem było zbudowa-nie słownika przy pomocy algorytmu ekstrakcji cech, liczącego około 24 000słów kluczowych. Następnie na słowniku użyto algorytmu selekcji cech, któryusunął słowa nie odgrywające dużej roli w procesie klasyfikacji, to znaczy tepojawiające się najczęściej bądź najrzadziej. Do obliczenia wag pozostałychsłów kluczowych wchodzących w skład słownika użyto algorytmu TF/IDF.Eksperymenty miały na celu zbadanie skuteczności działania klasyfika-

tora w zależności od dobranych parametrów. Każdy z przeprowadzonychtestów został wykonany dla wspomnianych czterech klas decyzyjnych.Na początku zostały wykonane eksperymenty odcinające 80% termów

od góry, gdyż według literatury [Yang97] duże wartości odbcięcia górnychprogów mogą zaowocować wysoką sktecznością klasyfikacji.Można zauważyć iż dla parametru k równego 8 osiągnięto najlepszy wy-

nik w powyższym eksperymencie. Dla niższych wartości parametru wynikibyły bardzo zbliżone. Następnie wykonano test polegający na zmniejszeniuilości odcinania górnych termów z 80% do 50% by zobaczyć czy wartośćskuteczności zmaleje w tym przypadku. Ilość termów odciętych z dołu, jaki kolejne wartości parametru k pozostawiono bez zmian.Wynik procesu klasyfikacji w tymże eksperymencie różni dość znacząco

od poprzedniego testu, gdyż najlepszy wynik wynoszący 62% pozytywniezakwalifikowanych dokumentów osiągnięto dla parametru k równego 1. Zaśsukcesywne zwiększanie paramteru powodowało spadek skuteczności proce-su klasyfikacji.

Page 54: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 53

Rysunek 5.5: Obcięcie z góry 80, obcięcie z dołu 5, 4 klasy decyzyjne.

Rysunek 5.6: Obcięcie z góry 50%, obcięcie z dołu 5, 4 klasy decyzyjne.

Page 55: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 54

Rysunek 5.7: Obcięcie z góry 5%, obcięcie z dołu 2, 4 klasy decyzyjne.

d4 d6 d8 d10d4 15 1 0 1d6 2 19 4 4d8 1 3 11 9d10 1 1 5 16

Tabela 5.13: Obcięcie z góry 3%, obcięcie z dołu 5, k = 5diagonal sum: 61; total tests: 93; accuracy: 65.59139784946237%

Postanowiono przeprowadzić kolejne eksperymenty, polegające tym ra-zem na drastycznym zmniejszeniu procentu odcinanych z góry termów. Zmniej-szono również ilość słów kluczowych odcinanych od dołu. Podobnie jak tomiało miejsce w poprzednich eksperymentach wartości parametru k nie zmie-niają się.Otrzymane wyniki okazują się być lepsze niż te, które uzyskano w po-

przednich eksperymentach. Przeprowadzono kolejny eksperyment, gdzie pro-cent odcinanych od góry termów został jeszcze bardziej zmniejszony.Również w tym przypadku, dla niezmiennych parametrów k (ponownie

równych 1, 5 i 8) uzyskano jeszcze lepszą skuteczność. Przykładem obrazują-cym skuteczność klasyfikacji jest również macierz kontyngencji prezentującaotrzymaną skuteczność (tabela 5.19).

Page 56: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 55

Rysunek 5.8: Obcięcie z góry 3%, obcięcie z dołu 2, 4 klasy decyzyjne.

d4 d6 d8 d10d4 13 2 0 2d6 1 22 1 5d8 1 3 13 7d10 1 0 2 20

Tabela 5.14: Obcięcie z góry 3%, obcięcie z dołu 5, k = 8diagonal sum: 68; total tests: 93; accuracy: 73.11827956989248%

Jest to macierz dotycząca drugiej kolumny powyższego wykresu. Trzeciprzypadek kolumn prezentuje się na tabeli 5.20.Każdy z powyższych testów został przeprowadzony dla czterech klas de-

cyzyjnych wraz z użyciem algorytmu Portera. Eksperymenty miały równieżna celu zbadanie zależności skuteczności przy użyciu bądź też nie wspomnia-nego algorytmu przeprowadzającego stemming. Kolejne testy zostały prze-prowadzone bez użycia algorytmu Portera, również na tych samych czterechklasach decyzyjnych.Wykres obrazuje eksperyment przeprowadzony na identycznych danych

jednak bez użycia algorytmu Portera. Da się zauważyć, iż w pierwszychdwóch przypadkach, czyli dla k równego 1 i k równego 5 zrezygnowanieze stemmingu poprawiło nieznacznie skuteczność o 2% - 3%. Jednakże jużdla większego parametru k użycie algorytmu Portera zaowocowało pięcio-

Page 57: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 56

Rysunek 5.9: Obcięcie z góry 80%, obcięcie z dołu 5, 4 klasy decyzyjne, bezużycia algorytmu Portera.

procentowym spadkiem skuteczności. Przedstawiono również trzy macierzekontyngencji reprezentujące trzy otrzymane wyniki bez użycia algorytmuPortera: (tabela 5.15), (tabela 5.16) oraz (tabela 5.17). Dla k równego 1otrzymano (tabela 5.15).Dla k równego 5 otrzymano (tabela 5.16).Natomiast dla k równego 8 otrzymano (tabela 5.17).Został przeprowadzony jeszcze jeden podobny eksperyment, tym razem

prezentujący obcięcia z góry wynoszące 3% oraz z dołu równe 5, mający nacelu sprawdzenie czy fakt zmniejszenia procentu termów odciętych od góryspowoduje wzrost skuteczności procesu klasyfikacji.

d4 d6 d8 d10d4 10 0 1 6d6 4 21 1 3d8 5 3 9 7d10 1 1 3 18

Tabela 5.15: Obcięcie z góry 80%, obcięcie z dołu 5, 4 klasy decyzyjne, bezużycia algorytmu Portera, k 1.diagonal sum: 58; total tests: 93; accuracy: 62.365591397849464%

Page 58: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 57

d4 d6 d8 d10d4 9 1 2 5d6 3 19 1 6d8 0 1 9 14d10 1 1 2 19

Tabela 5.16: Obcięcie z góry 80%, obcięcie z dołu 5, 4 klasy decyzyjne, bezużycia algorytmu Portera, k 5.diagonal sum: 56; total tests: 93; accuracy: 60.215053763440864%;

d4 d6 d8 d10d4 7 1 1 8d6 3 15 3 8d8 1 1 9 13d10 0 1 1 21

Tabela 5.17: Obcięcie z góry 80%, obcięcie z dołu 5, 4 klasy decyzyjne, bezuż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, bezużycia algorytmu Portera.

Page 59: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 58

d4 d6 d8 d10d4 13 1 1 2d6 2 23 2 2d8 6 0 16 2d10 0 2 1 20

Tabela 5.18: Obcięcie z góry 3%, obcięcie z dołu 5, k = 1diagonal sum: 72; total tests: 93; accuracy: 77.41935483870968%

d4 d6 d8 d10d4 12 1 0 4d6 1 24 2 2d8 0 2 17 5d10 0 3 1 19

Tabela 5.19: Obcięcie z góry 3%, obcięcie z dołu 5, k = 5diagonal sum: 72; total tests: 93; accuracy: 77.41935483870968%

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 d10d4 12 1 0 4d6 3 22 2 2d8 1 2 16 5d10 0 3 2 18

Tabela 5.20: Obcięcie z góry 3%, obcięcie z dołu 5, k = 8diagonal sum: 68; total tests: 93; accuracy: 73.11827956989248%

Page 60: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 59

k=1 k=5 k=8Progi odcinające z dołu 5 termów oraz 80% z góry 82% 85% 87%Progi odcinające z dołu 5 termów oraz 50% z góry 79.5% 87% 88%Progi odcinające z dołu 2 termy oraz 5% z góry 82% 83% 87%Progi odcinające z dołu 5 termów oraz 3% z góry 81% 82% 83%

Tabela 5.21: Tabela przedstawiająca wyniki procesu klasyfikacji dla dwóchklas decyzyjnych

Rysunek 5.11: Obcięcie z góry 5%, obcięcie z dołu 2, 2 klasy decyzyjne, bezużycia algorytmu Portera.

Można zauważyć poprawę wzrostu skuteczności dla testów przeprowa-dzonych dla dwóch klas decyzyjnych. W najlepszych przypadkach osiągniętowartości dochodzące do 90%. Dla wyróżniających się wyników postanowio-no sprawdzić jeszcze wpływ zrezygnowania z procesu stemmingu algorytmuPortera.Macierze kontyngencji dla ostatnich trzech przypadków przedstawiają

się następująco (tabela 5.22), (tabela 5.23), (tabela 5.24).Da się zaobserwować, iż w każdym z trzech przypadków rezygnacja z al-

gorytmu Portera podniosła wyniki skuteczności klasyfikatora nawet o 5%w przypadku gdzie k równe było 5.Reasumując, najlepsze wyniki skuteczności procesu klasyfikacji dla dwóch

klas decyzyjnych osiągnięto przy górnym odcięciu 50% termów oraz dolnym

Page 61: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 5. EKSPERYMENTY 60

d4 d11d4 35 11d11 7 40

Tabela 5.22: Obcięcie z góry 5%, obcięcie z dołu 2, k = 1diagonal sum: 75; total tests: 93; accuracy: 80.64516129032258%

d4 d11d4 36 10d11 1 46

Tabela 5.23: Obcięcie z góry 5%, obcięcie z dołu 2, k = 5diagonal sum: 82; total tests: 93; accuracy: 88.17204301075269%

obcięciu równym 5. Podobną skuteczność obrazuje również eksperyment,w którym zastosowano pięcoprocentowe odcięcie górnych słów kluczowychoraz dwóch dolnych. Należy dodać, iż zarówno w jednym jak i w drugim esk-perymencie zrezygnowano z użycia algorytmu Portera, co dodakowno spowo-dowało wzrost skuteczności głównie dla parametru k równego 5. Jednakżewyłączenie procesu stemmigu w niektórych przypadkach, a zwłaszcza dlaniskich parametrów k owocuje spadkiem skuteczności procesu klasyfikacji.

d4 d11d4 39 7d11 4 43

Tabela 5.24: Obcięcie z góry 5%, obcięcie z dołu 2, k = 8diagonal sum 82; total tests 93; accuracy 88.17204301075269%

Page 62: Klasyfikacja dokumentów tekstowych

Rozdział 6

Wnioski

6.1 Proces stemmingu przy wykorzystaniu algo-rytmu Portera

Eksperymenty przeprowadzone na kolekcji danych wykorzystywanych w na-szym projekcie pozwalają wysnuć wniosek, że algorytm Portera w niektó-rych przypadkach obniża skuteczność algorytmów klasyfikujących. Podobnewyniki przedstawione są w [Ril95].Pogarszanie skuteczności klasyfikacji przez algorytm Portera może mieć

dwie przyczyny. Pierwsza z nich wynika ze specyfiki danych źródłowych. Da-ne zawierają bardzo niewiele słów kluczowych, które są specyficzne dla jednejkategorii. Dlatego, termy występujące tylko w niewielkiej liczbie dokumen-tów są odrzucane w procesie selekcji cech. Druga spowodowany jest faktem,iż istnieją termy, których rdzeń słowotwórczy pojawia się w dokumentach zewszystkich kategorii. Podczas, gdy pełna nazwa słowa kluczowego pojawiasię tylko w jednej kategorii.Fragment słownika pojęć dla słów zaczynających się od program po pro-

cesie ekstrakcji cech z użyciem algorytmu Portera (tabela 6.1).

nazwa termu ilość wystąpieńprogram 192programm 58

programmercredit 8

Tabela 6.1: Fragment słownika pojęć (z Porterem)

Fragment słownika pojęć dla słów zaczynających się od program po pro-cesie ekstrakcji cech bez użycia algorytmu Portera (tabela 6.2).Algorytm Portera sprowadza termy takie jak: programmer i program-

mers do rdzenia słowotwórczego: programm, natomiast term programming,program i programs do program. Takie zachowanie algorytmu Portera jest

61

Page 63: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 6. WNIOSKI 62

nazwa termu ilość wystąpieńprogram 125programming 65programmers 32programs 33

programmercredit 8programmer 27

Tabela 6.2: Fragment słownika pojęć (bez Portera)

niewskazane, ponieważ słowo kluczowe program pojawia się w wielu doku-mentach, nie związanych z tematyką komputerową, podczas gdy słowa klu-czowe programmer i programming ściśle wiążą się zagadnieniami kompute-rowymi (tabela 6.3).

nazwa termu klasa decyzyjna ilośćprogram 1 13program 2 11program 3 101programmer 3 27

programmercredit 3 8programmers 3 32programming 1 4programming 3 61programs 1 2programs 2 3programs 3 28

Tabela 6.3: Ilość wystąpień danego termu w danej klasie decyzyjnej.

Podobna sytuacja ma miejsce w przypadku słowa kluczowego print wy-stępującego we wszystkich kategoriach oraz słów printer i printing wystę-pującego w większości w dokumentach o tematyce komputerowej, które powykorzystaniu algorytmu Portera zostaną skrócone do termu print.Algorytm Portera ma również swoje plusy, ponieważ znacząco redukuje

wielkość słownika co wpływa na poprawę wydajności algorytmów klasyfiku-jących (tabela 6.4).

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

Page 64: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 6. WNIOSKI 63

bez Portera z Porteremwielkość słownika 34302 27521

ilość słów występujących raz 20288 16954ilość słów występujących dwa razy 4276 3184

ilość słów występujących więcej niż 1000 razy 24 24maksymalna ilość wystąpień słowa 1693 1712

średnia ilość wystąpień słowa 7.6810 9.2892

Tabela 6.4: Statystki dotyczące algorytmu Portera

podnosi skuteczność klasyfikatora. Aby zbadać bliżej tę hipotezę przeprowa-dzono dwie serie 14 doświadczeń.W pierwszej serii wykonano 14 doświadczeń polegających na uruchamia-

niu klasyfikatora KNN z wartościami parametru k z przedziału < 2, 14 >.Wektor wejściowy dla klasyfikatora został w tym przypadku zbudowanyz wykorzystaniem χ2 jako algorytmu selekcji cech.Druga seria prób również polegała na uruchamianiu klasyfikatora KNN

z różnymi wartościami parametru k (K ∈< 2, 14 >). W tym przypadku wek-tor wejściowy dla klasyfikatora zbudowano na bazie algorytmu DF selekcjicech.Obie serie doświadczeń wykonano na tej samej próbce treningowej 174

dokumentów należących do 3 klas decyzyjnych (medycyna, muzyka, językiprogramowania). Na wykresie (rysunek 6.1) przedstawiono w formie graficz-nej zależności między skutecznością klasyfikatora (korzystającego z dwochróżnych algorytmów selekcji cech) a wartościami parametru k w każdej z seriiprób.Jak można zaobserwować na wykresie (rysunek 6.1) przeprowadzona se-

ria doświadczeń wykazała, że niezależnie od wartości parametru k dla klasyfi-katora KNN uzyskuje on większą skuteczność w połączeniu z algorytmem χ2

zastosowanym do budowy wektora wejściowego dla klasyfikatora [Yang97].Zaobserwowana prawidłowość wynika z faktu opisanego w rozdziale 2 ni-

niejszej pracy. Algorytm χ2 uwzględnia zależności jakie mogą zachodzić po-między słowami kluczowymi a klasami decyzyjnymi. Przez co słowa kluczowewchodzące w skład wektora wyselekcjonowane przy użyciu tego algorytmupozwalają w bardziej dokładny sposób określić przynależność dokumentu dodanej klasy decyzyjnej, co udało się wykazać w powyższej serii doświadczeń.Na macierzach kontyngencji (tabela 6.5), oraz (tabela 6.6) zbudowanych

dla najwyższych osiagnietych w tym doświadczeniu wskaźnikach skutecz-ności klasyfikatora możemy zaobserwować rozkład decyzji podejmowanychw czasie klasyfikacji.Widać, że w obu przypadkach (zarówno przy zastosowaniu χ2 jak i DF

przy selekcji cech) algorytm KNN w przypadku zastosowanej próbki trenin-

Page 65: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 6. WNIOSKI 64

Rysunek 6.1: Porównanie skuteczności działania klasyfikatora KNN korzy-stąjacego z χ2 oraz DF

d1 d2 d3d1 31 19 1d2 2 55 1d3 8 30 27

Tabela 6.5: Macierz kontyngencji dla wyników działania algorytmu KNNprzy K=8, korzystającego z χ2

gowej najwikszą skuteczność osiąga przy klasyfikacji dokumentów z 2 kla-sy decyzyjnej (medycyna). Natomiast najmniejszą skuteczność klasyfikatorwykazuje przy klasyfikacji dokumentów z 3 klasy decyzyjnej (języki progra-mowania). Obserwacja ta w pełni pokrywa się ze spostrzeżeniami zawartymiw sekcji 5.5.2 pracy.

Page 66: Klasyfikacja dokumentów tekstowych

ROZDZIAŁ 6. WNIOSKI 65

d1 d2 d3d1 25 24 2d2 4 53 1d3 12 37 16

Tabela 6.6: Macierz kontyngencji dla wyników działania algorytmu KNNprzy K=7, korzystającego z DF

Page 67: Klasyfikacja dokumentów tekstowych

Rozdział 7

Podsumowanie

• Przedstawiono przegląd zagadnień związanych z klasyfikacją

• Zaprojektowano i zaimplementowano platformę - środowisko umożli-wiające dokonywanie testów różnych algorytmów klasyfikujących orazłatwą ich ewaluację

• Przeprowadzono eksperymenty związane z klasyfikacją dokumentówtekstowych wykorzystując różne algorytmy selekcji cech oraz klasyfi-kacji

• Przedstawiono wnioski wynikające z przeprowadzonych eksperymen-tów

66

Page 68: Klasyfikacja dokumentów tekstowych

Bibliografia

[Aas99] K Aas, L Eikvil. Text categorisation: A survey. Technical report,Norwegian Computing Center, June 1999

[Cal00] Rafael A. Calvo, H. A. Ceccatto.Intelligent docu-ment classification. I de Fisica Rosario - Laboratorio -http://www.weg.ee.usyd.edu.au/people/rafa/papers/ida2k/ida2k.pdf,IFIR (Instituto de Fisica Rosario), 2000.

[Chak02] Soumen Chakrabarti. Mining the Web: Analysis of Hypertext andSemi Structured Data, p.138-139, 2002.

[Cich00] Paweł Cichosz. Systemy uczące się. Wydawnictwa Naukowo-Techniczne, 2000.

[Fang01] Y.C. Fang, S. Parthasarathy, F. Schwartz. Using Clustering to Bo-ost Text Classification, ICDM Workshop on Text Mining (TextDM’01),2001.

[Guo03] G. Guo, H. Wang, D. Bell, Y. Bi, K. Gre-er. KNN Model-Based Approach in Classification,http://www.icons.rodan.pl/publications/[Guo2003].pdf

[Hand01] David J. Hand, Heikki Mannila, Padhraic Smyth). Principles ofData Mining. The MIT Press, 2001.

[Joa98] T Joachims. Text categorization with support vector machines: Le-arning with many relevant features. Proceedings of the 10th EuropeanConference on Machine, Chemnitz (Germany) 1998.

[Liu03] T Liu, S Liu, Z Chen, WY Ma. An Evaluation on Feature Selec-tion for Text Clustering. Proceedings of the Twentieth InternationalConference on Machine Learning (ICML-2003), Washington DC 2003.

[Mase00] Hisao Mase, Yukiko Morimoto, Hirosi Tsuji: Classification Know-ledge Discovery From Newspaper Articles. Studies in Informaticsand Control Journal, June 2000 Volume 9 Number 3 - http ://www.ici.ro/ici/revista/sic20003/index.html

67

Page 69: Klasyfikacja dokumentów tekstowych

BIBLIOGRAFIA 68

[McCal98] Andrew McCallum, Kamal Nigam. A comparison of Event Mo-dels for Naive Bayes Text Classification. AAAI-98 Workshop on Lear-ning for Text Categorization.

[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

[Porter] The Porter Stemming Algorithm, http://www.tartarus.org/ mar-tin/PorterStemmer/index.html

[Raw04] S. Rawat, A. Pujari, V. P. Gulati, R. Vemuri. Intrusion Detectionusing Text Processing Techniques with a Binary-Weighted Cosine Me-tric, http://www.cs.ucdavis.edu/ vemuri/papers/modified%20knn.pdf

[Reuters87] Reuters-21578 text categorization test collection,http://www.daviddlewis.com/resources/testcollections/reuters21578

[Ril95] Ellen Rillof. Little Words Can Make a Big Difference for Text Clas-sification. In Proceedings of the 18th Annual International ACM SIGIRConference 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.

[Yang97] Y Yang, JO Pedersen. A Comparative Study on Feature Selectionin Text Categorization. International Conference on Machine Learning(ICML), 1997.

[Yang99] Yiming Yang, Xin Liu. A re-examination of text categorization me-thods. Annual ACM SIGIR Conference on Research and Developmentin Information Retrieval (ACM SIGIR), 1999.

[Yat99] Ricardo Baeza-Yates, Berthier Ribeiro-Neto. Modern InformationRetrieval. Addison Wesley, 1999.

Page 70: Klasyfikacja dokumentów tekstowych

Słownik pojęć

Słownik pojęć wykorzystanych w pracy.

a posteriori - prawdopodobieństwo zajścia jakiegoś zdarzenia jest uwarun-kowane znanym zdarzeniem elementarnym B P (A|B) dla: A - nowahipoteza do rozważenia; B - zdarzenie elementarne, od którego zależyA

a priori - prawdopodobieństwo zajścia jakiegoś zdarzenia nie jest zależneod innego zdarzenia elementarnego.

ekstrakcja cech - wydobycie i utworzenie słownika ze słów kluczowychdokumentów.

kategoria - grupa tematyczna, do której przypisany jest dany dokumet.Kategoria jest równoznaczna z terminem grupa decyzyjna.

macierz kontyngencji (ang. contingency matrix) - macierz opisującarozkład decyzji podjętych w czasie procesu klasyfikacji dla każdej z klasdecyzyjnych.

omega - zbiór zawierający wszystkie wektory stanowiące bazę na podsta-wie, której wyliczane jest prawdopodobieństwo podczas klasyfikacji.

selekcja cech - wybór cech (termów) budujących wektor opisujący poje-dynczy dokument.

skuteczność - miara procentowa wyrażona jako iloraz poprawnie zakwa-lifikowanych dokumentów do ilości wszystkich dokumentów w próbcetreningowej.

słowo kluczowe/term - termin oznaczający jeden element wektora opisu-jącego dokument.

stemming - proces polegający na sprowadzaniu słów do rdzeni slowotwór-czych poprzez usuwanie formantów (zarówno przedrostków jak i przy-rostków).

69

Page 71: Klasyfikacja dokumentów tekstowych

BIBLIOGRAFIA 70

TF/IDF - algorytm TF/IDF określający sposób wyliczania wag dla słówkluczowych w wektorze, opierający się na częstotliwości występowaniasłów w dokumentach.

wektor wejściowy - wektor, którego współrzędnymi są nazwy termów a war-tościami wagi wyliczone algorytmem TF/IDF, przekazywany na wej-ście algorytmu klasyfikującego.

Page 72: Klasyfikacja dokumentów tekstowych

Spis tabel

2.1 Macierz kontyngencji . . . . . . . . . . . . . . . . . . . . . . . 19

3.1 Przykładowe dane uczące . . . . . . . . . . . . . . . . . . . . 283.2 Przykładowy zestaw atrybutów do klasyfikacji . . . . . . . . . 28

5.1 Progi odcinające z dołu 0.2% oraz 80% z góry. . . . . . . . . 415.2 Progi odcinające z dołu 1 słowo kluczowe oraz 80% z góry. . . 425.3 Progi odcinające z dołu 1 słowo kluczowe oraz 80% z góry

(dwie klasy decyzyjne). . . . . . . . . . . . . . . . . . . . . . 425.4 Macierz kontyngencji dla wyników działania algorytmu KNN

przy k=2, korzystającego z χ2 . . . . . . . . . . . . . . . . . . 445.5 Macierz kontyngencji dla wyników działania algorytmu KNN

przy k=8, korzystającego z χ2 . . . . . . . . . . . . . . . . . . 455.6 Macierz kontyngencji dla wyników działania algorytmu KNN

przy k=15, korzystającego z χ2 . . . . . . . . . . . . . . . . . 455.7 Wyniki klasyfikacji bez optymalizacji . . . . . . . . . . . . . . 465.8 Wyniki klasyfikacji 2 . . . . . . . . . . . . . . . . . . . . . . . 475.9 Wyniki klasyfikacji 3 . . . . . . . . . . . . . . . . . . . . . . . 475.10 Wyniki klasyfikacji 4 . . . . . . . . . . . . . . . . . . . . . . . 485.11 Stosunek liczby wag zerowych do niezerowych w danych te-

stowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485.12 Stosunek liczby wektorów do liczby słów kluczowych . . . . . 485.13 Obcięcie z góry 3%, obcięcie z dołu 5, k = 5 . . . . . . . . . . 545.14 Obcięcie z góry 3%, obcięcie z dołu 5, k = 8 . . . . . . . . . . 555.15 Obcięcie z góry 80%, obcięcie z dołu 5, 4 klasy decyzyjne, bez

użycia algorytmu Portera, k 1. . . . . . . . . . . . . . . . . . 565.16 Obcięcie z góry 80%, obcięcie z dołu 5, 4 klasy decyzyjne, bez

użycia algorytmu Portera, k 5. . . . . . . . . . . . . . . . . . 575.17 Obcięcie z góry 80%, obcięcie z dołu 5, 4 klasy decyzyjne, bez

użycia algorytmu Portera, k 8. . . . . . . . . . . . . . . . . . 575.18 Obcięcie z góry 3%, obcięcie z dołu 5, k = 1 . . . . . . . . . . 585.19 Obcięcie z góry 3%, obcięcie z dołu 5, k = 5 . . . . . . . . . . 585.20 Obcięcie z góry 3%, obcięcie z dołu 5, k = 8 . . . . . . . . . . 58

71

Page 73: Klasyfikacja dokumentów tekstowych

SPIS TABEL 72

5.21 Tabela przedstawiająca wyniki procesu klasyfikacji dla dwóchklas decyzyjnych . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.22 Obcięcie z góry 5%, obcięcie z dołu 2, k = 1 . . . . . . . . . . 605.23 Obcięcie z góry 5%, obcięcie z dołu 2, k = 5 . . . . . . . . . . 605.24 Obcięcie z góry 5%, obcięcie z dołu 2, k = 8 . . . . . . . . . . 60

6.1 Fragment słownika pojęć (z Porterem) . . . . . . . . . . . . . 616.2 Fragment słownika pojęć (bez Portera) . . . . . . . . . . . . . 626.3 Ilość wystąpień danego termu w danej klasie decyzyjnej. . . . 626.4 Statystki dotyczące algorytmu Portera . . . . . . . . . . . . . 636.5 Macierz kontyngencji dla wyników działania algorytmu KNN

przy K=8, korzystającego z χ2 . . . . . . . . . . . . . . . . . 646.6 Macierz kontyngencji dla wyników działania algorytmu KNN

przy K=7, korzystającego z DF . . . . . . . . . . . . . . . . . 65

Page 74: Klasyfikacja dokumentów tekstowych

Spis rysunków

4.1 Schemat bazy danych . . . . . . . . . . . . . . . . . . . . . . 34

5.1 Odbcięcia 5 termów z dołu. . . . . . . . . . . . . . . . . . . . 435.2 Zależność skuteczności klasyfikatora od parametru k . . . . . 445.3 Zmiany skuteczności klasyfikatora w zależności od wartości

parametru k . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.4 Porównanie skuteczności klasyfikatora bayesowskiego przy za-

stosowaniu różnych metod optymalizacyjnych . . . . . . . . . 495.5 Obcięcie z góry 80, obcięcie z dołu 5, 4 klasy decyzyjne. . . . 535.6 Obcięcie z góry 50%, obcięcie z dołu 5, 4 klasy decyzyjne. . . 535.7 Obcięcie z góry 5%, obcięcie z dołu 2, 4 klasy decyzyjne. . . . 545.8 Obcięcie z góry 3%, obcięcie z dołu 2, 4 klasy decyzyjne. . . . 555.9 Obcięcie z góry 80%, obcięcie z dołu 5, 4 klasy decyzyjne, bez

użycia algorytmu Portera. . . . . . . . . . . . . . . . . . . . . 565.10 Obcięcie z góry 3%, obcięcie z dołu 5, 4 klasy decyzyjne, bez

użycia algorytmu Portera. . . . . . . . . . . . . . . . . . . . . 575.11 Obcięcie z góry 5%, obcięcie z dołu 2, 2 klasy decyzyjne, bez

użycia algorytmu Portera. . . . . . . . . . . . . . . . . . . . . 59

6.1 Porównanie skuteczności działania klasyfikatora KNN korzy-stąjacego z χ2 oraz DF . . . . . . . . . . . . . . . . . . . . . . 64

73