Automatyczna kategoryzacja dokumentów

Transkrypt

Automatyczna kategoryzacja dokumentów
Automatyczna kategoryzacja
dokumentów
Piotr Gawrysiak
Październik 2001
Streszczenie
Praca poświęcona jest automatycznej kategoryzacji dokumentów tekstowych. Jest to
problem z pogranicza uczenia maszynowego i przetwarzania języka naturalnego.
Mając na uwadze niezwykle duży wzrost zainteresowania problematyką automatycznej obróbki dokumentów w ostatnich latach, we wstępie pracy opisano aktualny
stan badań nad przetwarzaniem języka naturalnego, zwracając szczególną uwagę na
metody statystyczne. Pokrótce omówiono problematykę analizy lingwistycznej, automatycznego tłumaczenia, identyfikacji słów kluczowych, generacji streszczeń, wyszukiwania informacji, wreszcie zaś kategoryzacji i grupowania dokumentów.
Rozwiązanie problemu kategoryzacji dokumentów wymaga skonstruowania takiego
systemu informatycznego, który potrafiłby dokonać przyporządkowania tekstu zapisanego w języku naturalnym do jednej z predefiniowanych klas, przy czym klasy te definiowane są implicite, poprzez już należące do nich obiekty. W ogólnym ujęciu jest to
klasyczny problem kategoryzacji danych, dla którego istnieje wiele efektywnych algorytmów. Specyfika dokumentów tekstowych wymaga jednak fazy wstępnej obróbki,
czyli przetworzenia dokumentów na takie reprezentacje, które mogą być bezpośrednio
analizowane przez te algorytmy.
W pracy zaproponowano nowe reprezentacje dokumentów. Pozwalają one na analizę statystyczną następstwa wyrazów w tekście, oraz ich położenia w obrębie dokumentu. Pozwala to na poprawienie jakości działania systemów kategoryzacji, oraz na rozszerzenie ich możliwości o klasyfikację dokumentów o podobnym formatowaniu bądź
strukturze. Opisano także metody obróbki reprezentacji, pozwalające zarówno na ich
rozszerzanie (m.in. semantyczne, w oparciu o tezaurusy) jak i zawężanie, poprzez wybór atrybutów najlepiej charakteryzujących dany zbiór dokumentów. W pracy zaproponowano także metodologię konstruowania systemów kategoryzacji, wykorzystujących,
poza samą treścią tekstową dokumentów, także dodatkowe atrybuty nietekstowe, a polegającą na hierarchicznym łączeniu algorytmów.
Wybrane metody zaproponowane w pracy zostały zaimplementowane i przetestowane w eksperymentalnym systemie kategoryzacji. Praca prezentuje wyniki przeprowadzonych eksperymentów, pokazujących, iż zastosowanie nowych reprezentacji dokumentów i metod ich obróbki, prowadzi do poprawienia jakości działania systemu,
przy niezmienionym samym algorytmie klasyfikacji danych. Przetestowano także możliwość dokonywania kategoryzacji przy użyciu atrybutów nietekstowych w praktycznych zastosowaniach, takich jak sortowanie poczty elektronicznej i dokumentów
HTML.
Wyniki eksperymentów sugerują także możliwości nowych obszarów zastosowań
systemów kategoryzacji i tym samym kontynuacji badań w tej dziedzinie, w szczególności w odniesieniu do wyszukiwania informacji w sieci Internet.
słowa kluczowe: przetwarzanie języka naturalnego, kategoryzacja dokumentów, reprezentacje tekstu, uczenie maszynowe
2
Spis rzeczy
OD AUTORA ............................................................................................................ 5
1. WSTĘP .................................................................................................................. 7
1.1 Potrzeba rozwoju systemów analizy języka naturalnego........................................................ 8
1.2 Podejście statystyczne, a podejście klasyczne ........................................................................ 9
1.3 Aktualne obszary badań ....................................................................................................... 11
1.3.1 Analiza lingwistyczna .................................................................................................................... 11
1.3.2 Tłumaczenie automatyczne ............................................................................................................ 13
1.3.3 Identyfikacja istotnych form frazeologicznych ............................................................................... 15
1.3.4 Automatyczna generacja streszczeń ............................................................................................... 16
1.3.5 Grupowanie i kategoryzacja dokumentów ..................................................................................... 18
1.3.6 Wyszukiwanie informacji ............................................................................................................... 19
1.4 Zakres pracy ......................................................................................................................... 21
1.4.1 Motywacja do powstania pracy ..................................................................................................... 21
1.4.2 Teza pracy ..................................................................................................................................... 22
1.5 Przegląd pracy ...................................................................................................................... 23
2. POJĘCIA PODSTAWOWE .............................................................................. 25
2.1 Problem kategoryzacji dokumentów .................................................................................... 25
2.2 Ocena efektywności algorytmów kategoryzacji ................................................................... 25
2.2.1 Wskaźniki stosowane w wyszukiwaniu informacji .......................................................................... 25
2.2.2 Wskaźniki dla kategoryzacji binarnej ............................................................................................ 27
2.2.3 Rozszerzenie dla przypadku wielu klas .......................................................................................... 30
2.2.4 Przykład oceny............................................................................................................................... 31
2.3 Materiał tekstowy ................................................................................................................. 32
2.3.1 Język naturalny .............................................................................................................................. 33
2.3.2 Słowa i zdania................................................................................................................................ 33
2.3.3 Teksty, dokumenty tekstowe i kolekcje dokumentów....................................................................... 34
2.4 Reprezentacje unigramowe .................................................................................................. 35
2.4.1 Reprezentacja binarna i częstościowa ........................................................................................... 36
2.4.2 Prawo Zipfa ................................................................................................................................... 37
2.4.3 Interpretacja generacyjna.............................................................................................................. 40
3. PROPOZYCJE NOWYCH METOD REPREZENTACJI DOKUMENTÓW
....................................................................................................................................... 41
3.1 Reprezentacje bazujące na modelu Markowa....................................................................... 41
3.1.1 Reprezentacje n-gramowe.............................................................................................................. 41
3.1.2 Reprezentacja γ-gramowa.............................................................................................................. 45
3.2 Reprezentacja pozycyjna ...................................................................................................... 47
3.2.1 Rozkład częstości słów ................................................................................................................... 47
3.2.2 Interpretacja generacyjna.............................................................................................................. 52
3.3 Reprezentacja atrybutów nietekstowych .............................................................................. 52
4. PRZETWARZANIE REPREZENTACJI DOKUMENTÓW ........................ 54
4.1 Wygładzanie – powiększanie wielkości reprezentacji.......................................................... 55
4.1.1 Metoda Laplace’a .......................................................................................................................... 55
4.1.2 Metoda Lidstone’a i metoda Jeffreys’a .......................................................................................... 56
4.1.3 Metoda Witten’a i Bell’a................................................................................................................ 56
4.1.4 Inne metody wygładzania............................................................................................................... 57
4.2 Ograniczanie wielkości reprezentacji ................................................................................... 58
4.2.1 Funkcje istotności atrybutów ......................................................................................................... 58
3
4.2.2 Wybór atrybutów najlepiej różnicujących klasy............................................................................. 63
4.2.3 Przekształcanie przestrzeni atrybutów ........................................................................................... 65
5. KATEGORYZACJA DOKUMENTÓW O BOGATEJ STRUKTURZE ..... 70
5.1 Specyfika repozytoriów dokumentów o bogatej strukturze.................................................. 70
5.1.1 Organizacja skrzynki poczty elektronicznej ................................................................................... 71
5.1.2 Gromadzenie odnośników do stron WWW ..................................................................................... 71
5.2 Klasyczne metody łączenia kategoryzatorów....................................................................... 72
5.2.1 Bagging ......................................................................................................................................... 73
5.2.2 Boosting ......................................................................................................................................... 73
5.3 Hierarchiczne łączenie kategoryzatorów .............................................................................. 74
6. PROPOZYCJE ZASTOSOWAŃ...................................................................... 77
6.1 Zastosowania klasyczne ....................................................................................................... 77
6.2 Analiza korespondencji ........................................................................................................ 78
6.3 Śledzenie wydarzeń .............................................................................................................. 79
6.4 Zastosowania w sieci Internet .............................................................................................. 80
6.4.1 Web Mining oraz Web Farming ..................................................................................................... 81
6.4.2 Focused crawling i assisted browsing ........................................................................................... 82
7. WYNIKI EKSPERYMENTÓW ....................................................................... 84
7.1 Opis systemu ........................................................................................................................ 84
7.2 Badane kolekcje dokumentów.............................................................................................. 84
7.3 Wybór atrybutów ................................................................................................................. 88
7.4 Skalowanie atrybutów .......................................................................................................... 90
7.5 Reprezentacje oparte na modelu Markowa .......................................................................... 92
7.6 Kategoryzacja poczty elektronicznej .................................................................................... 95
7.7 Kategoryzacja dokumentów według ich formatowania........................................................ 96
7.8 Wnioski ................................................................................................................................ 98
8. PODSUMOWANIE ............................................................................................ 99
9. LITERATURA.................................................................................................. 101
10. SPIS TABLIC I ILUSTRACJI ...................................................................... 107
10.1 Spis ilustracji .................................................................................................................... 107
10.2 Spis tablic ......................................................................................................................... 107
ANEKSY ............................................................................................................... 109
A1. Spis skrótów ...................................................................................................................... 109
A2. Algorytmy kategoryzacji ................................................................................................... 109
A2.1 Metoda Rocchio ............................................................................................................................109
A.2.2 KNN – k nearest neighbor ............................................................................................................110
A2.3 Naive Bayes ...................................................................................................................................110
A2.4 SVM – support vector machines ....................................................................................................111
A3. Budowa eksperymentalnego systemu kategoryzacji ......................................................... 113
A3.1 Struktura systemu ..........................................................................................................................113
A3.2 Sposób użycia ................................................................................................................................116
A3.3 Przykład działania .........................................................................................................................117
4
Od Autora
Die Grenzen der Sprache sind
die Grenzen der Welt
Ludwig Wittgenstein
Tractatus Logico Philosophicus
Do niedawna jeszcze informatyka pozostawała domeną liczb – komputery przede
wszystkim obliczały. Niezależnie zaś od tego, czy przedmiotem tych obliczeń był wiek
wszechświata, czy też siatka płac, pozostawała przez to dziedziną hermetyczną i mającą
niezbyt wielkie znaczenie dla większości ludzi. Ta większość jest bowiem humanistycznej natury, przez co matematyka pozostaje dla niej ogrodem tyleż tajemniczym, co
niezrozumiałym.
Jednak gdy tylko wymyślono pierwszy edytor tekstu, zaś ceny komputerów spadły
do wystarczająco niskiego poziomu, by zwykli ludzie mogli sobie na nie pozwolić,
szybko okazało się że bynajmniej nie liczenie jest tym, do czego były stosowane. Zamiast tego stały się najpierw inteligentnymi maszynami do pisania, potem zaś – szczególnie za sprawą upowszechnienia się sieci Internet – urządzeniami do zarządzania dokumentami. Ponieważ zaś jak do tej pory większość dokumentów, jakie tworzone są
przez ludzi, ma charakter tekstowy, toteż gdy zastanawiałem się nad wyborem tematyki
rozprawy doktorskiej, wiedziałem, iż musi być związana z analizą i przetwarzaniem
tekstu.
Odpowiedź na pytanie o to, czemu kategoryzacja tekstów wydała mi się tematem
najciekawszym, jest już dużo trudniejsza. Przede wszystkim efekty badań są bezpośrednio użyteczne. Kategoryzatory mogą znaleźć zastosowanie praktycznie we wszystkich systemach tekstowych, szczególnie zaś w systemach wyszukiwania informacji.
Niektóre z rozwiązań proponowanych w niniejszej pracy zostały już wykorzystane przy
realizacji eksperymentalnego systemu Text Mining dla Fujitsu FQS Research Poland.
Ponadto jest to dziedzina mająca bezpośredni związek z tematyką uczenia maszynowego – w tym zaś z metodologią Data Mining, z którą miałem okazję zapoznać się, a
także – jak mam nadzieję – rozwijać, podczas prac w zespole Zakładu Systemów Informacyjnych Politechniki Warszawskiej.
Podziękowania
Pragnąłbym podziękować prof. Henrykowi Rybińskiemu, bez którego pomocy i
wsparcia praca ta nie mogłaby powstać. Wyrazy wdzięczności składam także prof.
Mieczysławowi Muraszkiewiczowi, kierującemu pracami zespołu Data & Text Mining
w Instytucie Informatyki Politechniki Warszawskiej, oraz jego pozostałym członkom,
w szczególności zaś dr inż. Marzenie Kryszkiewicz, mgr inż. Marcinowi Gajkowi, mgr
inż. Łukaszowi Gancarzowi i mgr inż. Michałowi Okoniewskiemu.
5
Nota terminologiczna
W niniejszej pracy terminy klasyfikacja i kategoryzacja używane są wymiennie.
6
1. Wstęp
Syntax and vocabulary are overwhelming constraints —
the rules that run us. Language is using us to talk — we
think we’re using the language, but language is doing the
thinking, we’re its slavish agents.
Harry Mathews
Umiejętność posługiwania się językiem stanowi jeden z najważniejszych powszechnie uznawanych atrybutów człowieczeństwa, czy też ogólniej – inteligencji. Mowa
ludzka stanowi potężny i bardzo uniwersalny aparat, służący kodowaniu i przekazywaniu wiedzy. Dzięki niej ludzkość stanowi zbiorowość o intelektualnym potencjale
znacznie większym, niż suma inteligencji poszczególnych jednostek.
Nic zatem dziwnego, iż to właśnie rozumienie języka naturalnego przez maszyny
wydaje się być najbardziej ambitnym – ale przez to i najodleglejszym – celem, jaki
osiągnąć może informatyka. Już Alan Turing, proponując w [Turing, 1950] swój słynny
test, mający na celu stwierdzenie, czy dana maszyna może być uznana za inteligentną,
za kryterium przyjął rozumienie języka naturalnego. Pomijając tu kwestię tego, czy ów
test rzeczywiście pozwala sprawdzić inteligencję maszyny (z czym nie zgadza się wielu
– patrz choćby argumenty Searlego w [Searle, 1987]), to stworzenie urządzenia, czy też
algorytmu, rozumiejącego język naturalny, stanowiło by wielki przełom w badaniach
nad sztuczną inteligencją. Bynajmniej jednak nie dlatego, iż z takim komputerem można by rozmawiać, czyli wydawać polecenia w najprostszy możliwy (dla człowieka)
sposób, lecz dlatego, że posiadł by on umiejętność analizy repozytorium wiedzy budowanego przez ludzkość w ciągu ostatnich kilku tysięcy lat. Cała bowiem nasza wiedza i
doświadczenie – twierdzenia matematyczne, dane historyczne, wiersze i literatura, a
nawet religia - zapisywane i przekazywane są właśnie w języku naturalnym.
Niestety, komputer taki nie powstał jak do tej pory i wszystko wskazuje na to, iż poczekać nam nań przyjdzie jeszcze bardzo długo. Nie oznacza to jednak, iż nie są tworzone algorytmy, służące do obróbki lingwistycznej danych tekstowych, realizujące
pewne problemy cząstkowe związane z rozumieniem języka. Sytuacja jest tu podobna,
jak w całej dziedzinie badań nad sztuczną inteligencją – co prawda nikomu jeszcze nie
udało się stworzyć inteligentnego komputera, to jednak w ostatnich latach dokonano
znaczącego postępu np. w badaniach nad metodami uczenia maszynowego.
Sytuacja ta znajduje swoje odzwierciedlenie w terminologii. Mówimy zatem o przetwarzaniu języka naturalnego (ang. natural language processing, NLP) dla określenia
wszystkich
automatycznych
metod
i
narzędzi
korzystających
z
informacji zapisanych w języku naturalnym. Mianem zaś rozumienia języka naturalnego (ang. natural language understanding, NLU) określamy systemy, skutecznie analizujące i wykorzystujące semantykę tekstów.
Rozprawa ta traktuje o stosunkowo wąskiej dziedzinie przetwarzania języka naturalnego, jaką jest automatyczna kategoryzacja dokumentów tekstowych. Ponieważ jed-
1. Wstęp
nak NLP jest dziedziną niezbyt znaną, toteż zasadnym wydaje się pobieżne choćby jej
przedstawienie. Celowi temu poświęcono kolejne trzy podrozdziały.
1.1 Potrzeba rozwoju systemów analizy języka naturalnego
Wczesne zastosowania komputerów ograniczały się do zadań obliczeniowych, co
wynikało między innymi z ich bardzo ograniczonej pamięci1. Co prawda szybki rozwój
elektroniki stosunkowo wcześnie umożliwił wykorzystanie maszyn cyfrowych także do
przechowywania informacji, wciąż jednak jeszcze była to w większości informacja w
postaci numerycznej. Do dzisiaj zresztą większość dużych, komercyjnych projektów
informatycznych związana jest z przetwarzaniem zarchiwizowanych danych liczbowych.
Lata dziewięćdziesiąte ubiegłego wieku przynoszą istotne zmiany, wywołane między innymi gwałtownym rozwojem, a następnie upowszechnieniem się sieci Internet.
Jej rosnąca popularność powoduje, iż w krótkim czasie praktycznie wszystkie istniejące
zbiory informacji tekstowej (archiwa gazet, artykuły naukowe, nawet książki2) przekształcane są do postaci elektronicznej i udostępniane on-line. Co więcej, Internet staje
się powoli głównym medium publikacyjnym. Dzięki niskiemu kosztowi opracowania
stron WWW, coraz częściej nowe informacje najpierw pojawiają się w sieci, by dopiero
potem trafić do druku.
Oznacza to, iż każdy, dysponujący komputerem podłączonym do globalnej sieci,
posiada praktycznie natychmiastowy dostęp do zasobów całej wiedzy, odkrytej i stworzonej przez ludzkość. Można zaryzykować stwierdzenie, iż mamy tu do czynienia z
kolejnym etapem rewolucji informacyjnej, której poprzedni miał miejsce w XV wieku
za sprawą Gutenberga [Gawrysiak, 1999]. O ile wynalazek pisma, a później druku, pozwolił na kumulowanie wiedzy poszczególnych pokoleń (i tym samym na rozwój nauki), to powszechność Internetu pozwoli, miejmy nadzieję każdemu, na wykorzystanie z
tej wiedzy.
Niestety, korzyści, jakie mogły by wynikać z powyższego faktu, są wciąż jedynie
potencjalne. Odnajdywanie bowiem informacji w tak bogatym repozytorium, jakim jest
Internet, okazuje się być zadaniem niełatwym. Fakt ten przyczynił się właśnie do wzrostu zainteresowania NLP, jako techniki, która pozwoliłaby bądź bezpośrednio na ułatwienie wyszukiwania informacji w sieci (ang. information retrieval, IR), bądź też na
automatyczne porządkowanie dużych zbiorów dokumentów, co pośrednio mogłoby
przyczynić się do uproszczenia procesu odnajdywania dokumentów.
Drugim czynnikiem, który przywrócił zainteresowanie problematyką automatycznego przetwarzania języka naturalnego, jest nowa tendencja w teorii organizacji i zarządzania, związana z efektywnym wykorzystaniem wiedzy w organizacjach [Clifee,
1998], [Teece, 1998]. Metodyki wywodzące się z niej określane są zwykle zbiorczym
mianem „zarządzania wiedzą” (ang. knowledge management, KM). Ponieważ zaś pod1
Jeszcze w latach siedemdziesiątych XX wieku większość maszyn cyfrowych dysponowała pamięcią operacyjną wielkości od kilkuset, do kilku tysięcy bajtów.
2
Patrz choćby projekt Gutenberg [W1]
8
1. Wstęp
stawowym nośnikiem wiedzy3 w organizacjach są nie strukturalizowane zbiory dokumentów tekstowych, stąd też zapotrzebowanie na metody i narzędzia, które pozwoliłyby na ich automatyczną analizę.
1.2 Podejście statystyczne, a podejście klasyczne
Badania nad językiem naturalnym prowadzone są już od bardzo dawna, jednak aż
do XIX wieku były głównie domeną filozofii. Jedną z pierwszych osób, które zastosowały metody analizy matematycznej i logiki do badania języka był William Jones.
Dzięki swoim pracom, dotyczącym analizy porównawczej języków perskiego i greckiego, uznawany jest on za prekursora lingwistyki porównawczej. Badania zapoczątkowane przez niego, a kontynuowane m.in. przez Jakoba Grimma i Rasmusa Raska doprowadziły do wykrycia wspólnych korzeni wielu współczesnych języków – takich jak
choćby języki indoeuropejskie.
Późniejsze prace koncentrują się nad analizą zależności pomiędzy gramatyką i semantyką języków. Badania te doprowadziły do sformułowania w latach pięćdziesiątych
gramatyki generatywno-transformacyjnej przez Zelliga Harrisa i Noama Chomskiego
[Chomsky, 1957]. Zakłada ona, iż istnieje pewien zbiór reguł logicznych pozwalających na generację zdań języka naturalnego. Zbiór ten, nazwany przez Chomskiego językiem wewnętrznym (ang. I-language) nie może być jednak badany bezpośrednio.
Obserwować możemy bowiem jedynie efekt generacji, czyli zdania wypowiadane w
języku naturalnym, a określane mianem języka zewnętrznego (ang. E-language). Zadaniem lingwistyki jest odkrycie struktury języka wewnętrznego i zapisanie jej w postaci
sformalizowanego zbioru reguł.
Powyższe podejście, które można określić mianem klasycznego, pomimo iż przyczyniło się znacząco do rozwoju automatycznych systemów NLP, nie jest jednak pozbawione wad. Przede wszystkim zakłada istnienie jednego, dla danego języka, zbioru
reguł, pozwalających generować zdania poprawne gramatycznie. Tymczasem sposób
mówienia poszczególnych ludzi różni się, czasem nawet bardzo znacząco4. Co więcej,
wiele osób buduje zdania, które z pewnością nie są poprawne gramatycznie (tzw. mowa
potoczna), a mimo to nie ma trudności z porozumieniem się. Wreszcie, reguły gramatyczne okazują się być zadziwiająco skomplikowane dla większości języków naturalnych. Dla przykładu - opis automatu skończonego, akceptującego zdania podrzędnie
złożone języka polskiego, zajmuje ponad 200 stron [Swidzinski, 1982]. To skomplikowanie reguł, tworzonych zwykle ręcznie przez lingwistów, utrudnia znacznie ich zastosowanie praktyczne.
Ciągły wzrost mocy obliczeniowej komputerów, a także możliwości archiwizacji informacji, pozwolił w ostatnich latach na powrót do w pełni automatycznych metod analizy języka. Jest to powrót, albowiem pomimo iż pierwsze prace dotyczące statystycz3
Dotyczy to zarówno wiedzy „jawnej”, jak i „ukrytej”, której źródłem jest np. wewnętrzna poczta elektronicz-
na.
4
Staje się to jeszcze bardziej wyraźne, gdy analizujemy teksty pochodzące z różnych okresów historycznych –
gramatyka języka ewoluuje bowiem w czasie.
9
1. Wstęp
nej analizy tekstów pochodzą już z początku ubiegłego wieku (patrz np. praca Markowa
[Markow, 1913]), to podejście to, aż do końca lat osiemdziesiątych, uznawane było za
niezbyt obiecujące. Manning i Shuetze [Shuetze, 1999] upatrują przyczyn tego stanu
rzeczy głównie w krytyce, którą przedstawiał Chomsky [Chomsky, 1986]. Głównym
argumentem Chomskiego, przeciwko użyteczności metod statystycznych, jest przekonanie o tym, iż umiejętność posługiwania się językiem naturalnym jest do pewnego
stopnia dziedziczna. Jeśli zaś ludzki mózg posiada pewną wbudowaną a priori wiedzę o
języku, to budowa systemów NLP powinna także rozpocząć się od wyposażenia ich w
podobne informacje.
Nowe podejście, które nazywać można statystycznym5, nie neguje istnienia wewnętrznego modelu generacyjnego języka. Postuluje jednak, iż możliwe jest odkrycie
jego własności w procesie uczenia, poprzez obserwację i analizę odpowiednio dużej
ilości tekstu w języku naturalnym. Postulat ten oznacza także, iż być może mózg ludzki
nie posiada wstępnej wiedzy językowej, a jedynie bardzo rozbudowany aparat analityczny, który pozwala dzieciom na nauczenie się dowolnego języka. Co prawda, według Chomskiego informacje zawarte w wypowiedziach, jakie może usłyszeć dziecko,
są niewystarczające, by poznać strukturę języka (tzw. argument poverty of stimulus)
jednak nowe prace [Landauer, 1994], [Landauer, 1996] wydają się zaprzeczać temu
stwierdzeniu.
Podejście statystyczne jest oparte na podobnych przesłankach, co popularny ostatnio
trend w analizie danych, zwany odkrywaniem wiedzy w bazach danych (ang. knowledge discovery in databases, KDD). Według Gregory Piatetskiego-Shapiro odkrywanie
wiedzy to: nietrywialny, zautomatyzowany proces odkrywania istotnych, nowych, potencjalnie użytecznych i zrozumiałych wzorców wśród danych [Piatetsky, 1996],
[Fayyad, 1999]. Jeśli dokumenty tekstowe potraktować jako zbiór danych sekwencyjnych, w których poszukiwać można zależności i wzorców, to można mówić o odkrywaniu wiedzy w tekstowych bazach danych (ang. text mining lub text data mining) przy
użyciu metod podobnych jak w klasycznym KDD. Oczywiście szczegóły będą tutaj
różne – klasyczne bazy danych przechowują bowiem zwykle informacje numeryczne,
charakteryzowane stosunkowo niewielką liczbą atrybutów – jednak sam proces odkrywania wiedzy może mieć podobny charakter [Ahonen, 1999].
Przede wszystkim jednak podejście statystyczne okazuje się być praktycznym.
Dzięki temu, w ciągu ostatnich dziesięciu lat, coraz bardziej zyskiwało ono na znaczeniu. Obecnie większość prac, związanych z komercyjnym wykorzystaniem NLP, jest na
nim oparta. Nie oznacza to bynajmniej, że jest ono jedynie słusznym. Wydaje się raczej, iż przyszłe systemy NLP korzystać będą zarówno z wiedzy ekspertów-lingwistów,
zapisanej w postaci baz wiedzy, jak też i z systemów analizy automatycznej, dzięki której będą w stanie wiedzę tą modyfikować i uaktualniać.
5
Można by je także opatrzyć mianem ilościowego (ang. quantitative), nazwa ta spotykana jest czasem w literaturze angielskiej
10
1. Wstęp
1.3 Aktualne obszary badań
Przetwarzanie języka naturalnego jest dziedziną, która rozwija się obecnie bardzo
dynamicznie. Mimo to podstawowe problemy, oraz obszary zastosowań, pozostają w
zasadzie niezmienne od wielu lat. Wydaje się, iż dobrym kryterium ich podziału jest
rodzaj materiału tekstowego, który jest przedmiotem przetwarzania.
W ten sposób można wyróżnić zastosowania w których:
- analizowana jest struktura, zależności i reguły, występujące języku naturalnym,
traktowanym jako całość;
- przetwarzane są odrębne, pojedyncze dokumenty tekstowe;
- analizowane są zbiory dokumentów tekstowych.
Do pierwszej kategorii należą wszelkie badania nad językiem, także porównawcze,
oraz konstruowanie narzędzi językowych, takich jak tezaurusy, słowniki i analizatory
gramatyczne. Druga kategoria obejmuje metody takie jak: automatyczne tłumaczenie,
wyszukiwanie słów kluczowych czy też generacja streszczeń. Wreszcie do trzeciej kategorii należą systemy bazujące na tekstowych bazach danych, służące do wyszukiwania dokumentów, ich grupowania i klasyfikacji, a także wizualizacji.
1.3.1 Analiza lingwistyczna
Analiza lingwistyczna jest historycznie najstarszą dziedziną w NLP, która stosunkowo niewiele skorzystała z upowszechnienia się metod statystycznych. Podstawowym
problemem, jaki jest tu badany, pozostaje dokonywanie syntaktycznego, gramatycznego i wreszcie semantycznego rozbioru zdań w języku naturalnym, a następnie reprezentacja wydobytej w ten sposób wiedzy o treści zdania, w języku formalnym. Wspomniany rozbiór zdania dokonywany jest przy użyciu uprzednio zdefiniowanego zbioru reguł,
często opisujących automat skończony. Przykładem praktycznego zastosowania klasycznej analizy lingwistycznej jest system ekspertowy LUNAR służący do wyszukiwania informacji o próbkach skał księżycowych [Bolc, 1983].
Metody statystyczne mają tu zwykle znaczenie pomocnicze. Głównym ich zastosowaniem, jak do tej pory, jest budowa analizatorów syntaktycznych, przyporządkowujących poszczególnym słowom identyfikatory odpowiednich części mowy. Proces ten,
będący niezbędnym, wstępnym etapem rozbioru zdania, zwykle nie może być dokonany jedynie na podstawie słownika. O ile bowiem w językach fleksyjnych, takich jak język polski, gramatyczna forma słowa określona jest dość dobrze przez jego formę fleksyjną, to już w językach pozycyjnych ta sama forma fleksyjna może odpowiadać wielu
funkcjom syntaktycznym.
Dla przykładu w angielskim zdaniu:
This is a delicious butter.
11
1. Wstęp
słowo butter użyte jest w funkcji rzeczownika, zaś w zdaniu:
You should butter your toast.
w funkcji czasownika.
Jak już wspomniano, w językach fleksyjnych tego rodzaju wieloznaczność występuje znacznie rzadziej, jednak także jest spotykana. Dla języka polskiego dobrym przykładem jest słowo zajęczy w konstrukcjach Czy to pasztet zajęczy6 i Most zajęczy pod
butami.
Zadaniem analizatora jest zatem przyporządkowanie poprawnych identyfikatorów
części mowy do poszczególnych słów (ang. part of speech tagging), co możliwe jest
dzięki analizie kontekstu występowania słowa, tj. słów znajdujących się w jego bezpośrednim otoczeniu. Techniką powszechnie stosowaną jest wykorzystanie algorytmu
klasyfikacji, takiego jak drzewa decyzyjne lub klasyfikator Bayesa i trenowanie go na
tekście, w którym części mowy zostały już przyporządkowane ręcznie. Obecnie poprawność tak prowadzonej automatycznej klasyfikacji osiąga dla tekstu angielskiego
95-97%. [Church, 1988], [Charniak, 1993]. Warto tu zaznaczyć, iż analizatory deterministyczne, oparte o zbiór predefiniowanych reguł, osiągają zwykle lepsze efekty, choć
oczywiście są mniej uniwersalne [Karslsson, 1995].
Podobnym problemem, choć znacznie bardziej złożonym, okazuje się także analiza
semantyki słowa (ang. word sense disambiguation). W większości języków występuje
wiele homonimów – słów mających więcej niż jedno znaczenie. Niezbędne jest zatem
określenie znaczenia homonimu w kontekście danego zdania. Podobnie jak w przypadku części mowy, także tutaj mogą być stosowane automatyczne systemy klasyfikacji,
analizujące otoczenie słów [Ide, 1998].
W analizie semantycznej zastosowanie znajdują również sieci semantyczne, nazywane także tezaurusami, przedstawiające zależności pomiędzy znaczeniami słów. Ich
wykorzystanie ogranicza jednak to, iż ręczne tworzenie tezaurusów jest zadaniem
uciążliwym i długotrwałym, pomimo iż istnieją systemy wspierające ten proces7 [Miller, 1996].
Podejście statystyczne pozwala na podejmowanie prób automatycznego tworzenia
tezaurusów, poprzez analizę współwystępowania (ang. coocurence). W najprostszych
przypadkach, za słowa semantycznie skorelowane uznawane są te, które często występują w bliskim sąsiedztwie - jest to tzw. współwystępowanie pierwszego rzędu. W bardziej zaawansowanej analizie wykorzystywane jest współwystępowanie drugiego rzędu, to jest pojawianie się słów w tekście w podobnym kontekście. Wykorzystując powyższe metody Shuetze i Pedersen zbudowali system tworzący tezaurusy na podstawie
6
Profesorowi Bronisławowi Knasterowi przypisywana jest następująca odpowiedź na to pytanie: „Kto go zje,
zaraz pozna. Jeśli nie zajęczy, to zajęczy, a jeśli zajęczy, to nie zajęczy”.
7
Jednym z takich systemów jest MTM4, stworzony przez prof. Mieczysława Muraszkiewicza i prof. Henryka
Rybińskiego w Instytucie Inżynierii Informatycznej.
12
1. Wstęp
analizy dużego zbioru tekstu w języku angielskim, jego opis, wraz z przykładami zastosowań, zawiera praca [Pedersen, 1995].
1.3.2 Tłumaczenie automatyczne
Automatyczne tłumaczenie dokumentów (ang. machine translation, MT) jest jednym z najbardziej atrakcyjnych zastosowań NLP. Niestety, nie jest to problem łatwy,
jako że większość języków naturalnych ma nie tylko różne słowniki, ale także różną
gramatykę, inne idiomy i funkcje poszczególnych słów, wreszcie zaś nawet inne alfabety.
Większość dotychczasowych podejść do problemu automatycznego tłumaczenia
można przyporządkować do jednego z czterech poziomów, zobrazowanych na poniższym schemacie, zaadaptowanym z pracy [Knight, 1997]:
Język wyjściowy Polski
Język docelowy Angielski
Poziom słów
Czasem lubię latać
With time I like fly
Poziom syntaktyczny
Czasem lubię latać
I like flying with time
Poziom semantyczny
Czasem lubię latać
I like flying from time to time
Reprezentacja wiedzy
Czasem lubię latać
I like flying from time to time
Sztuczny
język formalny
13
1. Wstęp
Rys. 1. Hierarchia systemów automatycznego tłumaczenia
Pierwszy poziom reprezentuje proste metody słownikowe, tłumaczące bezpośrednio
poszczególne słowa dokumentów. Jak obrazuje to choćby powyższy przykład, tłumaczenie takie, w większości przypadków, charakteryzować się będzie bardzo niską jakością, w szczególności nie będzie zachowany szyk zdania języka docelowego.
Problem ten można rozwiązać posiłkując się analizą syntaktyczną, najpierw dokonując rozbioru zdania, następnie tłumaczenia słów, a na końcu grupując przetłumaczone
słowa zgodnie z regułami gramatyki języka docelowego. Oczywiście aby tego dokonać,
niezbędne jest uprzednie oznaczenie części mowy i części zdania, spełnianych przez
poszczególne słowa, na przykład metodami wspomnianymi w poprzednim rozdziale.
Zdania tworzone w ten sposób będą już gramatycznie poprawne, jednak w dalszym ciągu ich znaczenie może różnić się od zdań w języku wyjściowym – choćby z powodu
często występującej wieloznaczności słów, czy też stosowania idiomów.
Rozwiązaniem idealnym jest tłumaczenie na poziomie semantycznym – najpierw
zrozumienie sensu zdania wyjściowego, a następnie generacja zdania w języku docelowym, o tym samym znaczeniu. Odmianą tej metody jest wprowadzenie kroku pośredniego w postaci pewnego sztucznego języka, w którym reprezentowana jest wiedza zawarta w zdaniach języka wyjściowego. Jest to pożądane szczególnie w systemach wielojęzycznych, jako że pozwala na budowanie mniejszej liczby translatorów. O ile system czterojęzyczny, obsługujący języki: polski, angielski, francuski i rosyjski; wymaga
stworzenia 12 translatorów (polski->angielski, polski->francuski, angielski->polski,
itd.) to zastosowanie kroku pośredniego pozwala na ograniczenie ich liczby do 8 (polski->język formalny, język formalny->angielski, itd.).
Obecnie większość systemów komercyjnych dokonuje analizy tłumaczonego materiału co najwyżej na poziomie syntaktycznym. Jakość generowanego tekstu jest zatem
niewystarczająca do jego bezpośredniego zastosowania [Shuetze, 1999].
Statystyczne metody NLP stosowane są w MT głównie do tworzenia pomocniczych
zbiorów danych. Dotyczy to zarówno budowania wielojęzycznych słowników, jak też i
opracowywania tekstów dwujęzycznych (ang. bitexts).
Podstawowym problemem jaki musi zostać rozwiązany w przypadku wykorzystywania dokumentu dwujęzycznego, niemalże niezależnie od jego późniejszego zastosowania, jest semantyczne dopasowanie tekstu w obu językach (ang. text alignment).
Chodzi tu o powiązanie ze sobą zdań, mających to samo znaczenie, w tekście źródłowym i jego tłumaczeniu. Problem ten nie jest trywialny, albowiem często zdarza się, iż
jedno zdanie w języku wyjściowym tłumaczone jest na kilka zdań w języku docelowym. Tłumacze zmieniają także szyk zdań, a czasem nawet opuszczają fragmenty tekstu.
Rozwiązania bazują tu na dwóch podejściach. Pierwszym z nich jest prosta analiza
długości zdań. Przyjmuje się w niej, iż zdania źródłowe i ich tłumaczenia mają podobną
14
1. Wstęp
długość, bądź to liczoną w znakach pisarskich [Church, 1993], bądź w słowach [Brown,
1991]. Metodami programowania dynamicznego można zatem dobrać takie dopasowanie tekstu źródłowego i przetłumaczonego, dla którego różnice w długościach odpowiadających sobie zdań będą minimalizowane.
Drugie podejście oparte jest na analizie słów, o tym samym znaczeniu, występujących w obu tekstach, przy czym słowa te identyfikowane są na podstawie częstości ich
występowania w potencjalnie powiązanych zdaniach, w obu tekstach [Kay, 1993], lub
też za pomocą wstępnego tłumaczenia słownikowego [Chen, 1993].
Dokonywane są także próby tworzenia całych systemów, tłumaczących jedynie przy
wykorzystaniu metod statystycznych. Jako przykład służyć mogą systemy „examplebased” wykorzystujące zbiór uprzednio przygotowanych, parametryzowanych par zdań
w obu językach, do generacji tłumaczeń zdań doń podobnych. Dysponując np. poniższą
parą zdań:
Książka okazała się przymiotnik, The book turned out to be przymiotnik
oraz prostym słownikiem, system może np. dokonać poprawnego tłumaczenia zdania: Książka okazała się nieciekawa na język angielski.
Największym problemem jest tu obecnie automatyczna budowa baz, zawierających
podobne do powyższych pary zdań, na podstawie analizy dużych partii tekstów dwujęzycznych [Cicekli, 2000]
1.3.3 Identyfikacja istotnych form frazeologicznych
Nie wszystkie słowa występujące w dokumentach są jednakowo ważne. W szczególności wiele wyrazów, takich jak spójniki, przyimki, rodzajniki itp., może zostać
usunięta z tekstu, bez szkody dla jakości jego późniejszej analizy, przynajmniej w
większości zastosowań8.
Znacznie trudniejsze zadanie stanowi natomiast wskazanie tych form frazeologicznych (ang. collocations), które mają szczególne znaczenie dla treści dokumentu.
Choueka podaje w [Choueka, 1988] następującą definicję istotnej formy frazeologicznej:
Jest to sekwencja dwóch, lub więcej słów, która posiada własności jednostki syntaktycznej i semantycznej, a której dokładne znaczenie nie może być bezpośrednio wyprowadzone ze znaczenia wchodzących w jej skład słów.
Manning i Shuetze proponują w [Shuetze, 1999] następujący podział rodzajów form
frazeologicznych:
- specjalne formy gramatyczne (ang. light verbs) – takie jak make a decision, do a
favor itp.; nie mają one dużego znaczenia semantycznego i mogą być wykryte w
prostej analizie słownikowej;
8
Lista tych słów, stała dla danego języka, nazywana jest stopword list lub po prostu stoplist
15
1. Wstęp
-
-
idiomy (ang. phrasal verbs) – takie jak go off, go down itp.; odpowiadają często
pojedynczemu słowu w innych językach, ich wykrywanie może opierać się na
analizie słownikowej, choć jest także możliwe przy wykorzystaniu metod statystycznych;
nazwy własne (ang. proper names) oraz wyrażenia terminologiczne (ang. terminological expressions) – np. Microsoft Research, data mining itp.; ich wykrywanie możliwe jest obecnie jedynie przy wykorzystaniu analizy statystycznej.
W zastosowaniach praktycznych szczególne znaczenie ma automatyczne identyfikowanie ostatnich dwóch kategorii form frazeologicznych, obecnych w treści dokumentu. Najczęściej stosowane do tego celu są metody testowania hipotez statystycznych.
Smadja [Smadja, 1993] proponuje zastosowanie testu t-studenta do sprawdzania, czy
kilkukrotne powtórzenia sekwencji dwóch słów w treści dokumentu są przypadkowe,
czy też wskazują na to, iż te słowa tworzą istotną formę frazeologiczną. Church i Mercer proponują z kolei korzystanie z testu χ2 [Church, 1993], wreszcie Dunning [Dunning, 1993] wykorzystuje iloraz wiarygodności.
Wykryte formy mogą posłużyć do budowania list słów kluczowych dla dokumentów. Ich generowanie stanowi także często pośredni etap przy grupowaniu i kategoryzacji tekstów9, przykładem jest tu komercyjny pakiet Inteligent Miner for Text [IBM,
2000].
1.3.4 Automatyczna generacja streszczeń
Generacja streszczeń może być zdefiniowana jako proces ekstrakcji najważniejszych
informacji ze źródła (lub źródeł) mający na celu zbudowanie jego skróconej reprezentacji dla potrzeb konkretnego użytkownika (lub użytkowników) i zadania (lub zadań)
[Mani, 1999].
Znaczenie systemów automatycznej generacji streszczeń systematycznie rośnie w
ciągu ostatnich lat. Przyczyn tego trendu można upatrywać w rozwoju sieci Internet i
tym samym wciąż powiększającej się liczbie dokumentów, jakie dostępne są dla jej
użytkowników, przy jednoczesnej niezadowalającej jakości systemów wyszukiwania
informacji. Automatycznie wygenerowane abstrakty pozwalają w tej sytuacji – przynajmniej potencjalnie – na znaczne zmniejszenie ilości tekstu, jaka musi być przeczytana przez użytkownika, podczas poszukiwania interesujących go dokumentów. Ma to
szczególne znaczenie w systemach wyszukiwania w sieci WWW, pozwalając w krótkim czasie ocenić relewancję odnalezionych stron, jedynie na podstawie streszczeń, bez
potrzeby ich ładowania. Niektóre serwisy komercyjne udostępniają już proste narzędzia
podsumowujące [W2], [W3].
Oczywiście powyższy przykład nie stanowi jedynego możliwego zastosowania tych
systemów. Wszędzie tam, gdzie istnieje potrzeba choćby pobieżnego poznania treści
wielu dokumentów w jak najkrótszym czasie, systemy generacji streszczeń mogą być
przydatne.
9
Patrz także rozdział 4.2
16
1. Wstęp
Klasycznie stosowany jest podział abstraktów na dwie grupy [Paice, 1990]. Podsumowania wskazujące (ang. indicative) mają za zadanie poinformować czytelnika o tematyce streszczanego dokumentu i tym samym pozwalają na zdecydowanie, czy jest on
wart przeczytania. Z kolei podsumowania informacyjne (ang. informative) zawierają te
same informacje semantyczne co tekst źródłowy, jednakże podane w bardziej skondensowanej formie10 i tym samym mogą zastąpić go dla większości czytelników. Z oczywistych względów automatyczne tworzenie streszczeń pierwszego rodzaju jest zadaniem łatwiejszym.
Podejścia, stosowane obecnie przy konstruowaniu systemów generacji streszczeń, są
następujące:
- metody statystyczne, w których analiza częstości występowania słów w dokumencie (także słów o specjalnych znaczeniach, takich jak „podsumowując”,
„abstrakt” itp.) służy do wybrania tych zdań, które następnie posłużą do zbudowania streszczenia;
- metody reprezentacji tekstu – gdzie dokonywana jest syntaktyczna analiza tekstu, przy wykorzystaniu metod rozbioru zdań, słowników i tezaurusów;
- metody reprezentacji dokumentu – w których analizie poddana jest także struktura wypowiedzi w obrębie dokumentu (jak na przykład sekwencje – „pytanieodpowiedź” w wywiadach), formatowanie i zmiany tematyki (ang. vocabulary
shifts) w kolejnych sekcjach tekstu.
Budowa systemów generacji streszczeń okazuje się zadaniem niełatwym [Sparck,
1999]. Praktycznie wszystkie istniejące systemy ograniczają się zatem do wybierania
niektórych, istotnych semantycznie, zdań z tekstu źródłowego. Powstające w ten sposób
streszczenia mają fragmentaryczny charakter, nie zachowując w szczególności ciągłości
narracji – z tego też powodu nazywane są wyciągami z dokumentów oryginalnych (ang.
extracts). Tymczasem generacja pełnych abstraktów (ang. abstracts) wymaga już dokonania analizy semantycznej zbioru zdań, uznanych za istotne dla znaczenia dokumentu, a następnie przeprowadzenia generacji wypowiedzi - co wciąż pozostaje zadaniem
nierozwiązanym, poza wąskimi zastosowaniami [Lehnert, 1981], [Keown, 1995].
Poza samą analizą pojedynczych dokumentów tekstowych, rozważane są obecnie
problemy generacji streszczeń dla materiałów multimedialnych, a także dla grup dokumentów [Bloedorn, 1999], [Merlino, 1999]. W przypadku dokumentów multimedialnych istotne jest nie tylko samo przygotowanie streszczenia (co oczywiście także nie
jest zadaniem prostym, szczególnie gdy mamy do czynienia z sekwencjami wideo i
dźwiękowymi), ale również jego prezentacja, jest ono bowiem także materiałem multimedialnym, złożonym z ekstraktu tekstowego, oraz wybranych i przetworzonych ilustracji, klatek filmu, itd.
10
Stosunek długości streszczenia do długości dokumentu źródłowego nazywany jest stopniem kompresji informacji (ang. information compression ratio)
17
1. Wstęp
Streszczanie grup dokumentów jest stosunkowo nową dziedziną, wyłamującą się z
ram podanej klasyfikacji obszarów badań NLP. Przedmiotem jej zainteresowania jest
budowanie streszczeń, obejmujących zawartość więcej niż jednego dokumentu. Ma to
na celu dokonanie większej kompresji informacji, co zostanie osiągnięte w przypadku,
gdy zakresy tematyczne dokumentów z analizowanej grupy będą się pokrywać. Celem
może być też dostarczenie zbiorczej informacji, o różnicach i podobieństwach występujących pomiędzy dokumentami z danej grupy. Można wtedy traktować streszczanie
grup dokumentów jako szczególny przypadek ich grupowania i kategoryzacji.
1.3.5 Grupowanie i kategoryzacja dokumentów
Grupowanie i kategoryzacja danych wywodzą się z klasycznej statystyki opisowej,
jednak ostatnie lata przyniosły znaczny wzrost zainteresowania tymi technikami, związany z popularnością automatycznych metod odkrywania wiedzy w bazach danych.
Obie te metody okazują się być niezwykle przydatne w analizie dużych zbiorów danych, pozwalają często na ich dekompozycję na mniejsze, bardziej homogeniczne i tym
samym łatwiejsze do interpretacji, podgrupy. Mimo swojej popularności, grupowanie i
kategoryzacja są często ze sobą mylone11. Ustalmy zatem, iż celem systemu kategoryzacji dokumentów (ang. document categorization lub document classification) jest
przyporządkowanie dokumentu do jednej (lub kilku) z uprzednio zdefiniowanych klas.
Klasy te zwykle definiowane są nie wprost, lecz poprzez zbiór trenujący, to jest grupę
dokumentów już odpowiednio zaklasyfikowanych ręcznie, np. przez ekspertów. W
większości przypadków klasy nie są zagnieżdżane, natomiast czasem przyjmuje się, iż
jeden dokument należeć może do więcej niż jednej klasy [Yang, 1998].
Problemem pokrewnym i jak wspomniano, często mylonym z klasyfikacją dokumentów, jest grupowanie dokumentów (ang. document clustering). W tym przypadku
system nie posiada wyjściowej wiedzy, w postaci już zaklasyfikowanych dokumentów,
czy też samych klas, zaś jego zadaniem jest takie pogrupowanie dokumentów, by dokumenty należące do jednej klasy były do siebie możliwie podobne i jednocześnie różniły się znacząco od dokumentów należących do innych klas [Sholom, 2000]. Grupowanie to może być hierarchiczne, wtedy poszczególne grupy mogą być zagnieżdżane.
W obydwu przypadkach mamy do czynienia z procesem uczenia maszynowego.
Różnica polega na tym, iż w pierwszym przypadku jest to uczenie z nadzorem, natomiast w drugim – bez nadzoru.
Podstawowym problemem, jaki występuje w przypadku klasyfikacji i grupowania
dokumentów tekstowych, jest wybór ich reprezentacji. W większości klasycznych zastosowań data mining reprezentacja obiektów, które będą grupowane, narzuca się niejako sama – jest to po prostu zbiór atrybutów, tworzących krotkę w bazie danych.
Dla dokumentów tekstowych najczęściej stosowana jest metoda, polegająca na traktowaniu częstości występowania poszczególnych słów w dokumencie jako atrybutów.
11
Przykładowo [StatSoft, 2001] podaje, iż grupowanie (ang. cluster analysis) obejmuje szereg algorytmów
klasyfikacji (ang. classification)!
18
1. Wstęp
Rodzi to jednak problemy związane z wielowymiarowością tak stworzonej przestrzeni
atrybutów. Typowe teksty zawierają bowiem od kilku, do kilkudziesięciu tysięcy różnych słów. Z tego też powodu, poszukuje się metod wybierania tych słów, czy też grup
słów, które są semantycznie najbardziej istotne dla danego zbioru dokumentów, lub też
dokonuje się wstępnego łączenia słów o pokrewnym znaczeniu w klasy np. dzięki analizie dystrybucji słów w poszczególnych grupach12 [Baker, 1998].
Klasyczne algorytmy grupowania, takie jak grupowanie k-means [Hartigan, 1979],
lub hierarchiczne grupowanie aglomeracyjne (ang. hierarchical aglomerative clustering) połączone z powyższymi metodami selekcji atrybutów, okazują się efektywne dla
stosunkowo niewielkich kolekcji dokumentów, liczących do kilku tysięcy elementów,
w których liczba generowanych grup jest stosunkowo niewielka. Niestety, wraz ze
wzrostem liczby grup, szybko rośnie złożoność obliczeniowa tych algorytmów (np. dla
grupowania k-means złożoność obliczeniowa zbliża się do O(n2) dla dużych wartości k,
gdzie n oznacza liczbę analizowanych dokumentów) co wymusza stosowanie algorytmów zaprojektowanych od podstaw do analizy tekstu [Sholom, 2000].
W przypadku klasyfikacji, problem złożoności obliczeniowej jest również istotny,
poza tym często ograniczenie liczby atrybutów wpływa na polepszenie jakości wyniku.
Wśród algorytmów największą popularnością cieszą się ostatnio metoda Rocchio, knearest neighbour (kNN), klasyfikatory Bayesa oraz Support Vector Machines (SVM)
[Vapnik, 1998] i sieci neuronowe. Yang w [Yang, 1998] dokonuje porównania efektywności powyższych algorytmów w kategoryzacji dokumentów tekstowych, pokazując, iż SVM i kNN dają wyraźnie lepsze wyniki od pozostałych metod.
Grupowanie i klasyfikacja znajduje szczególne szerokie zastosowanie w systemach
wyszukiwania informacji, gdzie wykorzystywane jest do porządkowania i wizualizacji
zbiorów odnalezionych dokumentów. Sposób wykorzystania metod grupowania w
ogólnodostępnych systemach, szczególnie zintegrowanych z siecią Internet, jest jednak
kwestią kontrowersyjną. Nie brak nawet opinii [Banerjee, 1998] o niemożliwości stworzenia uniwersalnego systemu automatycznego grupowania dokumentów takich, jak
strony WWW.
Dokładniejszemu przedstawieniu praktycznych zastosowań metod kategoryzacji dokumentów tekstowych poświęcono rozdział szósty niniejszej pracy.
Oczywiście wspomniane powyżej zastosowania metod klasyfikacji i grupowania nie
wyczerpują możliwości ich wykorzystania w NLP. Użyte do analizy mniejszych jednostek lingwistycznych, takich jak paragrafy, zdania, słowa, a nawet znaki pisarskie, mogą służyć jako efektywne narzędzia badania tekstu13.
1.3.6 Wyszukiwanie informacji
Wyszukiwanie informacji jest dziedziną bardzo szeroką, obejmującą zagadnienia
przechowywania, analizy i odnajdywania informacji, zapisanej w różnych postaciach.
12
Ta metoda może być oczywiście stosowana jedynie w klasyfikacji, a nie w grupowaniu, gdzie definicje klas,
i tym samym dystrybucje słów, nie są znane a priori.
13
Patrz także rozdział 1.3.1.
19
1. Wstęp
Najczęściej jednak jako information retrieval rozumiane jest wyszukiwanie dokumentów w tekstowych bazach danych i do takiej definicji ograniczono się w niniejszej pracy.
Funkcje istniejących systemów IR mogą być zgrubnie podzielone na dwie grupy
[Shuetze, 1999]:
- funkcje typu exact match, obejmujące wyszukiwanie tych dokumentów, których
charakterystyka została dokładnie opisana w zapytaniu, skonstruowanym w
pewnym formalnym języku zapytań, zwykle wykorzystującym elementy algebry Boole’a;
- funkcje statystyczne, polegające na szacowaniu zgodności dokumentów z zadanym zapytaniem, także formułowanym w języku naturalnym, w poszukiwaniu
tych, które mogą być potencjalnie istotne dla użytkownika, przy czym dokładna
ich charakterystyka nie jest dana.
W początkowym okresie rozwoju systemów IR, prowadzono głównie badania związane z pierwszą grupą funkcji, koncentrując się na zapewnieniu zadowalającej ich wydajności, w obliczu ciągle powiększających się rozmiarów repozytoriów dokumentów.
Obecnie, dzięki szybkiemu rozwojowi sprzętu, nie stanowi to już dużego problemu,
nawet dla repozytoriów stron WWW.
Metodą zapewniającą najlepsze wyniki w wyszukiwaniu typu exact match już od
kilku lat pozostaje technika zbiorów odwróconych (ang. inverted files) [Moffat, 1998].
Polega ona na zbudowaniu struktury danych, składającej się ze słownika, zawierającego
listę wszystkich słów występujących w dokumentach przechowywanych w bazie, oraz
list odwróconych, przechowujących powiązania do dokumentów, w których użyto poszczególnych słów. Ponieważ lista słów, używanych przez twórców dokumentów, jest
ograniczona, toteż dla dużych baz wielkość słownika w niewielkim stopniu zależy od
liczby indeksowanych dokumentów, zaś przy dodawaniu nowych, uaktualnianiu podlegają jedynie listy odwrócone. Wyszukiwanie dokumentów odpowiadających zapytaniu
jest zadaniem bardzo prostym, i ogranicza się do pobrania odpowiednich list odwróconych, oraz przeprowadzenia na nich nieskomplikowanych operacji boolowskich.
Niestety, w wielu zastosowaniach praktycznych, szczególnie zaś w przypadku wyszukiwania dokumentów w sieci Internet, funkcje exact match okazują się być niewystarczające. Dla większości zapytań odnaleziony zbiór dokumentów jest pusty, lub też
zawiera tysiące elementów, przez co niemożliwe jest jego ręczne zweryfikowanie. Dlatego też niezbędnym jest wyposażenie systemów IR w pewne funkcje statystyczne.
Tym samym konieczne staje się dokonywanie oceny relewantności odszukiwanych
dokumentów, w stosunku do zapytania użytkownika, by według niej porządkować rezultat wyszukiwania (zgodnie z malejącym stopniem zgodności z zapytaniem, metoda
ta, zwana probability ranking principle PRP, została zaproponowana przez Rijsbergena
[Rijsbergen, 1979] już w latach 70-tych). Dokumenty uznane przez system za najbardziej wartościowe, trafiają dzięki temu na początek listy wyników wyszukiwania. War-
20
1. Wstęp
to w tym miejscu zaznaczyć, iż dla systemu exact match każdy odnaleziony dokument
jest jednakowo relewantny, a zatem PRP nie może mieć w nim zastosowania.
Najpopularniejsza metoda szacowania wzajemnej odpowiedniości zapytania i dokumentów tekstowych, polega na zastosowaniu reprezentacji wektorowej [Shuetze,
1999]. Każdy z dokumentów z bazy danych d1...dn opisujemy wektorem Di, którego
elementy, w najprostszym wypadku, reprezentują częstość występowania poszczególnych słów w danym dokumencie. Oczywiście liczba elementów wektora równa jest
liczbie elementów słownika k. Zapytanie reprezentujemy jako wektor Q o tej samej
liczbie elementów, a następnie obliczamy podobieństwa pomiędzy wektorem zapytania
i wektorami poszczególnych dokumentów, definiowane jako:
k
sim( Di , Q ) = cos( Di , Q ) =
∑d
il
ql
l =1
k
∑ ql
l =1
2
k
∑ d il
(1.1)
2
l =1
Zapytanie może tu być zbiorem słów kluczowych, ale może być także dokumentem
(lub nawet grupą dokumentów), stanowiącym niejako „przykład” tekstu, jaki ma zostać
odnaleziony. Spostrzeżenie to prowadzi do iteracyjnej techniki wyszukiwania, zwanej
relevance feedback, w której użytkownik wybiera z odnalezionych dokumentów te, które najbardziej odpowiadają jego potrzebom. Dokumenty te wykorzystane są następnie
do zbudowania nowego zapytania i wygenerowania nowej listy wyników, z której znów
można wybrać elementy najlepsze itd.
IR jest dziedziną rozwijającą się obecnie bardzo dynamicznie. W ostatnich latach
szczególne znaczenie zyskuje problematyka wyszukiwania w środowiskach hipertekstowych [Brin, 1998], [Kleinberg, 1998], [Kazienko, 2000], i związane z nią kwestie
jednoczesnego poszukiwania dokumentów w wielu repozytoriach (ang. metasearching)
[Gravano, 1999].
Zbiorczemu opisaniu nowych tendencji w wyszukiwaniu informacji, ze szczególnym uwzględnieniem sieci Internet, poświęcona jest praca [Gawrysiak, 2001].
1.4 Zakres pracy
1.4.1 Motywacja do powstania pracy
Szybki wzrost popularności sieci Internet, jaki zaowocował niezwykłą wręcz aktywnością na rynku portali WWW i specjalizowanych serwisów sieciowych, powoduje
wzrastający popyt na skuteczne narzędzia przetwarzania tekstu – w szczególności zaś
systemy wyszukiwania informacji, a także systemy automatycznej obróbki dokumentów. Trend ten obejmuje także systemy automatycznej kategoryzacji dokumentów, tym
21
1. Wstęp
bardziej, iż możliwe jest także ich bezpośrednie wykorzystanie w rozwiązaniach
Knowledge Management i Web Farming w przedsiębiorstwach.
Większość aktualnie prowadzonych badań nad kategoryzacją tekstów koncentruje
się na konstruowaniu algorytmów, które dają jak najlepsze wyniki dla standardowych
zbiorów testowych, takich jak MUC-3 [Lewis, 1991], [Lewis, 1992] czy Reuters22173, Reuters-21450 i Reuters-21578 [Joachims, 1998], [Apte, 1998]. Pomimo, iż
tendencja ta ma niewątpliwe zalety – jedną z najważniejszych jest łatwość porównywania wydajności algorytmów – to jednak nie jest pozbawiona wad. Wspomniane repozytoria mogą bowiem nie być odpowiednio reprezentatywne dla całości możliwych zastosowań systemów kategoryzacji. Na przykład jedną z ich cech charakterystycznych jest
to, iż zawierają dokumenty bardzo krótkie. W archiwum Reuters występują nawet teksty, składające się z zaledwie jednego zdania.
Jurafsky i Martin wskazują [Jurafsky, 2000], iż większość systemów kategoryzacji
tekstów i wyszukiwania informacji pomija, zarówno kolejność słów w dokumentach,
jak i ich położenie w obrębie tekstu. Dla systemów tych nie ma żadnej różnicy pomiędzy tak semantycznie odmiennymi zdaniami jak „I see what I eat” i „I eat what I see”.
Podczas gdy informacja o położeniu słów może nie wpływać na jakość kategoryzacji w przypadku tekstów bardzo krótkich, to już dla tekstów dłuższych nie można tego
wykluczyć, z pewnością zaś będzie istotna przy analizowaniu formy graficznej dokumentu. Do tej pory jednak nie prowadzono badań, które mogłyby zweryfikować tą hipotezę. Stanowić to może problem w zastosowaniach praktycznych – większość bowiem dokumentów, jakie mogły by być poddane automatycznej kategoryzacji w przedsiębiorstwach14, ma długość kilkunasto, a nawet kilkudziesięciokrotnie większą, niż dokumenty ze zbiorów testowych. Dotyczy to także, choć oczywiście w mniejszym stopniu, stron WWW.
Warto także zwrócić uwagę, iż słowa „tekst” i „dokument” nie są synonimami.
Upowszechnienie się nowoczesnych procesorów tekstu i technik DTP spowodowało, iż
dokumenty wykorzystywane we współczesnych organizacjach, mają strukturę nieporównanie bogatszą od maszynopisów, jakie mogliśmy w nich spotkać jeszcze dwadzieścia lat temu. Wyrafinowane formatowanie, ilustracje, a nawet metadane, takie jak nazwisko autora, czy też lokalizacja dokumentu, mogą zapewne dostarczać informacji,
która pozwoliłaby zwiększyć efektywność i dokładność kategoryzacji – hipoteza ta jednak także pozostaje niesprawdzona. Wykorzystanie wspomnianej informacji wymaga
metod, pozwalających połączyć dane pochodzące z samej warstwy tekstowej, z danymi
o formatowaniu, w obrębie jednego, spójnego systemu kategoryzacji.
1.4.2 Teza pracy
Przygotowując niniejszą pracę dokonano weryfikacji hipotez przedstawionych powyżej. Pozwala to na sformułowanie następującej tezy:
14
Mogą to być opracowania wewnętrzne, książki, podręczniki, raporty finansowe itp.
22
1. Wstęp
Zastosowanie bogatych reprezentacji dokumentów tekstowych, zawierających informację o następstwie i położeniu słów w tekście, a także o formatowaniu tekstu, wraz
z metodami ich przetwarzania, jest wykonalne w systemie automatycznej kategoryzacji
dokumentów i poprawia jakość jego działania.
W pracy zaproponowano i przeanalizowano m.in. następujące nowe rozwiązania:
- reprezentacje n-gramowe i γ-gramowe dokumentów, oparte na modelu Markowa, wzbogacane semantycznie przy użyciu tezaurusów, oraz ich wykorzystanie
do analizy czystej treści tekstowej oraz formatowania dokumentów,
- reprezentację pozycyjną dokumentów, w której przechowywana jest informacja
o bezwzględnych pozycjach słów występujących w dokumencie,
- zastosowanie algorytmu singular value decomposition oraz analizy rozkładu
wystąpień słów do ograniczania wielkości reprezentacji dokumentów,
- metodę łączenia hierarchicznego klasyfikatorów, pozwalającą na kategoryzację
dokumentów multimedialnych.
1.5 Przegląd pracy
Struktura niniejszego dokumentu jest następująca:
Pracę rozpoczyna nota odautorska.
Rozdział pierwszy poświęcono przedstawieniu tendencji rozwojowych technik przetwarzania języka naturalnego, oraz aktualnych obszarów badań w tej dziedzinie. Zaproponowano podział technik NLP na trzy grupy, w zależności od rodzaju materiału tekstowego na którym działają. Rozdział kończy omówienie zakresu pracy.
Rozdział drugi zawiera definicje podstawowych pojęć związanych z przetwarzaniem
języka naturalnego, które znajdują zastosowanie w pracy. Opisano w nim także powszechnie stosowaną przy budowie systemów kategoryzacji reprezentację unigramową.
Rozdział trzeci opisuje nowe techniki konstruowania reprezentacji tekstu dla celów
kategoryzacji dokumentów, proponowane przez autora. Przedstawiono w nim metody
uwzględniające bezwzględne położenie słów w treści dokumentu oraz ich wzajemne
następstwo.
Rozdział czwarty opisuje metody obróbki opisanych reprezentacji tekstów. Przedstawione są tu metody doboru i grupowania atrybutów oraz metody skalowania atrybutów. Przedstawiono tu zarówno nowe metody, proponowane przez autora, jak też i metody stosowane dotychczas w przetwarzaniu tekstów i uczeniu maszynowym, przy
czym część z nich nie była dotychczas stosowana do bezpośredniej obróbki reprezentacji dokumentów.
Rozdział piąty prezentuje nową, proponowaną przez autora, technikę kategoryzacji
dokumentów, polegającą na hierarchicznym łączeniu wielu klasyfikatorów.
Rozdział szósty opisuje możliwe zastosowania praktyczne przedstawionych metod,
zarówno te opisywane w literaturze, jak też i nowe, postulowane przez autora.
23
1. Wstęp
W rozdziale siódmym przedstawiono wyniki badań, przeprowadzonych przy wykorzystaniu skonstruowanego przez autora eksperymentalnego systemu kategoryzacji,
zawierającego implementację wybranych metod opisanych w pracy.
Pracę kończy podsumowanie, bibliografia, spisy oraz aneksy zawierające m.in. opis
działania wybranych algorytmów klasyfikacji danych oraz opis techniczny wspomnianego systemu kategoryzacji.
24
2. Pojęcia podstawowe
There are three kinds of lies: lies, damned lies and statistics.
Benjamin Disraeli
2.1 Problem kategoryzacji dokumentów
Zdefiniujmy teraz formalnie problem kategoryzacji dokumentów, opisany w poprzednim rozdziale. Niech D={d1, d2, ..., dn} będzie zbiorem dokumentów tekstowych,
zaś K={k1, k2, ..., kl}, zbiorem identyfikatorów, definiujących klasy. Dane jest także
przyporządkowanie f: D→K dokumentów do klas, przy czym:
1) Gdy przyporządkowanie f jest jednoznaczne, tj. jest funkcją, mamy do czynienia
z kategoryzacją rozłączną, w przeciwnym wypadku jest to kategoryzacja niejednoznaczna,
2) |K|≥2, |K|≤|D|, gdy |K| = 2 mamy do czynienia z kategoryzacją binarną,
3) Jeśli istnieje zależność taka że:
∃k a , kb : ∀d i f (d i ) = k a ⇒ f (d i ) = kb
mamy do czynienia z kategoryzacją hierarchiczną.
Niech dany będzie podzbiór T zbioru D, T ⊂ D , T={t1, t2, ..., tm}, zwany zbiorem
trenującym. Wtedy:
Definicja 2.1 Kategoryzacją dokumentów tekstowych nazywamy proces estymacji
przyporządkowania g, na podstawie wartości przyporządkowania f dla elementów zbioru trenującego T, przy czym różnice wartości przyporządkowania g i f dla całego zbioru
D powinny być minimalizowane. Przyporządkowanie g nazywamy klasyfikacją estymowaną, zaś przyporządkowanie f klasyfikacją empiryczną.
Innymi słowy, posiadając pewien zbiór dokumentów opatrzonych nazwami klas,
chcielibyśmy dokonać przyporządkowania do tychże klas innych dokumentów, dla których nazwy klas nie są nam znane.
Jak łatwo zauważyć, bardzo istotna dla powyższej definicji jest kwestia minimalizacji różnic pomiędzy klasyfikacją estymowaną i empiryczną. Metody pomiaru tej różnicy, czyli oceny jakości kategoryzacji, przedstawiono poniżej.
2.2 Ocena efektywności algorytmów kategoryzacji
2.2.1 Wskaźniki stosowane w wyszukiwaniu informacji
Na początek zauważmy, iż dla kategoryzacji binarnej problem klasyfikacji jest zbliżony do problemu wyszukiwania dokumentów. W typowym scenariuszu IR, użytkow-
2. Pojęcia podstawowe
nik poszukuje pewnego podzbioru repozytorium, zawierającego dokumenty. Każdy dokument z tej bazy może być, dla ustalonego zapytania, relewantny lub nie relewantny.
Dla danego dokumentu di mamy zatem cztery możliwe scenariusze. Dokument ten
może być relewantny lub też nie, jednocześnie system wyszukiwania może go niezależnie uznać za relewantny, lub nie relewantny. Sytuację tą można przedstawić graficznie
następująco:
DB
DB – baza dokumentów
dr – dokumenty relewantne
ds
ds – dokumenty uznane przez
system za relewantne
dr
Rys. 2. Wybór dokumentów z bazy w procesie IR
W pracach [Bolc, 1992] i [Shuetze, 1999] definiowane są następujące wskaźniki jakości procesu wyszukiwania dla powyższego scenariusza:
Definicja 2.2 Precyzję wyszukiwania (ang. precision), określamy jako stosunek liczby dokumentów poprawnie uznanych za relewantne, do liczby wszystkich dokumentów,
uznanych za relewantne przez system:
PR =
ds ∩ dr
ds
(2.1)
Definicja 2.3 Zupełność wyszukiwania (ang. recall), określamy jako stosunek liczby
dokumentów poprawnie uznanych za relewantne, do liczby wszystkich dokumentów relewantnych:
R=
ds ∩ dr
dr
(2.2)
26
2. Pojęcia podstawowe
Definicja 2.4 Dokładność wyszukiwania (ang. accuracy), określamy jako stosunek
liczby dokumentów, których relewancja została prawidłowo określona przez system, do
liczby wszystkich dokumentów w bazie:
A=
ds ∩ dr + DB − ds ∪ dr
DB
(2.3)
Definicja 2.5 Zaszumienie wyszukiwania (ang. fallout), określamy jako stosunek
liczby dokumentów niepoprawnie uznanych za relewantne, do liczby wszystkich dokumentów nie relewantnych:
FO =
ds − dr
(2.4)
DB − dr
2.2.2 Wskaźniki dla kategoryzacji binarnej
Przystosowanie powyższych miar do oceny systemu kategoryzacji binarnej jest stosunkowo proste. Niech baza dokumentów systemu odpowiada zbiorowi dokumentów
D. Zbiór K jest zbiorem dwuelementowym {r0, r1}, gdzie r0 możemy traktować jako
klasę zawierającą dokumenty nie relewantne, zaś r1 - dokumenty relewantne. Zbiór T
można traktować jako zbiór definiujący zapytanie, mamy wtedy do czynienia z pojedynczym krokiem opisanego uprzednio procesu relevance feedback. Wyniki przyporządkowania dokumentów do klas mogą przedstawione w postaci czteroelementowej
macierzy kontyngencji:
f(di)=r1
f(di)=r0
g(di)=r1


a =  ∑ d i : f (d i ) = r1 ∧ g ( d i ) = r1 
 i



b =  ∑ d i : f ( d i ) = r0 ∧ g ( d i ) = r1 
 i

g(di)=r0


c =  ∑ d i : f ( d i ) = r1 ∧ g ( d i ) = r0 
 i



d =  ∑ d i : f (d i ) = r0 ∧ g (d i ) = r0 
i


Tabl. 1. Macierz kontyngencji kategoryzacji binarnej
27
2. Pojęcia podstawowe
I tak np. wartość b z powyższej macierzy określa liczbę dokumentów należących do
klasy r0, które zostały niepoprawnie zaklasyfikowane do klasy r1, zaś wartość a liczbę
dokumentów należących do klasy r1, które poprawnie zostały do niej przypisane przez
system kategoryzacji.
Używając powyższej notacji możemy zapisać:
a
; a = b = 0 ⇒ PR( f , g ) = 1
a+b
a
R( f , g ) =
; a = c = 0 ⇒ R( f , g ) = 1
a+c
a+d
A( f , g ) =
a+b+c+d
b
; b = d = 0 ⇒ FO( f , g ) = 1
FO( f , g ) =
b+d
PR ( f , g ) =
(2.5)
(2.6)
(2.7)
(2.8)
Powyższe miary można także interpretować w ujęciu probabilistycznym, jako prawdopodobieństwa dokonania odpowiedniej kategoryzacji przez system. Tak zatem:
Lemat 2.1 Wartość wskaźnika precyzji określa prawdopodobieństwo, iż losowy dokument wybrany z dokumentów uznanych za relewantne, jest rzeczywiście dokumentem
relewantnym:
P( f (d i ) = g ( d i ) | g (d i ) = r1 ) = PR( f , g )
(2.9)
Dowód
Zakładamy, iż prawdopodobieństwa wybrania poszczególnych dokumentów, ze
zbioru dokumentów uznanych przez system za relewantne, są równe.
Wtedy:
P( f (d i ) = g ( d i ) | g ( d i ) = r1 ) =
P( f (d i ) = g ( d i ) ∧ g ( d i ) = r1 )
=
P( g ( d i ) = r1 )
P( f (d i ) = r1 ∧ g (d i ) = r1 )
=
P( g (d i ) = r1 )
(2.10)
a
= PR( f , g )
a+b
28
2. Pojęcia podstawowe
Lemat 2.2 Wartość wskaźnika dokładności określa prawdopodobieństwo dokonania
poprawnej klasyfikacji, dla losowo wybranego dokumentu ze zbioru D:
P( f (d i ) = g (d i )) = A( f , g )
(2.11)
Dowód
Zakładamy, iż prawdopodobieństwa wybrania poszczególnych dokumentów ze
zbioru D są równe.
Wtedy:
P( f (d i ) = g (d i )) =
P( f (d i ) = r1 ∧ g (d i ) = r1 ) +
P( f (d i ) = r0 ∧ g (d i ) = r0 ) =
a
b
+
=
a+b+c+d a+b+c+d
a+b
= A( f , g )
a+b+c+d
(2.12)
Analogicznie można interpretować pozostałe wskaźniki. Zupełność odpowiada
prawdopodobieństwu tego, iż dokument faktycznie relewantny, zostanie za taki uznany
przez system. Zaszumienie określa z kolei prawdopodobieństwo niepoprawnego uznania za relewantny dokumentu, który faktycznie relewantny nie jest.
Każda z powyższych miar, nie wystarcza – gdy wykorzystamy ją niezależnie od pozostałych – do pełnego opisania jakości systemu. Bardzo łatwo, na przykład, zapewnić
wysoką wartość współczynnika relewancji – system, który każdy dokument uznaje za
należący do klasy r1 będzie oczywiście charakteryzował się wartością tego współczynnika równą jedności. Odbędzie się to jednak kosztem precyzji.
Do efektywnego porównywania jakości systemów najodpowiedniejsze byłoby jednak stosowanie tylko jednej miary. Z tego też powodu w wielu pracach wykorzystywana jest jedynie dokładność [McCallum, 1998], lub też dokonuje się uśrednień kilku, z
powyższych czterech współczynników. Jednym z takich uśrednień, popularnym w badaniach porównawczych systemów kategoryzacji, jest wskaźnik F zaproponowany
przez Rijsbergena15 [Rijsbergen, 1979], [Yang, 1998]16:
Fα =
15
16
1
1
1
α + (1 − α )
P
R
(2.13)
Praca Rijsbergena proponowała użycie miary E, takiej że E=1-F
Praca Yanga podaje błędną definicję F1, będącą w istocie definicją dla F0.5
29
2. Pojęcia podstawowe
Wskaźnik modeluje wzajemną zależność pomiędzy zupełnością, a precyzją, o której
wspomniano powyżej. Poprzez dobranie wartości współczynnika α, możemy zmieniać
istotność precyzji i zupełności. W szczególności gdy α = 0, wartość tej miary równa jest
wartości wskaźnika zupełności, gdy α = 1 – wartości wskaźnika precyzji, zaś dla α =
0.5 precyzji i zupełności przypisane są te same wagi:
F0.5 =
2 PR
P+R
(2.14)
Ponieważ dla większości systemów kategoryzacji występuje odwrotnie proporcjonalna zależność pomiędzy wartością wskaźników precyzji i zupełności, toteż często
wprowadzane jest także pojęcie punktu zrównania systemu (ang. system breakeven point) [Joachims, 1998].
Definicja 2.6 System kategoryzacji znajduje się w punkcie zrównania, dla ustalonych parametrów systemu i ustalonego zbioru testowego, gdy wartość współczynnika
precyzji równa jest wartości współczynnika zupełności.
2.2.3 Rozszerzenie dla przypadku wielu klas
Dokonajmy teraz rozszerzenia wprowadzonych powyżej miar, dla ogólnego przypadku wielu klas. Podobnie jak poprzednio, baza dokumentów systemu odpowiada
zbiorowi dokumentów D, natomiast zbiór K jest już zbiorem l-elementowym {k1 k2 ...,
kl}.
Dla każdej klasy k, to jest dla każdego k-tego elementu zbioru K, możemy skonstruować analogiczną macierz kontyngencji, jak poprzednio, grupując wszystkie pozostałe klasy:
g(di)=kk
g(di) ≠ kk
f(di)=kk
a
c
f(di) ≠ kk
b
d
Tabl. 2. Macierz kontyngencji dla pojedynczej klasy
Oznaczmy przez Mk macierz kontyngencji, związaną z klasą kk. W ten sposób
otrzymujemy zbiór macierzy M={M1, M2,...,Ml}, który możemy wykorzystać do obliczenia wskaźników jakości kategoryzacji. Można dokonać tego na dwa sposoby, poprzez makro-uśrednianie (ang. macro-averaging) i mikro-uśrednianiem (ang. microaveraging) wartości poszczególnych macierzy.
W procesie makro-uśredniania obliczane są wartości wybranego wskaźnika (dla
ustalenia uwagi przyjmijmy, iż jest to precyzja) oddzielnie dla każdej macierzy ze zbio-
30
2. Pojęcia podstawowe
ru M; powstaje tym samym zbiór PR={PR1, PR2, ..., PRl}. Następnie zaś obliczana jest
średnia (np. arytmetyczna) dla wszystkich wartości zbioru PR:
l
∑ PR
i
ma PR ( f , g ) =
(2.15)
i =1
l
Natomiast w procesie mikro-uśredniania, tworzona jest najpierw zbiorcza macierz
kontyngencji ZM, zawierająca wartości sumaryczne odpowiednich elementów macierzy
ze zbioru M:
l
a = ∑ M l (1,1)
i =1
l
c = ∑ M l (1, 2)
i =1
l
b = ∑ M l ( 2,1)
i =1
l
d = ∑ M l ( 2, 2 )
i =1
Tabl. 3. Zbiorcza macierz kontyngencji dla mikro-uśredniania
Następnie zaś obliczana jest wartość wskaźnika dla macierzy ZM, w analogiczny
sposób jak dla przypadku kategoryzacji binarnej.
Powyższe metody oceny jakości systemów kategoryzacji nie są oczywiście jedynymi możliwymi do zastosowania, niemniej jednak należą do najczęściej wykorzystywanych. Przegląd innych miar zawiera między innymi praca [Lewis, 1995].
2.2.4 Przykład oceny
Zilustrujmy działanie powyższych miar na prostym przykładzie kategoryzacji.
Przykład 2.2 Dany jest system, zawierający cztery klasy. Poniższa tabela, podaje
wyniki działania czterech przykładowych systemów kategoryzacji, dokonujących analizy zbioru dziesięciu dokumentów. Ostatnia kolumna tabeli podaje faktyczne przyporządkowanie dokumentów do klas:
31
2. Pojęcia podstawowe
Dokumenty
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
System S1 System S2 System S3 System S4 Klasyfikacja
empiryczna
A
B
A
A
A
A
B
B
A
A
A
B
B
B
B
A
B
B
B
B
A
B
C
B
B
A
B
B
B
B
A
B
B
B
B
A
B
D
B
B
A
B
D
C
C
A
B
D
D
D
Tabl. 4. Przykład działania systemów kategoryzacji
Dla powyższych czterech systemów wartości wybranych współczynników jakości
są następujące:
System
S1
S2
S3
S4
maF0.5
0.38
0.39
0.64
1
maPR
0.8
0.9
0.8
1
maR
0.25
0.25
0.54
1
ΜaA
0.6
0.8
0.8
1
µaPR
0.2
0.6
0.6
1
µaR
0.2
0.6
0.6
1
Tabl. 5. Wartości wskaźników oceny
Poszczególne wartości współczynników jakości, odnoszących się to tego samego
systemu, mogą różnić się od siebie, czasem nawet znacząco. Jest to wyraźnie widoczne
w powyższej tabeli. W tym przypadku najbliższa ludzkiej intuicji wydaje się być miara
Rijsbergena.
Warto nadmienić, iż eksperymentalne badania porównawcze systemów kategoryzacji powinny być prowadzone na kilku różnych zbiorach dokumentów, bowiem dobór
tego zbioru może także mieć wpływ na wartości wskaźników jakości systemu.
2.3 Materiał tekstowy
W niniejszej pracy kilkakrotnie występowały już nazwy „język naturalny”, czy też
„dokument tekstowy”. Pomimo, iż powszechnie używane, pozostają jednak określeniami nieprecyzyjnymi. Dlatego też niezbędnym wydaje się zdefiniowanie ich znaczenia na użytek pracy, oraz krótkie omówienie.
32
2. Pojęcia podstawowe
2.3.1 Język naturalny
Zgodnie z definicją zawartą w [EPPWN, 1974] język naturalny powstaje w toku
utrwalania się zwyczajów, związanych z porozumiewaniem się ludzi. Cechuje się
zmiennym zasobem słów i zmiennością semantycznych funkcji i kategorii semantycznych oraz płynnością i niekompletnością reguł składni.
Innymi słowy, język naturalny nie jest ani systemem zamkniętym, ani też skończonym. Semantyka zdań tego języka, może nawet zmieniać się wraz z upływem czasu, nie
można także nigdy stwierdzić, czy dane zdanie należy, czy też nie do języka; możliwe
jest dokonanie tego jedynie z pewnym prawdopodobieństwem. Wielu z nas, posługując
się tzw. językiem potocznym, używa często zdań, które zwykle uznawane są za „niegramatyczne”, a mimo to pozwalają na skuteczne przekazanie informacji.
Wreszcie zaś pełna interpretacja wiadomości, zapisanych w języku naturalnym, nie
jest zwykle możliwa bez posiadania pewnej wiedzy, zewnętrznej w stosunku do samego
języka. Problem ten dotyczy jednak większości systemów sztucznej inteligencji.
W niniejszej pracy język naturalny rozumiany jest zatem bardzo szeroko, a mianowicie jako system NL(V, S) gdzie:
-
V – zbiór dozwolonych słów, występujących w zdaniach języka, czyli słownik,
V=(v1, ..., vn);
S – zbiór dozwolonych znaków interpunkcyjnych dzielący ciągi słów na zdania,
S=(z1, ..., zm).
Nie są przy tym nakładane żadne ograniczenia, związane z przyjętą a priori składnią,
czy gramatyką języka. Sposób użycia poszczególnych słów, poznany powinien bowiem
zostać dzięki analizie zbioru tekstów, które do danego języka należą, przy czym nie jest
tu istotne, czy jest to język polski, angielski, czy też sztuczny język, taki jak XML.
Powyższy system nie nadaje się do bezpośredniej reprezentacji dokumentów tekstowych. Do tego wymagana jest ich obróbka wstępna, dzięki której zostaną wydzielone poszczególne słowa, oraz oznaczone zostaną końce zdań.
2.3.2 Słowa i zdania
W klasycznej lingwistyce pojęcie słowa przyjmowane jest zwykle jako dane odgórnie i na tyle proste, że nie wymaga ono dokładnej definicji. Rzeczywiście – ludzie, patrząc na tekst w znanym sobie języku, zwykle instynktownie dzielą go właśnie na słowa. Wynika to po części z faktu, iż większość alfabetów to sztuczne systemy reprezentacji dźwięków mowy, zaprojektowane tak, aby zminimalizować liczbę znaków pisarskich. Myśląc, nie posługujemy się alfabetem, ale większymi jednostkami semantycznymi, reprezentującymi pojęcia.
Ponieważ jednak system informatyczny nie dysponuje zwykle wystarczającą informacją semantyczną, która pozwoliłaby wyróżnić poszczególne słowa w tekście, na podstawie ich znaczenia, toteż niezbędne jest wbudowanie weń prostszych heurystyk dzielenia tekstu na słowa (ang. tokenization). Często dla tego celu przyjmuje się klasyczną
33
2. Pojęcia podstawowe
definicję słowa Francisa i Kucery: słowo jest ciągiem znaków alfanumerycznych, poprzedzonych i zakończonych znakiem spacji, które może zawierać apostrofy i myślniki,
ale nie może zawierać innych znaków interpunkcyjnych. [Francis, 1964].
Powyższa definicja wydaje się dobrze odpowiadać intuicyjnemu pojęciu słowa.
Można jednak podać przykłady ciągów znaków, które nie są słowami w myśl tej definicji, a które zwykliśmy za takie uważać: „E=mc2”, „100$”, czy nawet zdobywające coraz większą popularność znaki smiley takie jak :-), czy :-(. Podobnie za pojedyncze
słowo należałoby uznać takie, występujące często w języku angielskim, grupy jak „take-it-or-leave-it”, czy też „26-year-old”.
Wreszcie uznanie spacji za bezwzględny znak podziału, może także powodować
problemy. Dla przykładu – czy ciąg znaków data bases powinniśmy uznać za pojedyncze słowo, tożsame z ciągiem databases, czy też raczej jako dwa oddzielne słowa?
Podobne trudności może sprawiać podział tekstu na poszczególne zdania. Wykorzystanie do tego celu kropki i znaków przestankowych, takich jak wykrzyknik i pytajnik,
wprowadza problemy, związane z niepoprawną interpretacją skrótów. Rozwiązaniem –
choć częściowym – jest przyjęcie wyrażenia regularnego o postaci:
/[.?!][ \r\t\n\f] *[A-Z]/
(2.16)
jako wyróżnika końca zdania.
Problem podziału tekstu na słowa i zdania, pomimo iż interesujący, jest problemem
pobocznym w stosunku do tematu niniejszej pracy. W pracy przyjęto zatem powyższą,
uproszczoną heurystykę identyfikacji zdań, oraz heurystykę podziału tekstu na słowa
Kucery i Francisa. Pominięto zaś, w szczególności, problematykę związaną z odmianą
słów. Jest to bowiem problem, dla języków tzw. pozycyjnych, takich jak angielski,
rozwiązany bardzo dobrze [Lovins, 1968], [Porter, 1980], zaś dla języków fleksyjnych
będący w dalszym ciągu przedmiotem intensywnych badań [Frelek, 1999], [W5]. Z tego też powodu, jak na razie niemożliwe jest skonstruowanie uniwersalnego systemu kategoryzacji, który korzystałby z mechanizmów odmiany słów, a jednocześnie byłby
niezależny od języka, w którym stworzono przetwarzane przezeń dokumenty.
2.3.3 Teksty, dokumenty tekstowe i kolekcje dokumentów
Pewnego wyjaśnienia wymagają także pojęcia tekstu i dokumentu tekstowego. W
języku potocznym często używane są wymiennie, jednak w niniejszej pracy mają różne
znaczenia.
Definicja 2.7 Pojęciem tekstu określamy dowolny zbiór zdań języka naturalnego.
W myśl powyższej definicji, tekstem może być zarówno zawartość książki, jak też
notatka prasowa, wreszcie zaś zbitek zdań pochodzących z różnych źródeł, i nie mających ze sobą żadnego, semantycznego związku. Dobrym przykładem tekstu może być
34
2. Pojęcia podstawowe
całodzienna transkrypcja programu radiowego – znajdują się tam urywki wiadomości,
teksty reklam, teksty piosenek, czy wreszcie wywiady ze słuchaczami, których treść
może nie mieć ze sobą nic wspólnego. Całość może być jednakże przeczytana i zrozumiana przez człowieka, w szczególności zaś może być (w większości przypadków) podzielona na semantycznie spójne części, czyli dokumenty tekstowe.
Definicja 2.8 Pojęciem dokumentu tekstowego nazywamy taki tekst, który tworzy
semantycznie spójną całość. Jest to uporządkowany ciąg D=(w1, w2, ..., z1, ..., wn, zm)
gdzie ∀i ∈ 1, n , j ∈ 1, m ; wi ∈ V , z j ∈ S
Zgodnie z powyższą definicją dokument tworzony jest przez ciąg n słów należących
do słownika V, rozdzielonych znakami interpunkcyjnymi ze zbioru S na m zdań. Dokument tekstowy przekazuje pewną wiadomość. Dokumentem tekstowym może być
książka, czy też treść artykułu, ale już nie połączone teksty kilku artykułów – każdy z
nich bowiem posiada swój własny temat, a zatem całość traci spójność semantyczną.
W literaturze NLP często spotykane jest także pojęcie kolekcji dokumentów (ang.
document corpus). Kolekcja taka, to po prostu zbiór wielu dokumentów, przy czym
najpopularniejsze kolekcje zawierają także dodatkowe informacje statystyczne i językowe dotyczące dokumentów wchodzących w ich skład. Informacje te mogą w szczególności obejmować system klasyfikacji dokumentów, lub też sformalizowane wskazówki co do ich treści. Tego rodzaju kolekcje są szczególnie użyteczne w badaniach
nad systemami kategoryzacji.
Do najpopularniejszych obecnie kolekcji używanych w tym celu należą kolejne
wersje archiwum wiadomości prasowych agencji Reutera oznaczane skrótem Reuters-x,
gdzie x oznacza liczbę dokumentów wchodzących w skład kolekcji (często używane
wersje to Reuters-22173, Reuters-21450 i Reuters-21578 [Joachims, 1998], [Apte,
1998]). Dokumenty w kolekcjach Reuters zostały podzielone na 135 kategorii tematycznych. Najnowsza wersja udostępniona jest w sieci Internet [W6].
2.4 Reprezentacje unigramowe
Dokumenty tekstowe stanowią bardzo niewdzięczny materiał, dla klasycznych algorytmów automatycznej kategoryzacji danych. Algorytmy te zaprojektowano bowiem
dla potrzeb analizy zbiorów danych, charakteryzowanych stałym, zwykle niewielkim i
dobrze zdefiniowanym, zbiorem atrybutów. Dokument tekstowy, będący ciągiem słów,
wymaga zatem przekształcenia do postaci, która może być przedmiotem bezpośredniej
obróbki przez algorytm kategoryzacji. Innymi słowy, niezbędna jest pewna reprezentacja tekstu, która opisywać będzie te parametry dokumentu tekstowego, które determinować będą o jego przynależności do jednej z klas.
35
2. Pojęcia podstawowe
2.4.1 Reprezentacja binarna i częstościowa
Reprezentacją najprostszą, a jednocześnie jak do tej pory powszechnie stosowaną,
jest tak zwana reprezentacja unigramowa (ang. unigram model). Oparta jest ona na zliczaniu częstości występowania poszczególnych słów w treści dokumentu. Częstości te
wykorzystywane są następnie do zbudowania wektora, który reprezentuje dany dokument w systemie kategoryzacji.
W praktyce zliczanie to może być dokonywane na dwa sposoby. Można bowiem jedynie odnotowywać fakt występowania (lub nie) danego słowa w treści dokumentu,
tworząc w ten sposób reprezentację binarną lub też przechowywać liczbę wystąpień
słowa w dokumencie, tworząc tym samym reprezentację częstościową.
Definicja 2.9 Niech dany będzie dokument D=(w1, w2, ..., z1, ..., wn, zm). Unigramową reprezentacją binarną dokumentu D nazywamy wektor R taki, że:
1 gdy ∃j; w j = vi , vi ∈ V
Ri = 
0 wpw.
(2.17)
Definicja 2.10 Niech dany będzie dokument D=(w1, w2, ..., z1, ..., wn, zm). Unigramową reprezentacją częstościową dokumentu D nazywamy wektor R taki, że:
n 1 gdy w j = v i , v i ∈ V
Ri = ∑ j =1 
0 wpw.
(2.18)
Reprezentacja częstościowa jest silnie uzależniona od długości dokumentu. Dla
większości problemów kategoryzacji jest to cecha niepożądana, jako że o przynależności dokumentu do danej klasy decydować ma jego tematyka, niezależnie od objętości.
Problem ten łatwo rozwiązać, poprzez zastąpienie bezwzględnej częstości słów w wektorze R częstością względną:
∑
Rwzg i =
n
j =1
1 gdy w j = vi , vi ∈ V

0 wpw.
(2.19)
n
36
2. Pojęcia podstawowe
2.4.2 Prawo Zipfa
Analiza powyższych reprezentacji, tworzonych dla rzeczywistych dokumentów pokazuje, iż powstające wektory są wektorami rzadkimi17 [Shuetze, 1999]. Rozkład częstości występowania poszczególnych słów jest zwykle bardzo charakterystyczny – jest
stosunkowo niewiele słów, które bardzo często pojawiają się w treści dokumentu, oraz
dużo słów, które użyte zostały zaledwie kilka razy. Jako przykład niech posłuży wykres
częstości występowania słów w książce [Caroll, 1994]:
10000
Frequency
1000
100
10
1
0
500
1000
1500
2000
Word ID
2500
3000
3500
Rys. 3. Częstość występowania słów w [Caroll, 1994]
Niemalże połowa słów występuje w tym tekście tylko raz. Z drugiej strony tylko
około jeden procent ze wszystkich wyrazów, używanych w dokumencie, pojawia się tu
więcej niż sto razy. Słowa te, to w większości zaimki, przyimki i temu podobne części
mowy, które samodzielnie nie przekazują praktycznie żadnej informacji semantycznej.
Wśród dziesięciu najczęściej występujących tu słów, znajduje się zaledwie jeden, i to
bardzo pospolity, czasownik “said”:
Słowo
Częstość
17
Jest to szczególnie dotkliwe, gdy słownik V zawiera wszystkie słowa, występujące w danym języku. W systemie kategoryzacji V będzie zwykle ograniczony do słów występujących we wszystkich dokumentach, reprezentowanych w tym systemie.
37
2. Pojęcia podstawowe
the
and
to
a
it
you
I
she
of
said
1664
940
789
788
683
666
658
543
538
473
Tabl. 6. Dziesięć najczęstszych wyrazów w tekście [Caroll, 1994].
Powyższy rozkład okazuje się być, jak potwierdziły to badania Zipfa [Zipf, 1949] i
Mandelbrota [Mandelbrot, 1954], uniwersalny i niezależny od języka. Zipf proponuje
do jego opisu dystrybucję Zipfa:
f =
k
r
(2.20)
udoskonaloną następnie przez Mandelbrota do postaci:
f = P ⋅ (r + ρ ) − β
(2.21)
gdzie f – częstość występowania słowa, r – numer kolejny słowa na liście słów uporządkowanej według wzrastającej częstości, zaś k, P, ρ i β to parametry, które muszą
zostać dobrane eksperymentalnie. Można je zatem traktować jako miary struktury
słownictwa danego dokumentu, czy też zbioru dokumentów.
Powyższe zależności mają istotne znaczenie dla praktycznej implementacji reprezentacji dokumentów tekstowych. Słowa o bardzo dużej częstości, jako nie niosące
zwykle użytecznej informacji semantycznej, są często usuwane z tekstu dokumentów
na wczesnym etapie ich przetwarzania. Zwykle służy to tego celu struktura, zwana
stopword list, zawierająca przyimki, zaimki, rodzajniki itp., tworzona ręcznie dla danego języka.
Strategia ta, mimo iż powszechna, nie zawsze jednak może przynieść pożądane rezultaty:
Przykład 2.2 Rozważmy sytuację, w której system wyszukiwania informacji przegląda zbiór dokumentów, w poszukiwaniu tych, które zawierają informacje na temat
pingwinów. Jeden z dokumentów zawiera poniższą frazę:
„there is no information about penguins in this document”
38
2. Pojęcia podstawowe
sugerującą, iż nie jest to dokument relewantny. System wyszukiwawczy stosuje jednak stopword list, dlatego też wewnętrzna reprezentacja powyższego zdania, nie zawiera niektórych słów i przedstawia się następująco:
„information penguins document”
będąc dla systemu silną przesłanką, do uznania dokumentu za relewantny.
Badania prowadzone przez Ellen Riloff [Riloff, 1995] pokazują, iż podobny efekt
wystąpić może także w kategoryzacji dokumentów, powodując powstawanie, oczywiście w niektórych przypadkach, poważnych błędów w uczeniu systemu. Można zatem
stwierdzić, iż „mechaniczne” stosowanie stopword list we wstępnej obróbce dokumentów w systemie kategoryzacji nie jest wskazane, tym bardziej, iż stosunkowo niewielka
objętość listy, pozwala jedynie na nieznaczną redukcję rozmiaru wektorów reprezentujących dokumenty.
Z odmienną sytuacją mamy do czynienia w przypadku słów występujących jednokrotnie w całym dokumencie. Słowa takie, które określane są grecką nazwą hapax legomena, obejmują zwykle ponad połowę słownictwa używanego w danym tekście i tym
samym mają duży wpływ na rozmiar reprezentacji.
Większość tych słów, będąc rzeczownikami i czasownikami, niesie istotną informację semantyczną. Pomimo to znane są przypadki konstruowania systemów kategoryzacji [Dumais, 1998], [Mladenic, 1998], w których słowa te usuwane są z dokumentu w
podobny sposób jak słowa ze stopword list. Technika ta wydaje się być jednak zbyt
upraszczająca, tym bardziej, iż stworzenie mniej prymitywnych metod selekcji słów,
które nie niosą istotnej informacji opisującej separację klas, nie jest zadaniem trudnym.
Opisie takich metod poświęcono rozdział 4.2 niniejszej pracy.
Zarówno reprezentacja binarna18 jak i reprezentacja częstościowa19 są wykorzystywane w badaniach nad automatyczną klasyfikacją tekstów. Nasuwa się zatem pytanie o
to, która z wymienionych reprezentacji jest lepsza. McCallum i Nigam pokazują w pracy [McCallum, 1999] iż, o ile dla bardzo małych słowników model binarny daje lepsze
efekty, to już dla reprezentacji w której wykorzystywanych jest około 1000 słów, model
częstościowy pozwala na znaczące zwiększenie poprawności kategoryzacji. Jest to
zresztą wynik zgodny z intuicją – model częstościowy pozwala na zachowanie większej
ilości informacji o wyjściowej postaci dokumentu i tym samym pozwala na dokonanie
decyzji w sytuacjach, gdy różnice pomiędzy poszczególnymi klasami w systemie są
stosunkowo niewielkie.
18
19
Patrz np. [Croft, 1996], [Koller, 1997]
Patrz np. [Gale, 1994], [Mitchell, 1997]
39
2. Pojęcia podstawowe
2.4.3 Interpretacja generacyjna
Wektor reprezentujący dokument w systemie kategoryzacji, stanowi jego skondensowany opis. Powinno być zatem możliwe odtworzenie oryginalnego dokumentu, przy
wykorzystaniu tegoż wektora. Nie chodzi tutaj o jego odtworzenie do postaci wyjściowej, a jedynie do takiej, która będzie równoważna z dokumentem oryginalnym dla systemu kategoryzacji. Innymi słowy, jeśli oznaczymy przez R operację polegającą na
przekształceniu dokumentu w wektor będący jego reprezentacją, zaś przez G operację
odwrotną, to :
R(G ( R( D))) = R( D)
(2.22)
dla dowolnego dokumentu D. W przypadku reprezentacji unigramowej operacja R
sprowadza się do zliczania wystąpień poszczególnych słów. Jak jednak przeprowadzić
operację G?
W tym celu można potraktować dokument D jako wynik pracy probabilistycznego
automatu skończonego, który w każdym kroku swego działania generuje jedno słowo
ze słownika. Prawdopodobieństwa generacji poszczególnych słów określone są zaś
przez elementy wektora R i wynoszą:
dla reprezentacji binarnej:
1
∑ Rj
(2.23)
Ri
= Rwzg i
n
(2.24)
P (v i ) =
j
zaś dla reprezentacji częstościowej:
P (v i ) =
Przykład 2.3 Poniższy tekst został wygenerowany przez automat opisany wektorem
„wytrenowanym” na tekście [Caroll, 1994] według reprezentacji częstościowej:
said has further that of a upon an the a see joined heavy cut alice on once you is and open the edition t of a to
brought he it she she she kinds I came this away look declare four re and not vain the muttered in at was cried and
her keep with I to gave I voice of at arm if smokes her tell she cry they finished some next kitten each can imitate
only sit like nights you additional she software or courses for rule she is only to think damaged s blaze nice the shut
prisoner no
40
3. Propozycje nowych metod reprezentacji dokumentów
The basic tool for the manipulation of reality is the manipulation of words.
Philip K. Dick
3.1 Reprezentacje bazujące na modelu Markowa
Opisane w poprzednim rozdziale reprezentacje unigramowe należą do najprostszych
reprezentacji dokumentów. Mimo to w dalszym ciągu są one szeroko wykorzystywane.
Jedną z przyczyn tego stanu rzeczy mogą być ograniczenia techniczne, związane z niewielką pojemnością pamięci operacyjnej i dyskowej komputerów, która jeszcze nawet
we wczesnych latach dziewięćdziesiątych uniemożliwiała praktyczne zastosowanie reprezentacji bardziej zaawansowanych i przez to wymagających znacznie większych zasobów pamięci. Obecnie ograniczenia te nie są już tak istotne, dzięki czemu można podejmować próby wykorzystania reprezentacji opartych nie tylko na pojedynczych słowach, ale także na ich sekwencjach.
3.1.1 Reprezentacje n-gramowe
Dla reprezentacji unigramowych szyk słów w zdaniu nie ma znaczenia. Może być to
już być źródłem pewnych komplikacji, szczególnie dla języków fleksyjnych, w których,
dzięki obfitości form fleksyjnych, szyk słów w zdaniu jest zmienny i może być kształtowany przez autora wypowiedzi.
Zdanie „Matka chwali córkę”, jest klasycznym tego przykładem, pochodzącym z
pracy [Tokarski, 1980]. W zdaniu tym różnica między częściami zdania (dopełnieniem
i podmiotem), wyrażana jest wyłącznie za pomocą odmiany, w tym przypadku podmiot
„matka” posiada końcówkę „-a”, zaś dopełnienie „córkę” końcówkę „-ę”. Dzięki temu szyk zdania może być dowolnie niemal zmieniany, przy zachowaniu jego znaczenia. Zdania „Córkę chwali matka” oraz „Chwali matka córkę” są semantycznie równoznaczne z pierwszym przytoczonym zdaniem, jednocześnie znacząco różnią się jednak
pod względem stylu. Takie operacje nie są możliwe do stosowania w językach pozycyjnych, w tym w języku angielskim, gdzie szyk zdania, a więc następstwo części zdania, są w zasadzie niezmienne.
Ponieważ we wszystkich przytoczonych zdaniach występują dokładnie te same wyrazy, w tych samych formach fleksyjnych, toteż np. dla systemów kategoryzacji, wykorzystujących reprezentacje unigramowe, są one nierozróżnialne - wektory częstości występowania słów będą tu w każdym przypadku identyczne20. Nie pozwala to zatem na
dokonanie klasyfikacji w takich przypadkach, w których o wyborze klasy decydować
może wyłącznie styl pisania. Przykładem może tu być przyporządkowywanie nazwisk
20
Z tego też powodu reprezentacje te określane są często terminem „worek słów” – ang. bag of words
3. Propozycje nowych metod reprezentacji dokumentów
autorów do wielu tekstów o tym samym temacie (a więc najprawdopodobniej także podobnych rozkładach częstości występowania poszczególnych słów).
Rozwiązaniem powyższego problemu jest zawarcie w reprezentacji tekstu informacji o następstwie wyrazów. Zgodnie z Definicją 2.8 dokument tekstowy jest uporządkowanym ciągiem wyrazów. Jeśli potraktować kolejne wyrazy tego ciągu jako zdarzenia losowe (w podobny sposób jak to opisano w poprzednim rozdziale, dla interpretacji
generacyjnej modelu unigramowego), to do opisu takiego ciągu wykorzystać można
dyskretny łańcuch Markowa.
Wymaga to założenia, iż to, jakie słowo znajduje się na i-tej pozycji w dokumencie
zależy jedynie od n słów, które je poprzedzają. Założenie takie z pewnością nie jest
prawdziwe i może wydawać się naiwnym przybliżeniem rzeczywistego języka. Mimo
to z pewnością jest przybliżeniem lepszym niż model unigramowy, gdzie tego rodzaju
zależności w ogóle nie występują.
Przykład 3.1 Dany jest ciąg wyrazów, będący fragmentem dokumentu tekstowego:
„I would like to make phone...”
Czy możliwe jest podanie jego kolejnego elementu, to jest wyrazu, jaki wystąpił po
słowie phone w rozpatrywanym dokumencie? Analiza semantyczna w znaczący sposób
ogranicza zbiór tych wyrazów, niemniej jednak w dalszym ciągu możliwych jest przynajmniej kilkadziesiąt różnych, gramatycznie poprawnych, form tego zdania, np.: „I
would like to make phone bill smaller” albo też „I would like to make phone defunct”.
Gdy jednak przeanalizować wiele dokumentów, w których występuje podany fragment,
to okaże się, iż najczęściej spotykane jest zdanie „I would like to make phone call”.
Dzięki temu można stwierdzić, iż ze stosunkowo dużym prawdopodobieństwem następnym słowem w analizowanym ciągu będzie słowo call.
Reprezentacja n-gramowa opierać się zatem będzie nie na zliczaniu częstości występowania poszczególnych słów, ale całych ciągów wyrazów o długości n.
Definicja 3.1 Niech dany będzie dokument D=(w1, w2, ..., z1, ..., wo, zm). Reprezentacją n-gramową dokumentu D nazywamy macierz M taką, że:
1) kolejne wiersze x macierzy odpowiadają kolejnym wariacjom rx obejmującym
n-1 słów ze słownika V
2) kolejne kolumny y macierzy odpowiadają kolejnym słowom vy ze słownika V
3) elementy macierzy przyjmują wartości:
o − n 1 gdy ( w j , w j +1 ,..., w j + n −1 ) = rx ∧ w j + n = v y
M x , y = ∑ j =1 
 0 wpw.
(3.1)
42
3. Propozycje nowych metod reprezentacji dokumentów
Poniższy przykład obrazuje tworzenie tej reprezentacji.
Przykład 3.2 Dany jest tekst:
Twas brillig, and the slithy toves
Did gyre and gimble in the wabe
Należy skonstruować jego reprezentację 2-gramową21. Wynikiem jest następująca
macierz:
Twas
Brillig
And
The
Slithy
Toves
Did
Gyre
Gimble
In
wabe
twas
0
0
0
0
0
0
0
0
0
0
0
brillig
1
0
0
0
0
0
0
0
0
0
0
and
0
1
0
0
0
0
0
1
0
0
0
the
0
0
1
0
0
0
0
0
0
1
0
slithy
0
0
0
1
0
0
0
0
0
0
0
toves
0
0
0
0
1
0
0
0
0
0
0
did
0
0
0
0
0
1
0
0
0
0
0
gyre
0
0
0
0
0
0
1
0
0
0
0
gimble
0
0
1
0
0
0
0
0
0
0
0
In
0
0
0
0
0
0
0
0
1
0
0
Wabe
0
0
0
1
0
0
0
0
0
0
0
Tabl. 7. Macierz następstwa reprezentacji bigramowej
Reprezentacja bigramowa, taka jak w powyższym przykładzie, w której zawarto jedynie informacje o bezpośrednim następstwie słów, jest szczególnym przypadkiem reprezentacji n-gramowej - jest to macierz kwadratowa, w której zarówno kolumnom jak
i wierszom odpowiadają poszczególne słowa ze słownika V. Po przyjęciu odpowiednich
założeń, może być zatem przekształcona w prosty sposób w macierz stochastyczną klasycznego łańcucha Markowa.
Reprezentacja ta jest także najprostsza do za zastosowania z reprezentacji ngramowych. Macierz M osiąga bowiem bardzo duże rozmiary dla większych wartości
n, i pomimo iż jest to macierz rzadka, to powodować może to znaczne trudności w implementacji - zapotrzebowanie na pamięć operacyjną wzrasta bowiem wykładniczo. Dla
przykładu – jeśli założć wielkość słownika równą 2000 elementów, to w najgorszym
wypadku22 rozmiar reprezentacji przedstawiać się będzie następująco:
Unigram
Bigram
Trigram
2000 elementów
20002 = 2 miliony elementów
20003 = 8 miliardów elementów
Tabl. 8. Wzrost wielkości reprezentacji n-gramowych
Nieznacznie modyfikując definicję reprezentacji n-gramowej można także w prosty
sposób uwzględnić informację o podziale dokumentu na zdania. W tym celu należy po21
Inaczej – bigramową, podobnie dla n=3 mamy reprezentację trigramową, dla n=4 tetragramową itd.
22
W praktycznych zastosowaniach rozmiary te będą znacznie mniejsze – jako że przechowywane będą jedynie faktycznie występujące w dokumentach sekwencje słów (a nie wszystkie możliwe).
43
3. Propozycje nowych metod reprezentacji dokumentów
służyć się wzbogaconym słownikiem V’ zawierającym zarówno elementy zbioru V jak i
S, traktując znaki interpunkcyjne jako „dodatkowe” słowa.
Interpretacja generacyjna
Jak pokazano w poprzednim rozdziale, reprezentację unigramową można traktować
jako opis prostego automatu probabilistycznego, który dokonuje generacji dokumentów, równoważnych z punktu widzenia systemu kategoryzacji z dokumentem źródłowym. W przypadku reprezentacji n-gramowych jest to także możliwe, z tym, że należy
zastosować tu bardziej skomplikowany automat, zwany modelem Markowa VMM
(ang. visible Markov model) [Jurafsky, 2000]. Automat taki, w każdym kroku swego
działania dokonuje generacji pojedynczego słowa ze słownika, przy czym to, jakie będzie to słowo, zależne jest od tego, jakie słowa wygenerowano w poprzednich n-1 krokach działania automatu.
Opis takiego automatu musi zatem zawierać prawdopodobieństwa warunkowe generacji poszczególnych słów ze słownika w k-tym kroku generacji:
P (vi | wk −1 ,..., wk − n +1 )
(3.2)
oraz musi określać warunki początkowe - bowiem dla pierwszych n-1 słów dokumentu nie istnieje wystarczająca liczba słów je poprzedzających, by można zastosować
powyższe prawdopodobieństwo warunkowe.
Problem warunków początkowych można rozwiązywać na wiele sposobów. Jednym
z nich jest przyjęcie założenia, iż każdy dokument rozpoczyna się ustalonym ciągiem n1 słów. Jest to szczególnie wygodne w modelu bigramowym wzbogaconym informacją
o podziale na zdania. Ponieważ większość dokumentów tekstowych rozpoczynanych
jest pełnym zdaniem, toteż uzasadnione jest, iż w pierwszym kroku działania automatu
zawsze generowany będzie symbol, oznaczający koniec zdania.
Drugim problemem jest określenie prawdopodobieństw warunkowych generacji
słów, na podstawie wartości macierzy M. Można tego dokonać, wykorzystując zasadę
maksymalnej zgodności MLE (ang. maximum likelihood estimate) [Cichosz, 2000]
zgodnie z którą:
P (vi | wk −1,..., wk − n +1 ) =
M x, y
∑
s
j =1
M x, j
(3.3)
gdzie x jest numerem wiersza macierzy M dla którego rx = (wk-1,...,wk-n+1), zaś y kolumną związaną ze słowem vi; s określa wielkość słownika V.
Przykład 3.3 Poniższy tekst został wygenerowany automat opisany macierzą „wytrenowaną” na tekście [Caroll, 1994] według reprezentacji bigramowej, z uwzględnieniem podziału na zdania:
44
3. Propozycje nowych metod reprezentacji dokumentów
Consider your white queen shook his head and rang through my punishments. She ought to me and alice said that
distance said nothing. Just then he would you seem very hopeful so dark. There it begins with one on how many
candlesticks in a white quilt and all alive before an upright on somehow kitty. Dear friend and without the room in
a thing that a king and butter.
Warto porównać powyższy fragment z fragmentem z Przykładu 2.3.
3.1.2 Reprezentacja γ-gramowa
Podstawowym założeniem reprezentacji n-gramowych opisanych, w powyższym
rozdziale, jest stały „horyzont zdarzeń”, czyli stała dla danej reprezentacji wartość parametru n. Jak pokazano, zwiększanie tego parametru prowadzi do wykładniczego
wzrostu rozmiaru reprezentacji, co znacznie utrudnia implementację. W praktyce
przyjmuje się, iż w zastosowaniach związanych z przetwarzaniem dokumentów w niesformalizowanym języku naturalnym, nie powinno się stosować reprezentacji większych niż trigramowa [Shuetze, 1999].
Wykorzystanie informacji o dłuższych sekwencjach słów jest mimo to możliwe,
wymaga jednak zapamiętywania jedynie wybranych sekwencji wyrazów.
Taka reprezentacja, którą autor niniejszej pracy proponuje określić mianem γgramowej, przechowywałaby informacje o częstości występowania sekwencji o
zmiennej długości, przy czym informacji o sekwencjach dłuższych byłoby odpowiednio
mniej, niż informacji o sekwencjach krótszych. Niezbędne jest tutaj dokonywanie wyboru sekwencji – zatem potrzebny jest także sposób oceny przydatności informacji o
częstości danego ciągu wyrazów, dla potrzeb kategoryzacji. Opisowi tego rodzaju metod poświęcony jest rozdział 4.2;w poniższym opisie przyjęto, iż istnieje pewna monotoniczna funkcją oceniająca γ(w1,...,wn) której wartości odpowiadają przydatności danej
sekwencji słów w1,...,wn dla systemu kategoryzacji. W najprostszym przypadku wartością tej funkcji może być po prostu częstość występowania sekwencji w dokumencie (w
celu np. odrzucenia wszystkich hapax legomena), należy jednak pamiętać, iż takie podejście zwykle wymaga uprzedniego filtrowania tekstu dokumentu, z użyciem stopword
list.
Wyboru odpowiednich sekwencji, które zostaną wykorzystane w reprezentacji,
można dokonać iteracyjnie. W tym celu, w pierwszym kroku algorytmu należy dokonać
zliczenia częstości występowania wszystkich pojedynczych słów w dokumencie, tworząc tym samym klasyczną reprezentację unigramową. Następnie, za pomocą funkcji
oceniającej, należy utworzyć zbiór kandydatów poziomu pierwszego, po czym odszukać w dokumencie sekwencje bigramów rozpoczynających się słowami ze zbioru kandydatów, zliczając częstość występowania odnalezionych sekwencji. Z tak utworzonego zbioru bigramów należy ponownie utworzyć zbiór kandydatów – tym razem drugiego poziomu i przystąpić do poszukiwania sekwencji o długości trzech słów. Procedurę
tą należy powtarzać aż do osiągnięcia żądanego poziomu.
Algorytm ten można formalnie zapisać następująco:
45
3. Propozycje nowych metod reprezentacji dokumentów
D = (w1,...,wn) – analizowany dokument
γ – funkcja oceniająca
ε – wartość graniczna funkcji oceniającej
maxlev – maksymalna długość sekwencji
R – zbiór przechowujący informacje o częstości ciągów
K – zbiór przechowujący ciągi – kandydatów
W powyższych zbiorach przechowywane są obiekty
words = (w1,...,wk) oraz frequency
W
o
atrybutach
1 γ-gram(γ, D, maxlev)
2{
3
//zliczanie unigramów
4
for (i=1;i<=n;i++)
5
{
6
W.words = D.wi;
7
W.frequency = 1;
8
uaktualnij(R, W);
9
}
10
//wybór kandydatów
11
wybierz(γ, D, R, K, 1);
12
if (|D|==0) break;
13
14
//zliczanie sekwencji
15
for (m=1;i<=maxlev;i++)
16
{
17
for (i=1;i<=n;i++)
18
{
19
//okno o długości m-1
20
W.words = D.wi,…,D.wi+m-1;
21
for (l=1;l<=|K|;l++)
22
{
23
if (Kl.words=W.words)
24
{
25
W.words= D.wi,…,D.wi+m;
26
Uaktualnij(R, W);
27
}
28
}
29
}
30 }
1 uaktualnij(R,W)
2{
3
for (l=1;l<=|R|;l++)
4
{
5
if (Rl.words=W.words)
6
{
7
Rl.frequency++;
8
W=null;
9
break;
10
}
11
}
12
if (W!=null) R.add(W);
46
3. Propozycje nowych metod reprezentacji dokumentów
13 }
1 wybierz(γ, D, R, K, 1)
2{
3
K=null;
4
for (l=1;l<=|R|;l++)
5
if (γ(Rl.words)>ε) K.add(Rl);
6}
Wynikiem działania powyższego algorytmu jest zbiór R, zawierający częstości sekwencji słów, przy czym maksymalna długość tych sekwencji określona jest przez
maxlev. Reprezentacja γ-gramowa jest zatem złożeniem reprezentacji unigramowej i
podzbiorów maxlev-1 reprezentacji n-gramowych.
Interpretacja generacyjna
Działanie automatu generującego dokumenty na podstawie powyższej reprezentacji
jest podobne, do działania automatu dla reprezentacji n-gramowych. Automat rozpoczyna pracę od wygenerowania pojedynczego słowa, na podstawie informacji o częstości unigramów. Następnie przeszukiwany jest zbiór zawartych w reprezentacji bigramów, w poszukiwaniu takich, które rozpoczynają się wygenerowanym słowem. Wybierany z nich jest jeden, określający tym samym drugie słowo dokumentu. Następnie
przeszukiwany jest zbiór trigramów, aby odnaleźć takie, których początek odpowiada
wygenerowanemu bigramowi i tak dalej. Gdy odpowiedni n-gram nie zostanie odnaleziony, cały cykl powtarza się od początku, to jest od poziomu pojedynczych słów.
3.2 Reprezentacja pozycyjna
3.2.1 Rozkład częstości słów
We wszystkich przedstawionych do tej pory reprezentacjach dokumentów tekstowych, rozkład słów w obrębie dokumentu nie ma praktycznie żadnego znaczenia. Jest
to szczególnie widoczne w przypadku reprezentacji unigramowej23 – istotna jest tu jedynie ilość wystąpień danego słowa. Gdybyśmy skonstruować reprezentację unigramową pewnego dokumentu, a następnie dokonać jego sortowania, np. według porządku
alfabetycznego słów; po czym znów skonstruować reprezentację dla tak spreparowanego dokumentu, to okazałoby się, że obie reprezentacje są identyczne.
Powstaje tu jednak pytanie, czy informacja o położeniu słów w dokumencie, tracona
w opisanych reprezentacjach, może być użyteczna dla systemu kategoryzacji?
Przykład 3.3 Poniższe wykresy przedstawiają miejsca wystąpień słów dumpty oraz
any w tekście [Caroll, 1994].:
23
Oczywiście dla reprezentacji n-gramowych kolejność słów jest istotna, ponieważ jednak praktycznie realizowalne wartości n są zwykle znikomo małe w porównaniu z liczbą słów w dokumencie, to informacja o położeniu
sekwencji w treści dokumentu też jest tu tracona.
47
3. Propozycje nowych metod reprezentacji dokumentów
35000
30000
Position
25000
20000
15000
10000
5000
0
Any
Dumpty
0
10
20
30
Occurence
40
50
60
Rys. 4. Pozycje słów „dumpty” oraz „any” w dokumencie [Caroll, 1994]
Częstość wystąpień obu tych słów w dokumencie jest taka sama (53 wystąpienia) –
dla systemu bazującego na reprezentacji unigramowej słowa te będą zatem równoważne. Jak to jednak pokazuje powyższy diagram, funkcje tych słów są odmienne w analizowanym dokumencie tekstowym. Słowo any jest po nim rozproszone dość równomiernie, podczas gdy wystąpienia słowa dumpty koncentrują się w trzech miejscach,
przy czym największe jego zagęszczenie przypada na kilkuprocentowy urywek położony w okolicach 20000 słowa. Można stąd wnioskować, iż w tekście znajduje się przynajmniej jeden, stosunkowo krótki fragment, traktujący być może o kimś (lub czymś)
określonym mianem dumpty. Z kolei słowo any może być słowem nie istotnym dla treści dokumentu – i tym samym np. jego usunięcie z reprezentacji nie będzie mieć zapewne wpływu na jakość kategoryzacji.
Interesujące efekty może dać także poszukiwanie podobieństw w rozkładzie występowania słów w kilku różnych tekstach. Na poniższym diagramie zobrazowano wystąpienia słów project i etext w dokumentach [Caroll, 1994] – dokument A, oraz [Jerome,
1995] – dokument B.
48
3. Propozycje nowych metod reprezentacji dokumentów
2000
1800
1600
1400
Position
1200
1000
800
600
400
etext A
etext B
project A
project B
200
0
0
5
10
15
20
Occurence
25
30
35
Rys. 5. Prosta analiza porównawcza pozycji słów, w dwóch dokumentach
Jak widać występuje wysoka zbieżność rozkładu występowania tych słów, w obu
dokumentach. Pozwala to przypuszczać iż: a) oba słowa są ze sobą semantycznie związane, przynajmniej w znaczeniu w którym zostały zastosowane w analizowanych tekstach; b) dokument A i dokument B mają podobną strukturę, być może zatem należą do
tej samej klasy dokumentów.
Wydaje się więc, iż zasadnym jest wprowadzenie reprezentacji tekstu takiej, w której przechowywana byłaby – poza częstością występowania słowa w dokumencie – także informacja o miejscach tych wystąpień. Reprezentację taką można określić mianem
reprezentacji pozycyjnej, zaś jej realizacja praktyczna jest stosunkowo prostym rozszerzeniem reprezentacji unigramowej.
Definicja 3.2 Niech dany będzie dokument D=(w1, w2, ..., z1, ..., wn, zm). Reprezentacją pozycyjną dokumentu D nazywamy dwójkę (F, S) gdzie F jest zbiorem funkcji gęstości rozkładu słów fVi o następujących własnościach:
1) dziedziną funkcji fVi jest zbiór {1...n}
2) wartości funkcji fVi określone są następująco:
∑
f vi ( k ) =
k +r
j =k −r
1 gdy w j = vi , vi ∈ V

0 wpw.
αi
(3.4)
49
3. Propozycje nowych metod reprezentacji dokumentów
n
∑f
vi
=1
(3.5)
1
zaś S jest wektorem skalującym o wartościach takich, jak wektor względnej unigramowej reprezentacji częstościowej.
Istotnym parametrem reprezentacji pozycyjnej jest rozmycie r. Zauważmy, iż gdy
r=n reprezentacja ta „degeneruje się” do częstościowej reprezentacji unigramowej –
wartość funkcji f jest stała i równa 1/n. Gdy zaś r=0, reprezentacja ta pozwala na jednoznaczne odtworzenie postaci dokumentu źródłowego. W zastosowaniach takich jak kategoryzacja dokumentów, użyteczne będą zapewne pośrednie wartości tego parametru.
W praktyce bezpośrednie posługiwanie się powyższą reprezentacją nie jest możliwe
- nie pozwala na to jej rozmiar. Możemy jednak zastąpić funkcję f histogramem, którego parametry przechowywać będziemy w następującej macierzy gęstości M:
1) kolejne wiersze x macierzy odpowiadają kolejnym słowom vx ze słownika V
2) kolejne kolumny y macierzy odpowiadają kolejnym fragmentom (wa,...wa+k) dokumentu D
3) elementy macierzy przyjmują wartości:
a+k
M x , y = ∑i = a f v x (i)
Zauważmy także, iż z (3.13) wynika, iż
∑M
x, y
(3.6)
=1
y
Im mniejsza będzie długość fragmentów, czyli im większa wartość parametru k, tym
większa będzie dokładność odwzorowania funkcji f. Wartość tego parametru powinna
zostać dobrana eksperymentalnie. Pewną pomocą mogą tu okazać się, stosowane w klasycznej statystyce, procedury konstruowania szeregów rozdzielczych24, gdzie przyjmuje
się zwykle, iż dla dziedziny o liczności n, liczba przedziałów nie powinna być większa
niż 5logn [Jóźwiak, 1998], lub 1+3.22logn [Sobczyk, 1998].
Zauważmy także, iż jeśli zbudujemy macierze dla różnych dokumentów, tak dobierając wartości parametru k, aby liczba ich kolumn była taka sama, to możemy wykorzystać je do bezpośredniego porównywania rozkładu częstości słów, niezależnie od długości tychże dokumentów.
Budowa reprezentacji pozycyjnej nie jest zadaniem skomplikowanym i sprowadza
się do zliczania wystąpień poszczególnych słów, przy wykorzystaniu przesuwającego
się okna o długości 2r, co obrazuje poniższy rysunek, a następnie normalizacji otrzymanych wartości.
24
Każdy wiersz macierzy M stanowi pojedynczy szereg rozdzielczy
50
3. Propozycje nowych metod reprezentacji dokumentów
2r
f(k)=2 (przed norm.)
k
Wystąpienia słów
Rys. 6. Tworzenie reprezentacji pozycyjnej dokumentu
Przykład 3.5 Poniżej przedstawiono wykresy funkcji gęstości dla słów z Przykładu
3.3:
any
0.00025
r=500
r=5000
0.0002
f any
0.00015
0.0001
5e-005
0
51
3. Propozycje nowych metod reprezentacji dokumentów
dumpty
0.0004
r=500
r=5000
0.00035
0.0003
f dumpty
0.00025
0.0002
0.00015
0.0001
5e-005
0
Rys. 7. Funkcje gęstości dla słów „any” i „dumpty” w [Caroll, 1994]
3.2.2 Interpretacja generacyjna
Jak łatwo zauważyć, reprezentacja pozycyjna jest złożeniem wielu reprezentacji
unigramowych. Kolejne kolumny macierzy P, powstałej przez pomnożenie macierzy
gęstości M i wektora skalującego S:
P = M ⋅S
(3.7)
definiują parametry reprezentacji unigramowych (czyli prawdopodobieństwa wygenerowania poszczególnych słów ze słownika V), jakie należy stosować w następujących
po sobie etapach generacji dokumentu. Jeśli skonstruowany histogram, przybliżający
funkcję f, posiada cztery przedziały (i tym samym macierz P jest czterokolumnowa),
generację pierwszej ćwiartki dokumentu należy prowadzić wykorzystując współczynniki z pierwszej kolumny macierzy P, następnej ćwiartki – wykorzystując współczynniki z drugiej kolumny, i tak dalej.
3.3 Reprezentacja atrybutów nietekstowych
W dotychczasowych badaniach nad kategoryzacją dokumentów tekstowych, dominuje problematyka kategoryzacji „czystych” tekstów, to jest dokumentów zawierających wyłącznie znaki ASCII. Do niedawna podejście takie było wystarczające, jednak
dziś trudno już odnaleźć system informatyczny, w którym przetwarzane byłyby dokumenty o tak prostej strukturze. Coraz większe znaczenie zyskują elementy multimedialne, takie jak grafika, oraz formatowanie dokumentów.
O ile analiza ilustracji, jakie może zawierać dokument, jest zadaniem bardzo odległym od obszaru zainteresowań klasycznego NLP, to już wykorzystanie informacji o
52
3. Propozycje nowych metod reprezentacji dokumentów
układzie tekstu powinno być możliwe, przy wykorzystaniu tych samych narzędzi, które
opracowano dla analizy treści tekstowej.
Najpopularniejszym obecnie sposobem zapisu dokumentów tekstowych o bogatej
strukturze są języki typu markup takie jak SGML, XML i pochodne takie jak HTML.
W językach tych o sposobie prezentacji dokumentu (tj. wyborze czcionek, dołączaniu
ilustracji itp.) decydują polecenia, tzw. tags, wplecione w tekst. Dokument taki można
zatem przedstawić jako ciąg (w1, w2, ..., z1, ...,t1,..., wn, zm, to) gdzie wi – słowa ze słownika V, zi – znaki interpunkcyjne ze słownika S, zaś ti – polecenia sterujące języka markup, których zbiór stanowi słownik T. Dla potrzeb analizy formatowania można dokonać „mapowania” elementów wi i zi na jeden, dodatkowy symbol δ w słowniku T,
oznaczający „ciąg tekstu”, otrzymując w ten sposób następującą postać dokumentu:
(t1,...,δ,..., to)
(3.8)
którą następnie łatwo przekształcić do reprezentacji n-gramowej, γ-gramowej lub pozycyjnej.
Zastępowanie ciągów tekstu jednym tylko symbolem, niezależnie od ich długości,
może nie być rozwiązaniem efektywnym. Krótki ciąg wyrazów, znajdujący się pomiędzy tagami włączającymi i wyłączającymi wytłuszczenie czcionki będzie pełnił zupełnie odmienną rolę (może to być np. tytuł) w dokumencie, niż długi (tu wytłuszczenie
może służyć jedynie jako zabieg dekoracyjny). Rozwiązaniem jest wprowadzenie zbioru symboli (δ1,..., δl) wraz z odpowiednią funkcją mapującą, która decydować będzie o
tym, który z elementów tego zbioru zastosować w zależności od długości zastępowanego ciągu wyrazów.
W większości przypadków rozmiar słownika T będzie niewielki, w porównaniu z
rozmiarem słownika V. Dzięki temu możliwe staje się wykorzystanie do analizy formatowania reprezentacji n-gramowych dla wyższych, niż to możliwe dla samego tekstu,
wartości n. Gdy zajdzie taka potrzeba, stosunkowo łatwo także dokonać grupowania
elementów słownika T, np. na podstawie ich funkcji (np. polecenia zmiany czcionki,
polecenia pozycjonowania tekstu itp.), tym samym jeszcze bardziej ograniczając rozmiar reprezentacji.
53
4. Przetwarzanie reprezentacji dokumentów
Language is legislation, speech is its code. We do not see
the power which is in speech because we forget that all
speech is a classification.
Roland Barthes
Niech dany będzie problem kategoryzacji binarnej dokumentów tekstowych, taki że:
K={A, B}, D={d1, d2, ..., dn, dn+1}, T={ d1, d2, ..., dn }, f: (d1→A, ... dn/2→A, ...
dn/2+1→B, dn→B).
Zadaniem jest tu przyporządkowanie pewnego dokumentu dn+1 do jednej z dwóch
klas: A i B. Realizujący to zadanie system kategoryzacji korzysta z pewnej techniki reprezentacji tekstu – na przykład jednej z opisanych w rozdziale 3. Dla każdego z dokumentów wchodzących w skład zbioru D istnieje zatem w systemie jego odpowiednia
reprezentacja Rdi.
Jak to pokazano w poprzednim rozdziale, każda reprezentacja Rdi może posłużyć do
wygenerowania dokumentów, które powinny być nierozróżnialne od dokumentu źródłowego dla systemu kategoryzacji. Jeśli któryś z wygenerowanych dokumentów Gdi
okaże się być taki sam, jak dokument dn+1, to system kategoryzacji powinien uznać, iż
dokument ten należy do tej samej klasy co dokument di.
Liczba różnych dokumentów, jakie mogą być wygenerowane przez jedną reprezentację, jest zwykle bardzo duża. Nie ma jednak potrzeby dokonywania takiej generacji –
można bowiem bezpośrednio wykorzystać parametry reprezentacji do obliczenia prawdopodobieństwa wygenerowania przez nią określonego dokumentu. Na przykład dla
reprezentacji bigramowej, wykorzystującej podział na zdania, prawdopodobieństwo
wygenerowania pewnego ciągu (w1,…, wn) można obliczyć korzystając z reguły łańcuchowej:
n
P ( w1 ,..., wn ) = P( w1 | v 0 ) ⋅ ∏ P( wi | wi −1 ) ⋅ .P(v0 | wn )
(4.1)
i =2
gdzie v0 jest symbolem oznaczającym koniec zdania.
W ten sposób możliwe jest obliczenie prawdopodobieństw wygenerowania dokóumentu dn+1 przez reprezentacje poszczególnych dokumentów należących do klasy A i
do klasy B, a także prawdopodobieństwa generacji dokumentu względem klasy (poprzez sumowanie znormalizowanych wartości prawdopodobieństw dla poszczególnych
reprezentacji).
Powyższa metoda jest jednak trudna do wykorzystania w praktyce. Wynika to z tego, iż reprezentacje dokumentów są modelami „rzadkimi” i w większości przypadków
prawdopodobieństwa wielu następstw słów (czy też nawet samych wystąpień pojedyn-
4. Przetwarzanie reprezentacji dokumentów
czych słów – w modelach unigramowym i pozycyjnym) z badanego dokumentu, będą
równe zero. Oczywiście dokumenty pochodzące ze zbioru trenującego zostaną przyporządkowane do poprawnych klas, jednak wiele, nawet nieznacznie różniących się od
nich, już nie.
Pierwszym, częściowym, rozwiązaniem tego problemu jest odejście od oddzielnego
traktowania poszczególnych dokumentów i wyznaczenie reprezentacji całej klasy.
Można tego dokonać poprzez konkatenację zawartości wszystkich dokumentów wchodzących w jej skład25. Nie rozwiązuje to jednak podstawowego problemu – jeśli nowy
dokument zawierać będzie choć jedną sekwencję słów nie występującą w dokumentach
wchodzących w skład klasy, to prawdopodobieństwo jego generacji będzie równe zero.
Każdej możliwej sekwencji wyrazów, jaka mogłaby potencjalnie wchodzić w skład reprezentacji, należy zatem przypisać pewne niezerowe prawdopodobieństwo.
4.1 Wygładzanie – powiększanie wielkości reprezentacji
Metody takie określane są zbiorczo mianem wygładzania (ang. smoothing), ich zastosowanie prowadzi do powiększenia rozmiaru reprezentacji. Wygładzanie jest techniką, która została opracowana dla potrzeb budowy statystycznych modeli języka, wykorzystywanych do oszacowywania, czy pewna sekwencja wyrazów (np. zdanie) jest poprawna w danym języku. Jak dotychczas nie było jednak wykorzystywane w zastosowaniach związanych z klasyfikacją i przetwarzaniem pojedynczych dokumentów tekstowych.
W poniższym tekście przyjęto, dla ustalenia uwagi, iż zastosowana została reprezentacja n-gramowa. Użycie tej metody w reprezentacji pozycyjnej jest jednak także możliwe - w najprostszym wypadku wymaga określenia pewnej stałej postaci funkcji f, która będzie przypisywana słowom, dla których obliczane są nowe, niezerowe wartości
prawdopodobieństwa (czyli elementy wektora S reprezentacji pozycyjnej).
4.1.1 Metoda Laplace’a
Zgodnie z (3.3) o prawdopodobieństwie generacji ciągu słów decyduje Mx,y - częstość jego występowania w dokumencie. Najprostszym sposobem wygładzenia reprezentacji jest zatem zwiększenie częstości wszystkich możliwych ciągów n wyrazów o
jedność, operacja ta nazywana jest często metodą Laplace’a:
Plap (vi | wk −1 ,..., wk − n +1 ) =
M x, y + 1
∑
s
j =1
M x, j + s n
(4.2)
gdzie s jest wielkością słownika V.
25
Oczywiście nie jest to możliwe, gdy zastosowano reprezentację pozycyjną. W tym przypadku konkatenacja
musi odbywać się na poziomie funkcji gęstości poszczególnych słów, poprzez ich sumowanie, a następnie normalizację,
55
4. Przetwarzanie reprezentacji dokumentów
Obliczone w ten sposób prawdopodobieństwa odpowiadają przyjęciu a priori założenia, iż każdy n-gram jest jednakowo prawdopodobny. W efekcie, jak pokazuje
Church i Gale [Church, 1991], prowadzi to do przypisania zbyt dużego prawdopodobieństwa do n-gramów, które nie znalazły się w tekście analizowanego dokumentu –
przynajmniej w eksperymentach mających na celu stworzenie modelu języka w oparciu
o dużą kolekcję tekstów.
4.1.2 Metoda Lidstone’a i metoda Jeffreys’a
Powyższe spostrzeżenie prowadzi do metod, w których częstości wystąpień poszczególnych n-gramów zwiększane są o pewną stałą wartość λ, mniejszą od jedności
(metoda Lidstone’a [Shuetze, 1999]):
Plid (vi | wk −1 ,..., wk − n +1 ) =
M x, y + λ
∑
s
j =1
(4.3)
M x, j + s n ⋅ λ
Zauważmy jednocześnie, iż jeśli:
µ=
∑
∑
s
j =1
s
j =1
M x, j
(4.4)
M x, j + s n ⋅ λ
to
Plid (vi | wk −1 ,..., wk − n +1 ) = µ ⋅
M x, y
∑
s
j =1
M x, j
+ (1 − µ ) ⋅
1
=
sn
(4.5)
1
µ ⋅ P(vi | wk −1 ,..., wk − n +1 ) + (1 − µ ) ⋅ n
s
Metoda Lidstone’a jest zatem liniową interpolacją (parametryzowaną przez µ) wartości prawdopodobieństwa, obliczonej na podstawie MLE i wartości wynikającej z założenia jednakowego prawdopodobieństwa wszystkich n-gramów.
W praktyce najczęściej wykorzystywaną wartością λ jest 0.5 (metoda Jeffreys’a).
4.1.3 Metoda Witten’a i Bell’a
Metoda ta oparta jest na założeniu, iż prawdopodobieństwo ciągów wyrazów, których nie zawiera reprezentacja, może być modelowane przez prawdopodobieństwo napotkania ciągu wyrazów po raz pierwszy w tekście. Innymi słowy przyjmuje się tu, iż
pewne n-gramy nie wystąpiły w tekście dlatego, gdyż nie był on wystarczającej długości [Jurafsky, 2000].
Zgodnie z powyższym założeniem, suma prawdopodobieństw wszystkich ngramów, nie zawartych w reprezentacji, może być obliczona następująco:
56
4. Przetwarzanie reprezentacji dokumentów
PM = 0 = ∑ Pwb (vi | wk −1 ,..., wk − n +1 ) M =0 =
 1 gdy M x , y > 0
x, y = 0

∑  0 gdy M
∑M
x, y
 1 gdy M x , y > 0
+ ∑
 0 gdy M x , y = 0
(4.6)
Tą wartość sumaryczną można następnie „rozdzielić” równomiernie na wszystkie ngramy, nie występujące w reprezentacji. Jeśli przez z oznaczyć liczbę n-gramów, które
nie występują w reprezentacji, a które zawiera badany dokument, to:
 PM =0
 z gdy P(vi | wk −1 ,..., wk − n +1 ) = 0

M x, y
Pwb (vi | wk −1 ,..., wk − n +1 ) = 
gdy P(vi | wk −1 ,..., wk − n +1 ) > 0 (4.7)
 1 gdy M x , y > 0

 ∑ M x, y + ∑ 
 0 gdy M x , y = 0

Metodę tą można dodatkowo wzbogacić, obliczając sumę PM=0 oddzielnie dla każdego ciągu rozpoczynającego się wyrazami ( wk −1 ,..., wk − n +1 ) – czyli oszacowując
prawdopodobieństwo pierwszego wystąpienia n-gramu, rozpoczynającego się danym
ciągiem wyrazów, a nie tylko prawdopodobieństwo wystąpienia dowolnego n-gramu,
po raz pierwszy w dokumencie.
4.1.4 Inne metody wygładzania
Poza stosunkowo prostymi metodami przedstawionymi powyżej, istnieje także wiele
bardziej skomplikowanych, takich jak Good-Turing estimator [Church, 1991], czy też
deleted interpolation i Katz backoff [Katz, 1987], te dwie ostatnie szczególnie dobrze
nadają
się
do
stosowania
w
reprezentacji
γ-gramowej.
Zastosowanie jednej z powyższych metod, umożliwia już dokonanie kategoryzacji
dokumentów zgodnie z przedstawionym na początku rozdziału algorytmem, będącym
pomysłem autora. Nie jest to jednak algorytm optymalny – wymagana jest duża ilość
obliczeń podczas analizy nowych dokumentów, a także stosowanie struktur danych o
niebagatelnych rozmiarach. Tymczasem większość zastosowań praktycznych kategoryzacji dokumentów wymaga, by proces przyporządkowywania nowego dokumentu do
kategorii trwał jak najkrócej, dopuszczając jednocześnie długotrwałą fazę przygotowawczą, mającą na celu budowanie reprezentacji dokumentów zawartych w zbiorze
trenującym.
Jest to możliwe jedynie wtedy, gdy rozmiar reprezentacji będzie niewielki. Aby to
osiągnąć niezbędne staje się zatem zastosowanie metod ograniczających, dzięki którym
57
4. Przetwarzanie reprezentacji dokumentów
dokonany zostanie wybór z reprezentacji jedynie najbardziej charakterystycznych
fragmentów, które wystarczą do podjęcia decyzji o przynależności dokumentu do danej
klasy.
Problem ograniczania wielkości reprezentacji jest dość dobrze zbadany. Wynika to
tego, iż stosowane powszechnie algorytmy klasyfikacji pozwalają na stosowanie jedynie stosunkowo ograniczonych przestrzeni atrybutów – bez dokonania wyboru atrybutów niemożliwa jest zatem budowa działającego klasyfikatora, szczególnie, gdy zasoby
sprzętu (przede wszystkim pamięć operacyjna) są niewielkie. Dlatego też poniższy rozdział stanowi przede wszystkim omówienie powszechnie znanych technik. Niemniej
jednak niektóre z przedstawionych metod ograniczania wielkości reprezentacji – takie
jak zastosowanie algorytmu SVD i miary Information Gain Quinlana, oraz wykorzystanie funkcji koncentracji Lorentza i grupowania atrybutów w reprezentacji pozycyjnej,
stanowią nowe propozycje autora.
4.2 Ograniczanie wielkości reprezentacji
4.2.1 Funkcje istotności atrybutów
Reprezentacje tekstu stanowią niejako „czystą” informację, o postaci dokumentów
w systemie kategoryzacji. Nie wszystkie jednak elementy tych reprezentacji są jednakowo użyteczne dla potrzeb systemu. Tematyka większości dokumentów może być
bowiem często określona wystarczająco dobrze (dla zadania takiego jak podział dokumentów na klasy), przy wykorzystaniu stosunkowo niewielkiej ilości terminów, zwanych zresztą często słowami kluczowymi. Pozostała informacja stanowi natomiast zbędny „balast” syntaktyczny.
Innymi słowy, potrzebna jest pewna funkcja, nazwijmy ją funkcją istotności γ, której dziedziną będą elementy reprezentacji, zaś wartości określać będą przydatność tych
elementów dla systemu.
Oczywiście postać tychże elementów zależy od wybranej reprezentacji. Może być to
słowo (jak w reprezentacjach unigramowych) wraz z informacją o jego częstości lub
ciąg słów (jak w reprezentacjach n-gramowych i pochodnych) wraz z odpowiadającym
mu elementem macierzy M, wreszcie zaś bardziej skomplikowana struktura, taka jak
słowo, częstość i funkcja gęstości z reprezentacji pozycyjnej.
Elementy reprezentacji związane ze słownikiem V – tj. słowa lub ciągi słów – określić można mianem atrybutów. Najczęściej stosowane funkcje istotności analizują częstość związaną z danym atrybutem. Dlatego też, dla uproszczenia zapisu, w poniższym
tekście zastosowano następującą notację, pochodzącą z [Shuetze, 1999]:
term frequency tfi,j – określa częstość wystąpień atrybutu wi w dokumencie dj
document frequency dfi – określa liczbę dokumentów w których występuje atrybut
wi
collection frequency cfi – określa liczbę wystąpień atrybutu wi we wszystkich dokumentach
N – określa liczbę wszystkich dokumentów w systemie
58
4. Przetwarzanie reprezentacji dokumentów
M – określa liczbę wszystkich atrybutów, jakie mogą potencjalnie wystąpić w dokumentach
Funkcja istotności przyjmuje wartości tym większe, im wyższa przydatność danego
atrybutu, dla systemu kategoryzacji. Atrybut będzie przydatny dla systemu, jeśli jego
znaczenie jest powiązane z tematem dokumentu, natomiast gdy reprezentuje on słowo
(lub ciąg słów), nie niosące istotnej informacji semantycznej, jego przydatność będzie
niewielka.
4.2.1.1 Funkcje z rodziny TF-IDF
Atrybuty, które występują bardzo rzadko w tekście dokumentu (w szczególności zaś
hapax legomena) nie mają zwykle bezpośredniego związku z jego tematyką. Z kolei
atrybuty istotne dla tematu dokumentu, wykorzystywane są w nim zwykle dość często.
Przykładem może być dokument, traktujący o telefonii komórkowej GSM. W dokumencie takim słowa: GSM, telefon i telefon komórkowy będą występować wielokrotnie. Spostrzeżenie to prowadzi do następującej, prostej postaci funkcji istotności:
γ ( wi , d j ) = tf ij
(4.8)
Poważnym problemem dla powyższej funkcji są jednak słowa typu stopword, które
co prawda występują bardzo często w treści dokumentu, ale nie niosą ze sobą istotnej
treści semantycznej. Prostym rozwiązaniem jest oczywiście stosowanie odpowiedniej
stopword list. Jego skuteczność uzależniona jest od jakości użytej listy, która zwykle
musi być przygotowana ręcznie.
Istnieje także możliwość automatycznego „wyizolowania” takich słów, dzięki temu,
iż częstość ich występowania będzie duża we wszystkich dokumentach obecnych w
systemie, natomiast słowa istotne semantycznie i powiązane z tematyką poszczególnych dokumentów – czyli słowa kluczowe – występować będą często jedynie w tych
dokumentach, z których tematyką są związane. Na tym spostrzeżeniu oparta jest cała
rodzina funkcji oceniających, zwana term frequency-inverse document frequency26. W
najprostszym przypadku funkcja przyjmuje następującą postać:
γ nnn ( wi , d j ) =
tf ij
df i
(4.9)
znacznie jednak lepsze efekty daje zastosowanie skalowania logarytmicznego,
zmniejszające bardzo duże różnice w częstości występowania dla najczęstszych atrybutów:
26
Patrz m.in. [Salton, 1983]
59
4. Przetwarzanie reprezentacji dokumentów
γ lln ( wi , d j ) = (1 + log(tf ij ) ) ⋅ log(
N
)
df i
(4.10)
W ten sposób wartość funkcji przyjmuje następujące wartości:
dla atrybutów występujących we wszystkich dokumentach w systemie:
γ lln ( wi , d j ) = (1 + log(tf ij ) ) ⋅ log( ) = (1 + log(tf ij ) ) ⋅ 0 = 0
N
N
(4.11)
dla atrybutów występujących tylko w jednym dokumencie:
γ lln ( wi , d j ) = (1 + log(tf ij ) ) ⋅ log( N ) = log( N ) + log(tf ij )
(4.12)
Wadą powyższych funkcji jest to, iż nie uwzględniania jest w nich długość dokumentów. W dokumentach krótszych znajdować się będzie bowiem mniej istotnych
atrybutów, niż w dokumentach długich. Pożądane zatem może okazać się dokonanie
odpowiedniej normalizacji:
(1 + log(tf ))⋅ log( N )
ij
γ lln ( wi , d j ) =
df i

N 
∑k =1  (1 + log(tf kj ) )⋅ log( df ) 
k 

2
(4.13)
M
4.2.1.2 Residual inverse document frequency
Podstawowym założeniem metod TF-IDF jest przekonanie, o powszechności występowania słów nieistotnych semantycznie w dokumentach. Słowa te stanowią pewien
rodzaj losowego „szumu”, w którym znajdują się skupiska słów istotnych.
Można rozszerzyć powyższe podejście, próbując porównywać faktyczną częstość
występowania atrybutów w dokumentach, z pewnym rozkładem losowym, odpowiadającym przypadkowemu doborowi atrybutów. Te atrybuty, których częstość odbiegać
będzie znacząco od częstości przewidywanej z rozkładu, mogą być uznane za semantycznie istotne. Rozumowanie to prowadzi do następującej postaci funkcji istotności
(przy zastosowaniu rozkładu Poissona, do modelowania częstości wystąpień atrybutów), zwanej residual inverse document frequency:
 N
 df i
γ ridf ( wi , d j ) = log



cf
1
 − log
; λ i = i
N

 1 − p (0; λ i ) 
(4.14)
60
4. Przetwarzanie reprezentacji dokumentów
4.2.1.3 Entropy weighting
Alternatywną metodą, do zaprezentowanych powyżej, jest wykorzystanie entropii,
jako miary istotności atrybutu:



γ ent ( wi , d j ) = (1 + log(tf ij ) ⋅ 1 +
 tf ij   
1
N  tf ij

log   
∑
k =1 

log( N )
 cf i   
 cf i
(4.15)
Dla atrybutu występującego tyle samo razy we wszystkich dokumentach miara ta
przyjmuje wartość zerową:
1+
 tf ij  
1
N  tf ij

log   =
∑
k =1 
log( N )
 cf i  
 cf i
 cf i
 cf i  



N
N


 =
log
 cf i  
1
N  cf i
1+


∑ 


log( N ) k =1 
N
1
 1  log(1) log( N )
1+
⋅ ⋅ log  =
−
= 1−1 = 0
log( N ) N
 N  log( N ) log( N )
(4.16)
Zaś dla atrybutu występującego dokładnie w jednym dokumencie jest równa jedności:
1+
 tf ij
1
N  tf ij

log
∑
k =1 
log( N )
 cf i
 cf i

 =


1+

 0
 0
1
⋅ ( N − 1) ⋅ 
log
log( N ) 
 cf i
 cf i
1+
1
⋅ [( N − 1) ⋅ 0 + 1 ⋅ log(1)] = 1 + 0 = 1
log( N )
  cf i
 cf i
  +

 cf log cf
i

 i

 =

(4.17)
4.2.1.4 Analiza funkcji gęstości w reprezentacji pozycyjnej
Funkcje istotności, przedstawione powyżej, można stosować do wszystkich reprezentacji, w których zapisana jest informacja o częstości występowania atrybutu w dokumentach. Niektóre reprezentacje dają jednak dodatkowe możliwości analizy ważności atrybutów. Do reprezentacji takich należy reprezentacja pozycyjna, gdzie możliwe
jest także przeprowadzenie analizy funkcji gęstości rozkładu słów.
61
4. Przetwarzanie reprezentacji dokumentów
Można przyjąć, iż występowanie słów, które nie niosą istotnej informacji semantycznej, jest przypadkowe, w tekście dokumentu. Ich funkcje gęstości występowania
powinny zatem charakteryzować się niewielką zmiennością. Z kolei słowa, istotne semantycznie, będą grupować się w pewnych miejscach dokumentu, gdzie omawiane są
reprezentowane przez nie pojęcia27.
Niezbędna jest zatem metoda, pozwalająca określić stopień koncentracji wystąpień
słów wokół pewnych miejsc w dokumencie tekstowym. Do tego celu zastosować można zmodyfikowaną funkcję koncentracji Lorentza:




n
n
a ⋅ n −  min( f ( x), a )  ⋅

vin
∫a =0 
∫
 n

 x =0

f vin ( x) 

∫


x =0
Ki = 2 ⋅ 
n
1
(4.18)
Gdzie fvin jest znormalizowaną funkcją gęstości rozkładu słowa wi taką że: max(fvin)=1
Wartość Ki równa 0 oznacza całkowicie równomierny rozkład wystąpień słowa, zaś
dla maksymalnej koncentracji (tj. dla pojedynczego wystąpienia słowa w dokumencie)
Ki=1.
Powyższe tendencje mogą wystąpić jeszcze silniej, gdy dokonać sumowania funkcji
gęstości dla wszystkich dokumentów w systemie. Regularności w wykorzystywaniu
pewnych słów (takie jak np. używanie pewnych słów kluczowych we wstępach dokumentów) zostaną w ten sposób wzmocnione. W takim przypadku dokonana ocena jest
oceną globalną, a nie związaną z konkretnym dokumentem.
Sama wartość miary koncentracji nie wystarcza do oceny istotności słowa – jest
bowiem oczywiste, iż słowa rzadko występujące, będą wykazywały się wysoką koncentracją, szczególnie jeśli przy tworzeniu funkcji gęstości zastosowano niskie wartości
rozmycia. Niezbędne jest zatem stosowanie odpowiedniej normalizacji.
4.2.1.5 Stosowanie funkcji istotności
Podstawowym zastosowaniem funkcji istotności jest poprawa jakości kategoryzacji.
W tym celu, w algorytmie kategoryzacji, zamiast „czystych” wartości częstości stosować można odpowiednie wartości funkcji istotności, jako wartości poszczególnych
atrybutów dokumentów.
Istnieje także możliwość wykorzystywania funkcji istotności do przeprowadzenia
wstępnej redukcji liczby atrybutów na poziomie dokumentu. Można bowiem ustalić
pewną graniczną wartość tej funkcji. Wszystkie atrybuty, których istotność zostanie
oceniona na niższą od wartości granicznej, zostaną usunięte z reprezentacji dokumentu.
27
Por. przykład 3.3
62
4. Przetwarzanie reprezentacji dokumentów
Technikę tą można określić mianem wybierania istotnych słów kluczowych (ang. feature extraction lub feature selection).
Jednocześnie, gdy wartość graniczna funkcji istotności będzie taka, by z jednego
dokumentu jedynie kilka atrybutów ocenianych było jako istotne, to powyższa technika
może posłużyć do budowy krótkich list słów kluczowych opisujących tematykę dokumentu, czyli do tworzenia, oczywiście bardzo prymitywnych, streszczeń.
4.2.2 Wybór atrybutów najlepiej różnicujących klasy
Sam wybór istotnych słów kluczowych może okazać się niewystarczający dla potrzeb systemu kategoryzacji. Atrybuty, które mają największą wartość dla tego systemu,
powinny nie tylko charakteryzować się istotnością semantyczną, ale przede wszystkim
powinny jak najlepiej „separować” dokumenty należące do różnych klas. W szczególności system powinien wykorzystywać takie atrybuty, które występują wyłącznie w
tekstach dokumentów należących do jednej klasy (atrybuty te stanowią bowiem niejako
„wizytówkę” danej klasy).
4.2.2.1 Zysk informacyjny
Miara zysku informacyjnego (ang. information gain, IG) jest wykorzystywana w algorytmach budowy drzew decyzyjnych zaproponowanych przez Quinlana [Quinlan,
1986], [Quinlan, 1993]. Możliwe jest jednak jej niezależne zastosowanie, nawet jeśli w
tworzonym systemie drzewo decyzyjne nie będzie algorytmem klasyfikującym. Proponuję bezpośrednie skorzystanie z wartości zysku informacyjnego, do oceny przydatności poszczególnych atrybutów dla całego systemu, w następujący sposób:
Niech K={k1, k2, ..., kl} będzie zbiorem identyfikatorów klas obecnych w systemie
kategoryzacji. Wartość zysku informacyjnego dla atrybutu wi wynosi:
IG ( wi ) = −∑ j =1 P(k j ) ⋅ log P(k j ) + P( wi ) ⋅ ∑ j =1 P(k j | wi ) ⋅ logP(k j | wi ) +
l
+ P( wi ) ⋅ ∑ j =1 P(k j | wi ) ⋅ logP( k j | wi )
l
l
(4.19)
gdzie:
P( wi ) - prawdopodobieństwo wystąpienia atrybutu wi w losowo wybranym
dokumencie z systemu;
P( k j ) - prawdopodobieństwo, iż losowo wybrany dokument należy do klasy
kj;
P (k j | wi ) - prawdopodobieństwo, iż dokument wybrany z dokumentów zawierających atrybut wi należy do klasy kj;
P( wi ) - prawdopodobieństwo nie wystąpienia atrybutu wi w losowo wybranym
dokumencie z systemu;
63
4. Przetwarzanie reprezentacji dokumentów
P (k j | wi ) - prawdopodobieństwo, iż dokument wybrany z dokumentów nie
zawierających atrybutu wi należy do klasy kj.
Jako najwartościowsze dla algorytmu kategoryzacji wybrać należy te atrybuty,
dla których wartość współczynnika IG jest jak największa.
4.2.2.2 Testowanie hipotez statystycznych
Można także sprawdzić, przy pomocy metod statystycznych, zależność pomiędzy
występowaniem atrybutu w dokumencie, a jego przynależnością do danej klasy. Atrybuty, dla których ta zależność jest niska, mogą zostać usunięte z reprezentacji, bez
szkody dla efektywności działania systemu.
Do badania występowania wspomnianej zależności służą standardowe testy statystyczne. Metoda ta jest metodą powszechnie znaną i często wykorzystywaną, zarówno
w eksperymentalnych jak i komercyjnych systemach lingwistycznych.
Poniżej opisano zastosowanie, zwykle wykorzystywanego przy budowie systemów
kategoryzacji, testu niezależności Pearsona χ2 [Sobczyk, 1998].
H0: wystąpienia atrybutu wi i przyporządkowanie dokumentów do klasy kj są niezależne
H1: wystąpienia atrybutu wi i przyporządkowanie dokumentów do klasy kj nie są
niezależne
χ 2 ( wi , k j ) =
( a + b + c + d ) ⋅ ( a ⋅ d − b ⋅ c) 2
(a + b) ⋅ (a + c ) ⋅ (b + d ) ⋅ (c + d )
(4.20)
Gdzie wartości a, b, c, d są liczebnościami z następującej tablicy czteropolowej:
Dokumenty zawierające wi
Dokumenty nie zawierające wi
Dokumenty należące do kj
Dokumenty nie należące do kj
a
c
b
d
Jeśli jedna z wartości z powyższej tablicy przyjmuje wartość mniejszą od 10, wskazane jest dodatkowo zastosowanie poprawki Yatesa:
1
( a + b + c + d ) ⋅ (| a ⋅ d − b ⋅ c | − (a + b + c + d )) 2
2
χ ( wi , c j ) =
( a + b) ⋅ (a + c) ⋅ (b + d ) ⋅ (c + d )
2
(4.21)
Obliczona wartość χ2(wi, cj) porównywana jest z rozkładem teoretycznym dla jednego stopnia swobody.
64
4. Przetwarzanie reprezentacji dokumentów
Dla danego atrybutu powyższy test należy wykonać dla wszystkich klas w systemie.
Atrybuty, których występowanie w dokumentach jest niezależne statystycznie od przyporządkowania dokumentów do klas, mogą zostać usunięte z reprezentacji.
4.2.3 Przekształcanie przestrzeni atrybutów
Poza samym usuwaniem atrybutów z reprezentacji, możliwe jest także zastępowanie
pewnych atrybutów innymi. Operacja taka prowadzi zwykle do ograniczenia jej rozmiaru, co mam miejsce gdy dokonywane jest grupowanie wielu atrybutów wyjściowych w jeden atrybut pochodny. Ponieważ technika ta wymaga jednoczesnej analizy
kilku atrybutów, toteż można ją określić mianem przekształcania przestrzeni atrybutów:
Przekształcanie
przestrzeni atrybutów
Grupowanie
atrybutów
Grupowanie
semantyczne
Bezpośrednia analiza macierzy reprezentacji
(SVD)
Grupowanie wg
zależności atrybut-klasa
Grupowanie wg
podobieństwa
funkcji gęstości
Rys. 8. Techniki przekształcania przestrzeni atrybutów
4.2.3.1 Semantyczne grupowanie atrybutów
Reprezentacje tekstu nie wykorzystujące informacji lingwistycznej, traktującej o języku jako całości, są niezależne językowo – można stosować je do analizy zarówno
polskich, jak i angielskich, czy też niemieckich tekstów. Z drugiej jednak strony,
wprowadzenie tej informacji może podnieść efektywność działania algorytmów klasyfikacji, choć oczywiście odbyć się to musi kosztem niezależności językowej.
Informacją językową, która wydaje się szczególnie łatwa do wykorzystania w systemach kategoryzacji, są zależności synonimii i hipernimii pochodzące z tezaurusów.
Tezaurusy, nazywane także sieciami semantycznymi, opisują powiązania pomiędzy
słowami występującymi w danym języku.
Trudno wymienić wszystkie możliwe relacje, jakie można by zastosować w tezaurusie, a to z tego powodu, iż znaleźć się w nim może w zasadzie opisanie dowolnej zależ-
65
4. Przetwarzanie reprezentacji dokumentów
ności ze świata rzeczywistego (obiekty semantyczne, zawarte w tezaurusie, odwzorowują bowiem przedmioty i pojęcia z tego świata, relacje zaś - występujące w tym świecie zależności). Na szczęście możliwe jest dokonanie pewnej ich systematyki [Bielicka,
1988]. Dokonując najbardziej podstawowego podziału można wyróżnić relacje ekwiwalencji oraz relacje semantyczne pomiędzy deskryptorami.
Relacje ekwiwalencji zachodzą pomiędzy askryptorami, a deskryptorem. Dzieje się
to wtedy, gdy pomiędzy dwoma wyrażeniami z języka naturalnego, którym odpowiadają deskryptor i askryptor, zachodzi synonimia lub quasisynonimia. Synonimia występuje, gdy zarówno askryptor, jak i deskryptor, wskazują dokładnie na ten sam obiekt, zaś
różnorodność jego określeń w języku naturalnym wynika z czynników kulturowych.
Quasisynonimia oznacza natomiast relację pomiędzy terminami, których znaczenie w
języku naturalnym jest co prawda różne, lecz które dla opracowywanego tezaurusa stanowić będą to samo określenie (z uwagi na niedostateczną głębię szczegółowości tezaurusa).
Relacje semantyczne wiążą ze sobą różne deskryptory, względem pewnych kryteriów. Wyróżnić można dwie podstawowe grupy takich relacji: a) relacje hierarchiczne
oraz b) relacje kojarzeniowe.
Wśród relacji hierarchicznych występują:
-
relacja wskazująca deskryptor zakresowo szerszy
relacja wskazująca deskryptor zakresowo węższy
relacja wskazująca deskryptor naczelny grupy, do której należy deskryptor dany
Jeżeli pomiędzy dwoma terminami zachodzi stosunek zawierania i obejmowania,
inaczej mówiąc, jeśli jeden z nich zawiera się w drugim, to między tymi dwoma terminami zachodzi relacja hierarchii. Najczęściej stosowanym w tezaurusach jej typem jest
relacja rodzajowa (rodzaj-gatunek), określająca zależności typu hierarchicznego pomiędzy deskryptorami, układające się w sferach określonych rodzin deskryptorów.
Wykorzystanie powyższych informacji w systemie kategoryzacji prowadzić może
do zwiększenia jego efektywności. Niech dany będzie pewien dokument D, który powinien zostać przyporządkowany do klasy K w systemie kategoryzacji. Jeśli w dokumencie tym, zamiast słów kluczowych wykorzystywanych w pozostałych dokumentach
z klasy K, użyto ich synonimów, to klasyczny system kategoryzacji nie będzie w stanie
dokonać poprawnego przyporządkowania dokumentu. Jeśli jednak system wykorzysta
informację o relacjach ekwiwalencji, pochodzącą z odpowiedniego tezaurusa, to przyporządkowanie będzie już mogło zostać wykonane.
Wprowadzenie tej informacji do reprezentacji dokumentów jest proste i wymaga pojedynczego etapu preprocesingu, któremu powinien zostać poddany każdy analizowany
dokument. W procesie tym, kolejne słowa dokumentu poszukiwane są w tezaurusie, w
celu stwierdzenia czy są askryptorami czy też deskryptorami. Następnie zaś askryptory
zastępowane są w tekście, poprzez odpowiadające im deskryptory z tezaurusa.
66
4. Przetwarzanie reprezentacji dokumentów
Proces ten prowadzi jednocześnie do ograniczenia rozmiaru reprezentacji dokumentu. Słownik V jest bowiem złożony zarówno z askryptorów, jak i deskryptorów, zaś
powyższy preprocesing powoduje usunięcie zeń wszystkich askryptorów.
W podobny sposób można dokonywać zastąpień słów w dokumentach, wykorzystując inne rodzaje relacji. W szczególności użyteczne mogą okazać się relacje hierarchiczne [Matwin, 1998], gdzie zastępując słowa o węższym znaczeniu, deskryptorami
zakresowo szerszymi (czy nawet deskryptorami naczelnymi) można dokonywać uogólnienia tematyki dokumentu. W tym przypadku konieczne jest jednak stosowanie heurystyk, określających liczbę poziomów w hierarchii, jakie można przeglądać w poszukiwaniu deskryptora o szerszym znaczeniu.
Główną przeszkodą w stosowaniu powyższych metod jest konieczność posiadania
tezaurusa. Stworzenie dobrej sieci semantycznej, jest bowiem zadaniem długotrwałym i
kosztownym, dlatego też dla większości języków nie istnieją publicznie dostępne, uniwersalne tezaurusy28. Po drugie, w wielu przypadkach konieczne okazuje się użycie tezaurusa specjalizowanego. Wynika to z tego, iż nawet relacje ekwiwalencji nie zawsze
są relacjami globalnymi i mogą być prawdziwe tylko w pewnych, specyficznych zastosowaniach języka. Wreszcie konieczność dołączenia bazy semantycznej do systemu
zwiększa jego stopień skomplikowania i rozmiar.
Powyższe ograniczenia dotyczą wszystkich systemów NLP, gdzie można by stosować informacje o związkach semantycznych pomiędzy słowami (takich jak choćby systemy wyszukiwania dokumentów [Frelek, 1999]), a nie tylko systemów kategoryzacji.
4.2.3.2 Inne metody grupowania
Nawet gdy sieć semantyczna nie jest dostępna, można podjąć próbę grupowania
tych atrybutów, które występują z podobną częstością w dokumentach poszczególnych
klas. Metoda ta została zaproponowana m.in. w pracy [Baker, 1998].
Niech dana będzie pewna funkcja P(wi|kj) prawdopodobieństwa wystąpienia atrybutu wi w losowo wybranym dokumencie z klasy kj. Poniższy rysunek obrazuje hipotetyczną postać tej funkcji dla trzech różnych atrybutów, w systemie kategoryzacji w którym zdefiniowano 10 klas dokumentów:
28
Wyjątkiem jest tu język angielski, dla potrzeb którego opracowano wciąż intensywnie rozwijany system
WordNet [Beckwith, 1991].
67
4. Przetwarzanie reprezentacji dokumentów
0.5
A
B
C
0.45
0.4
Probability
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
0
1
2
3
4
5
6
7
8
9
Class
Rys. 9. Hipotetyczne funkcje prawdopodobieństwa wystąpienia atrybutu
Jak widać rozkład występowania atrybutów A i C jest zbliżony – można zatem dokonać ich połączenia tworząc nowy atrybut N.
Do zastosowania powyższej metody niezbędne jest oszacowanie stopnia podobieństwa funkcji prawdopodobieństwa związanych z dwoma atrybutami. Rozwiązaniem
może być zastosowanie miarę rozbieżności Kullback-Leibera:
 P( wi | k o ) 
l

D ( P ( wi | k ) || P ( wm | k )) = ∑o =1 P( wi | k o ) log
 P ( wm | k o ) 
(4.22)
Proponowana w niniejszej rozprawie reprezentacja pozycyjna stwarza nowe możliwości zastosowania powyższej techniki. Wykorzystanie miary rozbieżności do oszacowania podobieństwa pomiędzy funkcjami f poszczególnych słów, pozwala grupować
słowa, pełniące podobną funkcję w dokumencie – występują one bowiem w tych samych jego częściach.
Do przeprowadzenia samego procesu grupowania szczególnie dobrze nadaje się algorytm k-Means, pozwalający na wstępne założenie liczby grup, jaka będzie wynikiem
jego działania, co pozwala określić z góry żądany rozmiar przestrzeni atrybutów.
4.2.3.3 Singular Value Decomposition
Grupowanie atrybutów jest de facto zastępowaniem pewnego podzbioru atrybutów
przez inny, którego elementami są nowe atrybuty, powstałe ze złączenia atrybutów wejściowych. Można zatem rozważyć także zastąpienie całego zbioru atrybutów innym, o
mniejszej liczności. Do tego celu dobrze nadaje się algorytm Singular Value Decomposition. Jak dotychczas wykorzystywany był on w NLP do automatycznego budowania
tezaurusów i rozszerzania zapytań w systemach wyszukiwania informacji [Landauer,
68
4. Przetwarzanie reprezentacji dokumentów
1998], [Dumais, 1995]. Wydaje się jednak, iż możliwe jest także jego wykorzystanie w
systemie klasyfikacji, w sposób, który zaproponowano poniżej.
Niech macierz D będzie macierzą przechowującą informacje o występowaniu atrybutów w poszczególnych dokumentach. Wiersze tej macierzy odpowiadają poszczególnym atrybutom dokumentów, zaś kolumny – samym dokumentom. Komórki macierzy
zawierać będą informacje o częstości wystąpień poszczególnych atrybutów w dokumentach. Macierz taką można rozłożyć za pomocą algorytmu SVD na iloczyn trzech
macierzy:
D = URV T
(4.22)
gdzie U T U = V T V = 1 n ; R = diag (σ 1 ...σ n ); σ i > 0 dla 1 ≤ i ≤ r ; σ j = 0 dla j ≥ r + 1 , r- rząd
macierzy D.
Wiersze macierzy U odpowiadają wierszom wejściowej macierzy D, i tym samym
poszczególnym atrybutom, zaś jej kolumny odpowiadają nowo wyprowadzonym czynnikom, czy też wymiarom, przy czym każda kolumna jest liniowo niezależna od pozostałych. Podobnie kolumny macierzy VT odpowiadają kolumnom macierzy wejściowej,
czyli dokumentom, zaś wiersze są wzajemnie liniowo niezależne. Macierz R jest macierzą diagonalną, której wartości reprezentują związek pomiędzy tymi wymiarami – w
tym wypadku pomiędzy wystąpieniami atrybutów w dokumentach.
Jedną z cech SVD jest to, że jeśli niektóre wymiary zostaną usunięte – t.j. jeśli pewne elementy macierzy R zamienić wartością 0, pozostawiając k elementów niezmienionych – to powstała macierz Rk będzie najlepszą możliwą aproksymacją macierzy wejściowej. W ten sposób, poprzez zmniejszanie liczby wymiarów, można wydobyć najbardziej podstawową strukturę wystąpień atrybutów, pozbawioną „szumu” wprowadzanego przez słowa używane w nietypowym dla nich kontekście.
69
5. Kategoryzacja dokumentów o bogatej strukturze
A great book should leave you with many
experiences.
Wiliam Styron
5.1 Specyfika repozytoriów dokumentów o bogatej strukturze
Jak to wspomniano we wstępie niniejszej pracy, praktycznie wszystkie istniejące
systemy kategoryzacji dokumentów bazują jedynie na ich zawartości tekstowej. Wraz
jednak z upowszechnieniem się sieci Internet, a w szczególności systemu WWW, istnieje potrzeba przetwarzania coraz większej liczby dokumentów, w których sam tekst
jest jednym z wielu nośników informacji. Dokumenty, przetwarzane we współczesnych
systemach informacyjnych, szczególnie tych przeznaczonych do użytku osobistego, takich jak edytory tekstu i systemy informacji osobistej, są dokumentami multimedialnymi. Zawierają bowiem często ilustracje, załączone obiekty - takie jak pliki dźwiękowe i video, wreszcie zaś całość dokumentu jest zwykle strukturalizowana poprzez stosowanie formatowania tekstu, paginacji i tak dalej. Dokument taki można przedstawiać
jako strukturę hierarchiczną, co przedstawiono na poniższym diagramie:
Tekst
Kroje pisma
Elementy medialne (obraz, dźwięk
itp.)
Osadzone
aplikacje
Hiperpołączenia z innymi dokumentami
Układ stron i paginacja
Rys. 10. Hierarchiczna struktura dokumentu multimedialnego
Ponadto w większości przypadków istnieje także dużą ilość metainformacji, dotyczących każdego dokumentu, które mogą nie być odzwierciedlone w jego zawartości
tekstowej. Dla przykładu – w repozytorium grupującym wiadomości poczty elektronicznej dostępne mogą być m.in. następujące metainformacje:
- adres nadawcy
- adres odbiorcy
- temat wiadomości
- data i czas wysłania
5. Kategoryzacja dokumentów o bogatej strukturze
W przypadku repozytorium dokumentów edytora tekstu mogą wystąpić nietekstowe
atrybuty, takie jak rozmiar pliku, data utworzenia, czas edycji czy wreszcie nazwa pliku.
Atrybuty takie mogą być pomocne dla systemu kategoryzacji, wystąpić mogą także
sytuacje, w których bez zastosowania powyższych informacji niemożliwe jest w ogóle
dokonanie poprawnego przyporządkowania nowego dokumentu do jednej z istniejących
w systemie klas. Przykładem tego rodzaju problemów jest porządkowanie poczty elektronicznej i gromadzenie odnośników do interesujących stron WWW.
5.1.1 Organizacja skrzynki poczty elektronicznej
Popularną metodą porządkowania poczty elektronicznej jest jej grupowanie w klasy.
Najczęściej spotykane struktury klas w takim systemie przedstawiają się podobnie jak
to zobrazowano poniżej:
Nadawca 1
Nadawca 3
Nadawca 2
Temat 1
Temat 2
Spam
Temat 3
Rys. 11. Typowe klasy w systemie poczty elektronicznej
Nadchodzące wiadomości grupowane są tu tematycznie, za wyjątkiem wiadomości
pochodzących od kilku, ściśle określonych, nadawców. Wiadomości od tych nadawców
grupowane są oddzielnie, niezależnie od tematu jakiego dotyczą.
O ile dokonanie automatycznej kategoryzacji wiadomości, które powinny zostać zaklasyfikowane do grup tematycznych jest zadaniem stosunkowo prostym, to nie jest już
tak w przypadku klas związanych z nadawcami. Być może zaawansowany system, korzystający z reprezentacji n-gramowej mógłby osiągnąć tu wysoki stopień precyzji,
dzięki identyfikacji charakterystycznego stylu osoby piszącej, nigdy nie będzie on jednak równy 100%. Tymczasem przeanalizowanie zaledwie jednego atrybutu, nie zawartego w treści tekstowej wiadomości – to jest adresu nadawcy – pozwala na dokonanie
bezbłędnego przyporządkowania wiadomości należącej do tych klas.
5.1.2 Gromadzenie odnośników do stron WWW
Sytuacja podobna do opisanej powyżej może mieć miejsce także w przypadku porządkowania adresów stron WWW. Współczesne przeglądarki WWW pozwalają na
szybkie zapisanie adresu aktualnie przeglądanej strony na liście stron „ulubionych”, a
71
5. Kategoryzacja dokumentów o bogatej strukturze
następnie na porządkowanie tej listy poprzez tworzenie kategorii stron. Przykładowa
lista takich kategorii może wyglądać następująco:
-
News
Programy telewizyjne
Ładne strony
Politechnika Warszawska
FAQ’s
Informacje finansowe
Trudno określić jedno kryterium, według którego dokonano tu klasyfikacji. Niektóre
z powyższych klas zawierać bowiem będą dokumenty powiązane tematycznie („News”,
„Programy telewizyjne”, „Informacje finansowe”), inne grupują strony o podobnym
formatowaniu czy też strukturze („Ładne strony”, „FAQ’s”), oraz o podobnie rozpoczynających się adresach URN („Politechnika Warszawska”), które poza tym nie mają
ze sobą nic wspólnego. Do wykonania automatycznej kategoryzacji niezbędne jest zatem wykorzystanie innych, atrybutów w każdym z tych przypadków. Dla klas tematycznych użyteczna będzie zawartość tekstowa i tytuł strony, dla klas grupujących podobnie formatowane dokumenty znaczniki HTML, wreszcie zaś dla ostatniej klasy wystarcza przeanalizowanie jedynie atrybutu, zawierającego adres strony.
W systemach, które służą do obróbki takich, multimedialnych dokumentów, niezbędne jest zatem uwzględnianie innych, niż tylko tekstowe atrybutów. Rodzi to jednak
problem, ponieważ algorytmy klasyfikacji, które sprawdzają się najlepiej w przypadku
tekstu, niekoniecznie będą optymalne dla pozostałych atrybutów. Dla atrybutów, które
przyjmują stosunkowo niewielką liczbę dyskretnych wartości, takich jak np. adresy
poczty elektronicznej, lub liczba hiperpołączeń wskazujących na daną stronę WWW,
najbardziej optymalne będzie zastosowanie drzewa decyzyjnego lub klasyfikatora bayesowskiego, które nie są efektywne w analizie tekstu.
Rozwiązaniem tego problemu może być zastosowanie kilku różnych algorytmów
klasyfikacji, z których każdy analizować będzie podzbiór wszystkich atrybutów danego
dokumentu, a następnie połączenie wyników ich działania.
5.2 Klasyczne metody łączenia kategoryzatorów
Stosowane dotychczas metody łączenia kategoryzatorów ograniczają się do prób
wykorzystywania różnych podzbiorów zbioru trenującego, do konstrukcji kilku kategoryzatorów tego samego typu, a następnie do łączenia wyników ich działania. Systemy
takie najczęściej określa się mianem „głosujących” (ang. voting), ponieważ łączenie
owo polega na wybraniu tej klasy, na którą wskazuje największa liczba spośród łączonych kategoryzatorów. Do najczęściej stosowanych wariantów tej strategii należą algorytmy bagging i boosting, omówione poniżej.
72
5. Kategoryzacja dokumentów o bogatej strukturze
5.2.1 Bagging
W metodzie tej29, za pomocą zbioru trenującego T={t1, t2, ..., tm}, i algorytmu klasyfikacji class() tworzony jest zbiór klasyfikatorów class*()={class1(), class2(), …,
classk()}, gdzie classi() jest klasyfikatorem wytrenowanym na próbce Ti wybranej losowo, ze zwracaniem, ze zbioru trenującego. Liczność poszczególnych próbek jest taka
sama jak liczność całego zbioru trenującego, toteż niektóre dokumenty będą powtarzać
się w zbiorach Ti, zaś niektóre nie będą w ogóle w nich reprezentowane.
Kategoryzacja nowego dokumentu x polega na dokonaniu jego analizy przez każdy
z klasyfikatorów ze zbioru class*(). Wynikiem tego działania jest zbiór identyfikatorów
I:{I1, ..., Ik}, I i ∈ K , gdzie K jest zbiorem identyfikatorów klas obecnych w systemie.
Identyfikator występujący najczęściej w zbiorze I wyznacza klasę do której należy
przyporządkować dokument x.
5.2.2 Boosting
Boosting jest rozszerzeniem powyższej metody, polegającym na zastąpieniu całkowicie losowego dobierania zawartości próbek Ti, takim algorytmem ich tworzenia,
dzięki któremu do kolejnych próbek wybieranych będzie więcej tych dokumentów, które są niepoprawnie klasyfikowane przez już utworzone klasyfikatory. Jednym z tego
rodzaju algorytmów jest algorytm AdaBoost [Freund, 1996].
Niech Pil będzie prawdopodobieństwem wybrania dokumentu dl ze zbioru trenującego do próbki Ti. Początkowo wartości tych prawdopodobieństw są takie same dla
wszystkich dokumentów ze zbioru trenującego :
P1l =
1
; m =| T |
m
(5.1)
Podczas uczenia kolejnych klasyfikatorów ze zbioru class*() prawdopodobieństwa
te są modyfikowane. W trakcie konstruowania zbioru Ti+1 obliczana jest najpierw suma
Si prawdopodobieństw tych dokumentów, które są niepoprawnie klasyfikowane przez
klasyfikator classi():
Si =
m
∑p
il
l :classi ( t l ) ≠ f ( t l )
(5.2)
gdzie f jest klasyfikacją empiryczną.
29
Dokładny opis bagging znajduje się m.in. w pracy [Breiman, 1996]
73
5. Kategoryzacja dokumentów o bogatej strukturze
Następnie obliczany jest współczynnik korekcji αi:
1
1− S 
i

α i = log
2
 Si 
(5.3)
Po czym prawdopodobieństwa wybrania dokumentów modyfikowane są następująco:
 p ⋅ e −α i ; ∀p il : class i (t l ) = f (t l )
p i +1,l =  il α
i
 p il ⋅ e ; ∀p il : class i (t l ) ≠ f (t l )
(5.4)
oraz normalizowane. W ten sposób następny algorytm klasyfikacji będzie uczony
przede wszystkim na tych dokumentach, które nie są poprawnie rozpoznawane przez
zbudowane poprzednio klasyfikatory.
Proces kategoryzacji nowego dokumentu x, jest podobny jak w przypadku metody
bagging, jednakże w tym przypadku stosowane jest ważenie głosów oddawanych przez
poszczególne klasyfikatory wartościami współczynników korekcji αi.
5.3 Hierarchiczne łączenie kategoryzatorów
Algorytmów klasycznych, które zostały omówione powyżej, nie można jednak zastosować do rozwiązania problemu kategoryzacji dokumentów o bogatej strukturze.
Wynika to z tego, iż łączone są w nich algorytmy korzystające z tych samych atrybutów
dokumentów.
Tymczasem w problemach przedstawionych w rozdziałach 5.1.1 i 5.1.2, zbiór atrybutów, które należy przeanalizować (a tym samym także rodzaj algorytmu, który muszą
być zastosowany) może się różnić, w zależności od klasy w systemie.
Nie można a priori zakładać, jaki typ atrybutów najlepiej nadaje się do analizy dokumentów, należących do poszczególnych klas w systemie – kategoryzator jest bowiem
systemem uczącym się i nie dysponuje inną wiedzą, poza zbiorem trenującym. Można
jednak zbudować system w taki sposób, by sam nauczył się, które atrybuty wykorzystywać – jest to bowiem także problem kategoryzacji. Niezbędne jest zatem zastosowanie dodatkowego algorytmu klasyfikacji, który decydować będzie o istotności wyników
poszczególnych kategoryzatorów w systemie, dla aktualnie badanego dokumentu.
Niech class1*()={class11(), class12(), …, class1k()} będzie zbiorem klasyfikatorów
dostępnych w systemie. Każdy z nich może wykorzystywać różne zestawy atrybutów
analizowanych dokumentów, mogą one także być zbudowane w oparciu o różne algorytmy klasyfikacji. Poszczególne klasyfikatory przygotowywane są w oparciu o pełny
zbiór trenujący T.
74
5. Kategoryzacja dokumentów o bogatej strukturze
Dany jest także klasyfikator wyższego poziomu class2(). Zbiorem trenującym T2 tego klasyfikatora są wyniki działania klasyfikatorów ze zbioru class1*() dla poszczególnych elementów zbioru T:
T2 = {t 21 , ...t 2 k ); t 2i = class1i (t i )
(5.5)
przy czym każdy element ze zbioru T2 w dalszym ciągu odpowiada pojedynczemu
dokumentowi ze zbioru T.
Jest to zatem klasyfikacja dwustopniowa. Klasyfikator class2() może być zrealizowany przy użyciu dowolnego, efektywnego algorytmu kategoryzacji, chociaż pożądane
byłoby zastosowanie takiego algorytmu, który daje wyniki łatwe w interpretacji - na
przykład prostego drzewa decyzyjnego.
Efektem działania klasyfikatora class2() jest przy tym – podobnie jak w przypadku
klasyfikatorów class*1() – identyfikator pojedynczej klasy w systemie. Można zatem
użyć kilku takich klasyfikatorów, konstruując zbiór class*2(), a następnie powiązać wyniki ich działania klasyfikatorem jeszcze wyższego poziomu class3(). Rozumowanie to
pozwala na zbudowanie drzewiastej struktury hierarchicznej klasyfikatorów, przy czym
grupowaniu podlegać mogą klasyfikatory operujące na podobnych rodzajach atrybutów, lub też takie, które np. korzystają z podobnych pośrednich etapów obliczeń i tym
samym powinny być uruchamiane jednocześnie.
Poniższy diagram prezentuje strukturę systemu kategoryzacji, służącego do porządkowania odnośników do stron WWW30, zbudowaną według powyższej metody. Drzewo decyzyjne drugiego poziomu grupuje tu wyniki kategoryzacji dokonanej przez dwa
różne klasyfikatory według atrybutów tekstowych dokumentów. Z kolei klasyfikator
bayesowski jest klasyfikatorem poziomu pierwszego, wybierającym klasę na podstawie
atrybutów numerycznych, takich jak objętość strony, czy gęstość sieci hiperpołączeń.
Końcowa decyzja podejmowana jest przez drzewo decyzyjne na poziomie trzecim.
System ten korzysta z atrybutów o wielu różnych typach, przy czym, dzięki zastosowaniu klasyfikatorów wyższych poziomów, nie ma potrzeby ręcznego dobierania algorytmów do poszczególnych klas.
Drzewo decyzyjne
Objętość dokumentu w KB
Drzewo decyzyjne
Klasyfikator NB
Długość URN w
znakach
Klasyfikator tek30 treści dokustowy
Patrz rozdział 5.1.2
mentów
Klasyfikator tekstowy fraz TITLE
Liczba hiperpołączeń wchodzących
Liczba hiperpołączeń wychodzących
75
5. Kategoryzacja dokumentów o bogatej strukturze
Rys. 12. Przykładowa struktura systemu kategoryzacji dokumentów WWW
W tego rodzaju strukturę można łączyć nie tylko algorytmy, korzystające z różnych
atrybutów, lecz także algorytmy korzystające z różnych podzbiorów zbioru trenującego,
tak jak ma to miejsce w metodzie bagging.
Wiele z algorytmów klasyfikacji podaje, poza samym identyfikatorem klasy, także
oszacowaną pewność dokonanej klasyfikacji. Informację taką można także wykorzystać
w systemie hierarchicznym, poprzez dodanie dodatkowego atrybutu numerycznego na
wyjściu klasyfikatorów najniższego poziomu, a który zawierać będzie znormalizowaną
wartość parametru pewności.
76
6. Propozycje zastosowań
There is a great satisfaction in building good tools for
other people to use.
Freeman Dyson
W początkowym okresie rozwoju NLP, automatyczna kategoryzacja dokumentów
postrzegana była jako technika specjalizowana, której obszar zastosowań ogranicza się
jedynie do porządkowania kolekcji dokumentów - takich jak biblioteki i zbiory informacji prawnych. Zadania takie, które określić można mianem „zastosowań klasycznych”, w dalszym ciągu pozostają istotne dla twórców systemów kategoryzacji, jednakże rozwój sieci Internet spowodował pojawienie się wielu nowych problemów, związanych z przetwarzaniem dokumentów, a dla których rozwiązania zastosowanie automatycznej klasyfikacji może być pomocne.
6.1 Zastosowania klasyczne
Klasyczne zastosowania systemów automatycznej kategoryzacji dokumentów związane są z problematyką zarządzania repozytoriami dokumentów. Repozytorium takie –
niezależnie od tego, czy jest to biblioteka, czy też zbiór dokumentów prawnych lub naukowych – musi posiadać logiczną strukturę, pozwalającą nie tylko na wyszukiwanie
poszczególnych dokumentów, lecz także na odnajdywanie dokumentów pokrewnych,
czy też wreszcie na ocenę kompletności zbioru dokumentów. W tym celu dokonywany
jest najczęściej podział tematyczny repozytorium, w którym poszczególne jego części
grupują publikacje o zbliżonym temacie.
O ile korzystanie z tak strukturalizowanego zbioru jest dość wygodne, o tyle jego
stworzenie może być zadaniem uciążliwym. Automatyczny system kategoryzacji może
być tutaj zastosowany bezpośrednio. W tym celu należy najpierw stworzyć projekt repozytorium, określając jakie grupy tematyczne dokumentów będą w nim występować.
Następnie należy ręcznie wybrać dokumenty najbardziej reprezentatywne dla każdej
grupy – tworząc tym samym zbiór trenujący systemu kategoryzacji, po czym dokonać
automatycznego przyporządkowania pozostałych dokumentów.
Oczywiście po wykonaniu powyższego procesu pewna liczba dokumentów zostanie
zaklasyfikowana błędnie – w zależności od jakości zastosowanego systemu kategoryzacji. Dlatego też niezbędne jest dokonanie ręcznego sprawdzenia powstałego repozytorium.
System kategoryzacji może być wykorzystywany nie tylko przy początkowym
strukturalizowaniu zbioru dokumentów, lecz także podczas jego pielęgnacji, która polega najczęściej na dodawaniu nowych dokumentów (rzadziej – nowych grup tematycznych). W takim przypadku można całą zawartość repozytorium potraktować jako
6. Propozycje zastosowań
zbiór trenujący. W tym przypadku także niezbędna jest ręczna kontrola wyników działania systemu, jednak dzięki zastosowaniu kategoryzatora osoba kontrolująca nie musi
nawet znać struktury repozytorium (w przeciwieństwie do eksperta, który dokonywałby
ręcznego przyporządkowania dokumentu), czyli tego jakie grupy tematyczne zostały w
nim zdefiniowane. Jej zadaniem jest bowiem jedynie sprawdzenie, czy tematyka dokumentu zgodna jest tematem przewodnim sugerowanej przez system grupy.
Kolejne zastosowanie systemów kategoryzacji, związane jest z identyfikacją autorów tekstów. Problem ten dotyczyć może całych dokumentów – gdy bądź to nie jest
dana informacja o autorze, lub też występuje podejrzenie plagiatu i tym samym konieczność weryfikacji posiadanej informację. Może także odnosić się do fragmentów
pojedynczego dokumentu, gdy na przykład niezbędne staje się stwierdzenie autorstwa
części dokumentu, sygnowanego przez wielu twórców.
Identyfikacja autora dokonana może być w analogiczny sposób, jak omówione powyżej przypisywanie dokumentów do grup tematycznych. Tym razem jednak zbiór trenujący składa się z klas, grupujących dokumenty stworzone przez poszczególnych autorów. Aby tak prowadzona identyfikacja mogła być efektywna muszą być spełnione
przynajmniej dwa warunki. Przede wszystkim, w repozytorium muszą znajdować się
już dokumenty utworzone przez autora, który napisał analizowany przez nas tekst –
stąd tego rodzaju analiza możliwa jest praktycznie jedynie w bardzo dużych zbiorach
dokumentów. Po drugie zaś pożądane jest zastosowanie n-gramowej lub pochodnej reprezentacji tekstu, by uwzględnić styl, charakterystyczny dla poszczególnych autorów.
6.2 Analiza korespondencji
Koniec XX wieku był niewątpliwie okresem renesansu sztuki epistolografii, choć
oczywiście w odmiennej od klasycznej formie, bowiem wykorzystującej pocztę elektroniczną. Wymiana informacji poprzez e-mail stała się już rutynową czynnością nie
tylko większości pracowników przedsiębiorstw, ale także i niekomercyjnych użytkowników Internetu.
Popularność ta jednak niesie ze sobą wiele problemów, z których najbardziej uciążliwym jest rosnąca w szybkim tempie liczba wiadomości, jakie docierają do skrzynki
pocztowej przeciętnego użytkownika sieci Internet. Otrzymywanie codziennie nawet
kilkudziesięciu wiadomości staje się powoli regułą.
Co gorsza, w wielu przypadkach duża część tej poczty to tak zwany spam – materiały reklamowe, rozsyłane jednocześnie do tysięcy odbiorców, które z punktu widzenia
pojedynczego użytkownika stanowią jedynie niepożądany szum informacyjny.
Pozbycie się tego rodzaju nieistotnych wiadomości jest zadaniem, które można zrealizować stosunkowo prosto przy wykorzystaniu systemu automatycznej kategoryzacji
dokumentów. Wiadomości typu spam, pomimo iż różnorodne tematycznie, (reklamujące bowiem różnego rodzaju produkty i usługi), mają jednak zwykle bardzo charakterystyczną strukturę, zawierając m.in. instrukcje usuwania adresów pocztowych z list
wysyłkowych, wiele liczb określających ceny produktów itp. Ich filtrowanie stanowi
typowy przykład kategoryzacji binarnej – system analizujący wiadomości, nadchodzące
78
6. Propozycje zastosowań
do skrzynki pocztowej użytkownika, decyduje o ich przynależności jedynie do dwóch
klas – wiadomości użytecznych i wiadomości typu spam. Zbiorem trenującym dla systemu może być tutaj dotychczasowa zawartość skrzynki pocztowej użytkownika, oczywiście pod warunkiem, iż uprzednio dokonywał on ręcznego usuwania niepożądanych
wiadomości. Istotny jest tu także fakt, iż wiadomość reklamowa pozostaje taką, niezależnie od odbiorcy do którego została skierowana. Dzięki temu możliwe staje się budowanie uniwersalnego zbioru trenującego dla klasy wiadomości typu spam, który następnie mógłby być wykorzystywany do uczenia systemów kategoryzacji działających
na rzecz wielu różnych użytkowników.
Nieco bardziej skomplikowany problemem stanowi wspomaganie użytkownika, w
sortowaniu nadchodzących wiadomości. Większość osób, korzystających z poczty elektronicznej, grupuje przychodzące wiadomości w kategorie – system kategoryzacji może
być zatem wykorzystany do automatyzacji tej czynności. Nie zawsze jednak kategorie
te związane są wyłącznie z tematyką wiadomości. Często użytkownicy tworzą np. katalogi do przechowywania korespondencji od określonych osób. Z tego też powodu dobre
wyniki może dać tutaj technika łączenia kategoryzatorów, opisana w poprzednim rozdziale.
Pokrewnym problemem jest profilowana dystrybucja informacji, która polega na
identyfikacji tych użytkowników, którzy mogą być potencjalnie zainteresowani nadchodzącymi do systemu pocztowego wiadomościami, a następnie na przekazaniu im
tych wiadomości. Zadanie to można rozwiązać poprzez wielokrotne stosowanie kategoryzatora binarnego dla każdego z użytkowników, przy czym każdy z nich musi dysponować odpowiednio bogatą bazą wiadomości, które określają jego profil zainteresowań.
System, dla każdego z użytkowników, podejmuje decyzję, czy nowa wiadomość należy
do tej samej kategorii, co dotychczas otrzymane wiadomości i tym samym czy należy ją
dostarczyć.
6.3 Śledzenie wydarzeń
Automatyczne śledzenie wydarzeń jest stosunkowo nowym zastosowaniem metod
kategoryzacji [Allan, 1998], [Yang, 1999], wywodzącym się w dużej mierze z militarnych badań nad pozyskiwaniem informacji szpiegowskich, z oficjalnie dostępnych materiałów prasowych przeciwnika. Problem zdefiniowany jest tu następująco: dane jest
pewne źródło informacji tekstowej, generujące materiały w porządku chronologicznym
(źródłem takim może być, na przykład, elektroniczny serwis agencji prasowej, takiej
jak Reuters Newswire). Zadaniem systemu jest identyfikacja opisów nowych wydarzeń,
jakie emitowane są przez źródło, a następnie śledzenie i gromadzenie kolejnych opisów
związanych z tym zdarzeniem. Dla przykładu – jeśli w świecie rzeczywistym dojdzie
do katastrofy lotniczej, serwis prasowy zapewne zamieści krótką notatkę o tym wydarzeniu, następnie zaś podawać będzie dodatkowe informacje (liczba ofiar, wyniki dochodzenia komisji itd.), z tym, że te dodatkowe informacje przedzielone mogą być dowolną liczbą wiadomości dotyczących innych, niepowiązanych tematycznie wydarzeń.
79
6. Propozycje zastosowań
Zadaniem systemu jest zidentyfikowanie pierwszej wiadomości, a następnie dołączanie
do niej kolejnych.
Jednym z możliwych rozwiązań tego zadania, jest potraktowanie go jako problemu
klasyfikacji. Każde z wydarzeń ze świata rzeczywistego może być reprezentowane
przez odpowiednią klasę w systemie kategoryzacji, do której przyporządkowywane są
kolejne, relewantne do wydarzenia, wiadomości. Każda zaklasyfikowana wiadomość
powiększa rozmiar zbioru trenującego dla danej klasy. Wyznacznikiem pojawienia się
nowego wydarzenia i tym samym konieczności utworzenia nowej klasy, jest trudność z
dokonaniem poprawnej klasyfikacji kolejnej nadchodzącej wiadomości, czyli niższe niż
dla dotychczasowych wiadomości prawdopodobieństwo przynależności do istniejących
klas, obliczone przez system.
Powyższy problem jest badany od niedawna, toteż brak tu jak do tej pory spektakularnych sukcesów badawczych. Dotychczasowe osiągnięcia (patrz m.in. [Yang, 1999])
wskazują jednak, iż istniejące algorytmy kategoryzacji mogą znaleźć tu zastosowanie,
przy stosunkowo drobnych ich modyfikacjach.
6.4 Zastosowania w sieci Internet
Większość procesów wyszukiwania informacji we współczesnej sieci Internet, może
być zaliczona do jednej z dwóch grup. Pierwsza z nich, wyszukiwanie stron (ang. page
search) zawiera te procesy, których celem jest odnalezienie pojedynczej, dobrze zdefiniowanej strony WWW (lub też, ogólniej, pojedynczego zasobu sieciowego). Przykładami takich procesów będą: poszukiwanie strony domowej kolegi, poszukiwanie oficjalnej strony konkretnej firmy lub też odszukanie publikacji naukowej przy użyciu jej
tytułu i nazwisk autorów.
Druga grupa, określana którą można określić mianem wyszukiwania informacji (ang.
information search) obejmuje zapytania nie odnoszące się do konkretnych dokumentów, czy też nawet do struktury sieci WWW. Celem tych zapytań jest odnalezienie informacji, bez względu na jej źródło czy też formę jej prezentacji. Przykładem może być
użycie zasobów WWW do odnalezienia informacji o planetach systemu słonecznego.
Możliwe, wartościowe rezultaty takiego wyszukiwania, mogą obejmować tak zróżnicowane obiekty jak dokumenty tekstowe zawierające informację statystyczną o charakterystykach planet, trójwymiarowe modele układu słonecznego stworzone przy wykorzystaniu języka VRML, plakat ze strony NASA ze zdjęciami planet i tak dalej.
Główną różnicę pomiędzy dwoma powyższymi typami procesów wyszukiwania
stanowi to, iż w przypadku wyszukiwania informacji sieć WWW jest traktowana jako
„czarna skrzynka”, czy też nawet autonomiczny system ekspertowy, natomiast w wyszukiwaniu stron struktura sieci jest istotna dla użytkownika.
Ponieważ, jak widać, istnieją różne podejścia do problemu ekstrakcji informacji z
sieci WWW, toteż powinny istnieć także różne interfejsy użytkownika, czy też różne
zestawy narzędzi, które wspomagałyby użytkowników w procesie konstrukcji zapytań i
w ocenianiu wyników wyszukiwania. Pierwszy zestaw narzędzi, przeznaczony dla celów wyszukiwania stron, powinien pozwalać na określanie charakterystyk dokumentów
80
6. Propozycje zastosowań
internetowych z możliwie największą precyzją. Drugi zestaw, wykorzystywany przy
wyszukiwaniu informacji, powinien wspomagać użytkownika w analizie możliwie bogatego zbioru zróżnicowanych zasobów internetowych. W pierwszym przypadku najistotniejszy jest system specyfikacji zapytań, w idealnym wypadku wynik wyszukiwania
zawierać tu będzie wyłącznie te strony, które zostały opisane przez użytkownika, w
związku z czym rola modułu prezentacji i obróbki wyniku wyszukiwania będzie niewielka. Dokładnie odwrotna sytuacja występuje natomiast przy wyszukiwaniu informacji.
Współczesne systemy wyszukiwawcze dają dość dobre możliwości konstruowania
zapytań do warstwy tekstowej dokumentów, jednak informacja czysto tekstowa nie jest
jedyną, jaka decyduje o postrzeganiu dokumentów multimedialnych, jakimi jest większość nawet prostych stron WWW. Równie istotny jest rodzaj strony – użytkownik może pamiętać, iż widział stronę domową swojego znajomego, nie będąc jednocześnie w
stanie sobie przypomnieć sobie jej tekstowej zawartości. Podobnie można poszukiwać
strony New York Times’a znając jedynie nazwę tej gazety i wiedząc, że chodzi o stronę
z wiadomościami prasowymi.
W wielu przypadkach możliwość specyfikowania typu strony mogłaby pozytywnie
wpływać na efektywność procesu wyszukiwania informacji. To zaś może zostać osiągnięte poprzez zastosowanie systemu kategoryzacji dokumentów. Nawet jeśli skonstruowany system pozwalałby jedynie na bardzo zgrubną kategoryzację, to i tak możliwość przyporządkowania danej strony do jednej z ogólnych klas, np. stron informacyjnych (ang. content delivering pages) i stron nawigacyjnych (ang. navigation pages)
mogłaby mieć duże znaczenie, dla wielu użytkowników.
Możliwość automatycznego przyporządkowania strony WWW, do jednej z uprzednio zdefiniowanych klas, może być wykorzystana nie tylko do bezpośredniego specyfikowania zapytań w systemach wyszukiwawczych i do obróbki wyników takiego zapytania. Możliwe są także inne zastosowania, z których do najciekawszych można zaliczyć systematyczną eksploatację zasobów sieciowych (ang. web farming), ukierunkowane automatyczne przeglądanie stron (ang. focused crawling) i wspomaganie przeglądania stron (ang. assisted browsing).
6.4.1 Web Mining oraz Web Farming
Nazwy Web Minig i Web Farming, odnoszą się do takich strategii wykorzystania
sieci Internet, w których traktowana jest ona jako repozytorium wiedzy. Web Mining
jest zbiorczym określeniem tych metod, w których analizowana jest struktura sieci
WWW, w celu pozyskania interesujących informacji o jej użytkownikach i sposobie jej
wykorzystania. Jest to technika, należąca do rodziny technik automatycznego odkrywania wiedzy w bazach danych (ang. knowledge discovery in databases) i podobnie jak
one wykorzystująca wiele różnych metod i algorytmów (w tym także algorytmów klasyfikacji).
Web Farming jest z kolei metodologią znacznie bardziej utylitarną, zaprojektowaną
do ciągłego wyszukiwania, monitorowania i obróbki źródeł informacji biznesowej dostępnych w sieci Internet, a istotnych z punktu widzenia przedsiębiorstwa. Technika ta,
81
6. Propozycje zastosowań
zaproponowana w 1998 roku przez R. Hackathorna [Hackathorn, 1999], opiera się na
wdrożeniu czterech podstawowych kroków: wyszukiwania, zbierania, analizowania i
dystrybucji informacji, mających na celu zwiększanie gęstości informacyjnej przekazywanych danych.
Gęstość inf.
Discover
Acquire
Analyze
Dissemi-nate
Internet
Rys. 13. Proces Web Farming
W wyniku tego procesu dane dostępne w sieci Internet zostają odnalezione, zebrane
i połączone ze sobą, a następnie przekazane tym pracownikom, którzy mogą ich najbardziej potrzebować.
Techniki automatycznej kategoryzacji dokumentów mogą być stosowane wielokrotnie w powyższym procesie. Szczególnie użyteczne stają się na etapie analizy i późniejszej dystrybucji informacji. Podczas analizy, system kategoryzacji może wspierać pracowników, przyspieszając strukturalizację dokumentów pozyskanych z sieci Internet, w
sposób opisany w rozdziale 6.1. Z kolei podczas dystrybucji, może być wykorzystany
do profilowanego rozsyłania informacji, o czym wspomniano w rozdziale 6.2.
6.4.2 Focused crawling i assisted browsing
Internet nie posiada centralnego ośrodka zarządzającego, który przechowywałby
m.in. informacje o lokalizacji wszystkich dokumentów dostępnych w sieci. Dlatego też
serwisy wyszukiwawcze, budując swoje indeksy, muszą wykorzystywać programyroboty (ang. crawlers), przeglądające strony WWW i podążające niejako za hiperpołaczeniami. Serwisy te, pomimo wysiłków zespołów projektowych i dużych nakładów
finansowych, nie są jednak w stanie nadążyć z indeksowaniem wciąż rosnących zasobów sieci. Wynika z tego rosnąca popularność osobistych narzędzi wyszukiwawczych,
które mają zastępować użytkownika w ręcznym przeglądaniu stron WWW, w poszukiwaniu interesujących go informacji.
Bezpośrednie zastosowanie crawlera do wyszukiwania konkretnych informacji nie
jest jednak zwykle możliwe. Wynika to z tego, iż graf połączeń systemu WWW jest
grafem gęstym – obecnie szacuje się, iż średnia długość dowolnej ścieżki w tym grafie
wynosi około 6. Klasyczny crawler, już po kilku chwilach swojej pracy, rozpocznie zatem obróbkę ilości danych niemożliwych do przechowania, i tym bardziej przetworze-
82
6. Propozycje zastosowań
nia, w klasycznym komputerze osobistym. Innymi słowy – crawler „rozpełznie się” po
wielu fragmentach sieci, z których tylko niektóre będą istotne dla użytkownika.
Należy zatem ograniczyć zakres poszukiwań takiego robota, starając się aby kolejne
przeglądane przezeń strony były zgodne, z zadanym tematem poszukiwań – proces taki
można by nazwać ukierunkowanym przeglądaniem stron. W tym celu należy wyposażyć crawler w system kategoryzacji, który dokonywałby analizy przeglądanych przezeń
stron. Strony zgodne z tematem poszukiwań (który w tym przypadku może być zadany
poprzez zbiór stron – przykładów, będącym zbiorem trenującym systemu kategoryzacji)
byłyby przez system ładowane i analizowane, po czym obecne w nich hiperpołączenia
służyłyby do ładowania następnych stron. Z kolei pobranie przez robota strony, która
uznana zostaje przez system kategoryzacji za niezgodną z tematem, wskazywałoby, iż
oddala się on od tych fragmentów sieci, które są relewantne dla celu poszukiwań. Należałoby w takim przypadku zaprzestać analizy kolejnych podstron, bądź natychmiast,
bądź też po pewnym czasie – w ciągu którego robot mógłby jeszcze ewentualnie powrócić w obręb interesującego dla użytkownika fragmentu zasobów sieciowych.
Podobne techniki można wykorzystywać także w procesie półautomatycznego przeglądania stron WWW, które można określić mianem assisted browsing. Chodzi tu o
udostępnienie użytkownikowi przeglądarki internetowej narzędzi, które w czasie poświęconym na odczytywanie przez człowieka zawartości strony WWW, analizowałyby
jej otoczenie w grafie hiperpołączeń. Analiza ta miałaby na celu odnalezienie stron podobnych do aktualnie przeglądanej strony a także do innych stron, które zainteresowały
użytkownika31. Dzięki temu system może sugerować użytkownikowi, jakie kolejne
strony mogą być dla niego użyteczne. Zastosowanie systemu kategoryzacji jest tu
oczywiste – jest to problemem kategoryzacji binarnej; zbiór trenujący stanowią te strony, przy przeglądaniu których użytkownik spędził najwięcej czasu (lub które oznaczył
jako szczególnie interesujące), zaś kategoryzacji poddawane są strony powiązane hiperpołączeniami z aktualnie przeglądanym dokumentem.
31
To, czy dana strona była interesująca, można oszacować m.in. dzięki analizie ilości czasu, poświeconego na
przeglądanie jej zawartości przez użytkownika.
83
7. Wyniki eksperymentów
Argument is conclusive but it does not remove doubt, so
that the mind may rest in the sure knowledge of the truth,
unless it finds it by the method of experiment.
Roger Bacon
Wybrane metody, zaproponowane w niniejszej pracy, zostały zweryfikowane eksperymentalnie. Głównym celem przeprowadzonych badań było porównanie efektywności
nowych reprezentacji i metod ich obróbki, z powszechnie stosowanymi, nie zaś stworzenie uniwersalnego systemu kategoryzacji dokumentów. Niemniej jednak oprogramowanie, które powstało jako system eksperymentalny, może być także wykorzystywane w zastosowaniach praktycznych.
7.1 Opis systemu
Zaimplementowany system CLASSLIB, może dokonywać kategoryzacji rozłącznej
dokumentów tekstowych. System wykorzystuje algorytm kategoryzacji Rocchio, którego opis zawarto w Dodatku A2.1. Algorytm ten wybrano ze względu na prostotę działania, dzięki czemu stosowane reprezentacje mają bezpośredni wpływ na wyniki działania całego systemu. Jednocześnie, jak to wykazano m.in. w pracy [Yang, 1998], jest
to algorytm pozwalający osiągnąć, w zastosowaniach tekstowych, lepsze wyniki od innych popularnych algorytmów, takich jak sieci neuronowe i klasyfikatory Bayesa.
Podczas kategoryzacji dokumentów możliwe jest wykorzystanie reprezentacji unigramowych, bigramowych, γ-gramowych i pozycyjnej (w ograniczonym zakresie), oraz
przeprowadzanie ich obróbki. System jest także w stanie dokonać generacji prostych
streszczeń dokumentów i ich grup.
Moduł filtra tekstu, pozwala na uwzględnienie atrybutów nietekstowych w procesie
kategoryzacji (np. tagów HTML), a także na dołączanie dodatkowych parserów i
stemmerów. System wyposażono w moduł eksportu danych, pozwalający na implementację kategoryzatorów hierarchicznych, oraz moduł testujący, służący do automatyzacji
obliczania wskaźników jakości dokonywanej kategoryzacji.
Opis techniczny systemu zawiera dodatek A.3.
7.2 Badane kolekcje dokumentów
W większości przeprowadzonych eksperymentów korzystano z dwóch zbiorów dokumentów32. Pierwszym z nich był popularny zbiór McCallum newsgroups, zawierają32
Zastosowane repozytoria dostępne są w sieci WWW, pod adresem [W6].
7. Wyniki eksperymentów
cy 2000 dokumentów wybranych z dwudziestu forów dyskusyjnych sieci USENET.
Przy tworzeniu zbiorów trenującego i testowego posłużono się losowym doborem dokumentów, do każdej z tych dwóch grup, przy czym ustalono, iż będą one równoliczne.
Objętość danych wyniosła 4.8MB tekstu ASCII. W systemie zdefiniowano następujące
klasy:
Klasa
alt.atheism
rec.autos
rec.sport.baseball
soc.religion.Christian
sci.crypt
sci.electronics
misc.forsale
comp.graphics
talk.politics.guns
comp.sys.ibm.pc.hardware
comp.sys.mac.hardware
rec.sport.hockey
sci.med
talk.politics.mideast
comp.os.ms-windows.misc
talk.politics.misc
talk.religion.misc
rec.motorcycles
sci.space
Comp.windows.x
Objętość (KB)
137
87
101
170
103
94
73
216
121
83
85
100
152
147
147
134
135
83
149
148
Tabl. 9. Kategorie zdefiniowane w repozytorium newsgroups
Drugą zastosowaną kolekcją było, często wykorzystywane w badaniach Text Mining, repozytorium Reuters-21578, z którego wybrano 1300 dokumentów, pochodzących z następujących, najliczniejszych grup tematycznych:
Klasa
ACQ
CRUDE
EARN
GNP
Objętość (KB)
86
128
54
123
85
7. Wyniki eksperymentów
GOLD
GRAIN
INTEREST
MONEY-FX
MONEY-SUPPLY
SHIP
SUGAR
TRADE
VEG-OIL
91
100
131
105
78
111
130
155
58
Tabl. 10. Kategorie wybrane z repozytorium Reuters-21578
Każdy dokument przypisano do pojedynczej grupy, w przypadkach w których w repozytorium dokument posiada więcej niż jeden identyfikator klasy, dokonano przyporządkowania losowego. Zastosowano podział na zbiór trenujący i testowy zwany podziałem ModApte [Apte, 1998]. Sumaryczna objętość tekstów zawartych w kolekcji
wyniosła 2MB tekstu ASCII.
Wyniki przeprowadzonych eksperymentów oceniano, stosując zarówno wskaźnik
precyzji jak i zupełności, obliczane metodą makro-uśredniania. Są to wskaźniki najbardziej użyteczne w zastosowaniach praktycznych, pozwalają także na bezpośrednie obliczenie miary Rijsbergena, która dość dobrze odpowiada ludzkiej, subiektywnej ocenie
jakości kategoryzacji.
Wszystkie eksperymenty przeprowadzono na komputerze z procesorem Pentium III
450 Mhz i pamięcią operacyjną 256 MB, wyposażonym w system operacyjny Microsoft
Windows 2000 Server.
Obie kolekcje dokumentów przedstawiają zróżnicowany poziom trudności kategoryzacji, dla poszczególnych klas. Poniższe ilustracje obrazują wyniki działania systemu,
dla każdej kasy osobno. Zastosowano tu prostą reprezentację unigramową częstościową
bez skalowania i nie dokonywano ograniczania jej wielkości.
86
7. Wyniki eksperymentów
newsgroups unigram
1
Precision
Recall
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
2
4
6
8
10
12
14
16
18
20
Kategoria
Rys. 14. Jakość kategoryzacji dla klas zbioru unigram33
Wartość precyzji obliczona dla całego zbioru wyniosła 0.584, zaś wartość zupełności 0.531.
Reuters unigram
1
0.9
0.8
Precision / Recall
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
Precision
Recall
2
4
6
8
10
12
Kategoria
Rys. 15. Jakość kategoryzacji dla klas zbioru Reuters
33
Na wykresie tym posortowano kategorie, według wzrastającej wartości precyzji.
87
7. Wyniki eksperymentów
7.3 Wybór atrybutów
W powyższych przykładach, średnie wartości precyzji i zupełności wynoszą około
50 procent. System taki może być już zatem użyteczny w praktyce. Skonstruowane reprezentacje charakteryzują się jednak bardzo wysoką liczbą atrybutów – ponad 30 tysięcy dla zbioru newsgroups, oraz 25 tysięcy dla zbioru Reuters.
Podjęto zatem próbę zastosowania funkcji oceniających atrybuty, w celu zmniejszenia wielkości reprezentacji. Eksperyment ten przeprowadzono na zbiorze newsgroups
stosując zarówno reprezentację unigramową częstościową jak i binarną. Jako funkcję
oceniającą przyjęto wartość term frequency:
newsgroups TF global trim
0.7
binary precision
binary recall
freq. precision
freq. recall
0.6
Precision / Recall
0.5
0.4
0.3
0.2
0.1
0
1
10
100
1000
10000
100000
Attributes
Rys. 16. Ograniczanie rozmiaru reprezentacji funkcją oceniającą
Drastyczne ograniczenie rozmiaru reprezentacji, poniżej stu atrybutów, powoduje znaczące pogorszenie jakości kategoryzacji. Wraz ze wzrostem liczby słów, wartości
wskaźników precyzji i zupełności rosną, osiągając nawet poziom wyższy, niż dla pełnej
reprezentacji. Efekt ten jest najprawdopodobniej związany z usunięciem większości
słów hapax legomena. Poprzez ograniczenie przestrzeni atrybutów, uzyskano zatem nie
tylko wzrost wydajności systemu, ale także poprawę jakości jego działania.
Jakość kategoryzacji, dla reprezentacji binarnej, okazuje się jednocześnie gorsza, niż
dla bogatszej reprezentacji częstościowej, jednak widoczne jest to jedynie dla stosunkowo niewielkiej liczby atrybutów.
88
7. Wyniki eksperymentów
Alternatywną metodą ograniczania wielkości reprezentacji jest wybór atrybutów,
najlepiej różnicujących dokumenty ze względu na klasę, do której należą. Wyniki porównania efektywności tej metody (wybrano miarę Information Gain Quinlana) z
funkcją oceniającą term frequency obrazują poniższe wykresy:
newsgroups trim
0.9
IG precision
IG recall
TF precision
TF recall
0.8
Precision / Recall
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1
10
100
1000
10000
100000
Attributes
Rys. 17. Porównanie efektywności algorytmów ograniczających – newsgroups
Reuter trim
0.8
IG precision
IG recall
TF precision
TF recall
0.7
Precision / Recall
0.6
0.5
0.4
0.3
0.2
0.1
1
10
100
1000
10000
100000
Attributes
Rys. 18. Porównanie efektywności algorytmów ograniczających – Reuters
Wybór atrybutów oparty na wartości miary IG prowadzi do lepszych wyników, w
obu zbiorach testowych. Co istotne, dla zbioru newsgroups, najlepsze wyniki osiągane
są dla stosunkowo niewielkiej liczby około stu atrybutów.
89
7. Wyniki eksperymentów
7.4 Skalowanie atrybutów
Zastosowanie miary IG, do ograniczania wielkości reprezentacji, nie oznacza, iż
funkcje oceniające oparte na zliczaniu częstości atrybutów w dokumentach, nie mogą
być także wykorzystane w systemie. Ponieważ podają informację, o istotności atrybutów w poszczególnych dokumentach, toteż mogą być zastosowane jako funkcje skalujące wartości atrybutów.
Poniższy rysunek przedstawia wynik zastosowania funkcji skalującej tfnnn:
newsgroups unigram TF/IDF scaling
0.95
no scaling precision
no scaling recall
TF/IDF precision
TF/IDF recall
0.9
Precision / Recall
0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
1
10
100
1000
10000
100000
Attributes
Rys. 19. Skalowanie atrybutów współczynnikiem TF/IDF
Jakość kategoryzacji uległa tu znaczącej poprawie, choć nie dla wszystkich rozmiarów reprezentacji. Istotne jest to, iż najlepsze wyniki osiągane są dla stosunkowo niewielkiej liczby atrybutów.
W pracy zaproponowano także wykorzystanie funkcji oceniających do budowy prostych streszczeń dokumentów. Wykonane eksperymenty wskazują, iż metoda ta jest
efektywna (możliwa jest jednak jedynie subiektywna ocena jakości wyników), choć
oczywiście budowane streszczenia ograniczają się do listy słów kluczowych, wybranych z treści danego dokumentu.
Poniżej przedstawiono przykłady streszczeń, zbudowanych przy wykorzystaniu
funkcji z rodziny term frequency.
Dokument ze zbioru Reuters:
90
7. Wyniki eksperymentów
Some 7,000 black workers returned
to work after staging one-day strikes at two mines on Monday,
the National Union of Mineworkers and the companies that own
the mines said.
About 6,000 miners resumed work at the Grootvlei gold mine
east of Johannesburg after protesting the transfer of
colleagues to other jobs at the same mine, owners General
Mining Union Corp Ltd. said.
The union said about 1,000 mineworkers at a new coal
facility owned by Anglo American Corp of South Africa Ltd
also returned to their jobs on Tuesday.
The workers at Anglo's Vaal Colliery south of Johannesburg
had struck to protest the alleged refusal of officials of the
South African homeland of Transkei to allow miners to attend a
funeral in the homeland, a union spokesman said.
Słowo kluczowe
Wskaźnik istotności
funeral
protesting
anglo
miners
colliery
grootvlei
mineworkers
staging
vaal
transkei
homeland
0.100782
0.100782
0.135226
0.151811
0.270453
0.270453
0.270453
0.270453
0.270453
0.405679
0.540905
Tabl. 11. Słowa kluczowe – dokument z kolekcji Reuters
Dokument ze zbioru newsgroups:
My Honda Accord just hit the magic 100,000 mile mark and now
all sorts of things are beginning to go bad. The latest problem
I am experiencing is with my brakes. They still stop the
car fine, but once I am stopped completely, my brake pedal
will sink another 2 or 3 inches all by itself. If feels really
strange, and I am worried my brakes will quit working one of
these days.
I checked my brake fluid, and the reservoir was full, but the
fluid itself looked really dirty (like dirty oil). I called
my mechanic and he told me I need a new brake master cylinder,
which will cost me a whopping $250-300.
You are not alone. My '79 Honda Accord with 110,000 miles on it started
showing the same behavior.
I replaced the brake master cylinder myself. It took about an hour and cost
about $45. Sure beats paying $300 to have someone else do it! If I wanted to
rebuild my own master cylinder instead of putting in a rebuilt one, it would
have cost only $20 to $30 for the rebuild kit.
91
7. Wyniki eksperymentów
The Honda brake master cylinder is easy to get to. Two bolts attach it to the
engine compartment. Two brake lines enter the master cylinder. The tricky
part was that the brake lines were stuck tight. My Craftsmen open end wrench
rounded off the bolt heads! I had to use Vise Grips to loosen those suckers.
Wow! Best invention since sliced bread. After that it was very easy. Bolt
the new part in place, add new brake fluid, and bleed the brakes.
This is quite easy even for a beginner. My local auto parts store had a repair
manual for the Honda Accord; it had detailed diagrams of the master brake
cylinder and a step-by-step procedure for replacing it.
Słowo kluczowe
Wskaźnik istotności
fluid
honda
bolts
craftsmen
loosen
suckers
vise
whopping
brake
accord
cylinder
0.100498
0.139795
0.167496
0.167496
0.167496
0.167496
0.167496
0.167496
0.239648
0.334992
0.503132
Tabl. 12. Słowa kluczowe – dokument z kolekcji newsgroups
7.5 Reprezentacje oparte na modelu Markowa
Kolejne wykonane eksperymenty, miały na celu sprawdzenie efektywności reprezentacji, w których przechowywane są sekwencje słów.
Wykorzystanie pełnej reprezentacji bigramowej, połączonej z reprezentacją unigramową (poprzez dodanie atrybutów reprezentujących sekwencje dwóch słów, do zbudowanej uprzednio reprezentacji unigramowej) prowadzi do wzrostu wartości precyzji i
zupełności, osiąganych przez system kategoryzacji. Dla obu reprezentacji zastosowano
skalowanie atrybutów, zaś ograniczanie wielkości zrealizowano przy zastosowaniu
miary Quinlana.
92
7. Wyniki eksperymentów
unigram vs s-gram, newsgroups
1
s-gram precision
s-gram recall
unigram precision
unigram recall
0.9
Precision / Recall
0.8
0.7
0.6
0.5
0.4
0.3
1
10
100
1000
10000
100000
Attributes
Rys. 20. Połączenie reprezentacji bigramowej z unigramową34
Jak to pokazuje powyższy wykres, reprezentacja ta jest bardzo efektywna. Niestety,
wysoka jakość kategoryzacji okupiona została powolnością procesu skalowania i ograniczania rozmiaru, co wynika z bardzo dużej wyjściowej liczby atrybutów. Związane z
tym jest także duże zapotrzebowanie na pamięć operacyjną. Nie ma to co prawda znaczenia w procesie kategoryzacji nowych dokumentów (po usunięciu nieistotnych atrybutów, rozmiar reprezentacji może być taki, jak dla reprezentacji unigramowej), jednak
powoduje znaczne wydłużenie fazy uczenia systemu. Czynniki te mogą utrudniać praktyczne zastosowanie testowanej reprezentacji.
W pracy zaproponowano reprezentację γ-gramową, jako reprezentację łączącą zalety
reprezentacji unigramowych (niewielki rozmiar) i n-gramowych. Przeprowadzono testy
tej reprezentacji dla poziomów maxlev równych 2, 3 oraz 4. Do wybierania atrybutówkandydatów posłużono się funkcją tflln oraz funkcją Information Gain. Wyniki przedstawiono na kolejnych dwóch rysunkach, oddzielnie dla wartości precyzji i zupełności.
34
W pewnym sensie jest to reprezentacja γ-gramowa poziomu drugiego, w której zastosowana funkcja oceniająca jest stała.
93
7. Wyniki eksperymentów
s-gram precision comparison, newsgroups
1
maxlev=2
maxlev=3
maxlev=4
bigram
0.95
Precision
0.9
0.85
0.8
0.75
0.7
0.65
10
100
1000
10000
100000
Attributes
Rys. 21. Porównanie reprezentacji bigramowej i γ-gramowych, precyzja
s-gram recall comparison, newsgroups
1
maxlev=2
maxlev=3
maxlev=4
bigram
0.95
Recall
0.9
0.85
0.8
0.75
0.7
0.65
10
100
1000
10000
100000
Attributes
Rys. 22. Porównanie reprezentacji bigramowej i γ-gramowych, zupełność
94
7. Wyniki eksperymentów
Wyniki eksperymentu wskazują, iż zwiększanie długości sekwencji przechowywanych w reprezentacji, prowadzi do polepszenia jakości kategoryzacji – nie są to jednak
zmiany duże. Niemniej jednak, reprezentacja γ-gramowa daje wyraźnie lepsze wyniki,
od połączonej reprezentacji bigramowej i unigramowej, dla niewielkich i średnich
rozmiarów przestrzeni atrybutów.
Przeprowadzono także eksperyment, z zastosowaniem reprezentacji γ-gramowej, dla
poziomu maxlev o wartości 4, na zbiorze Reuters.
bigram vs s-gram, Reuters
0.85
0.8
0.75
Precision / Recall
0.7
0.65
0.6
0.55
0.5
0.45
maxlev=4 precision
maxlev=4 recall
bigram precision
bigram recall
0.4
0.35
1
10
100
1000
10000
100000
Attributes
Rys. 23. Porównanie reprezentacji bigramowej i γ-gramowej, zbiór Reuters
Widoczna jest przewaga nad reprezentacją bigramową, szczególnie w odniesieniu
do wskaźnika zupełności.
7.6 Kategoryzacja poczty elektronicznej
Eksperyment ten miał na celu sprawdzenie przydatności metody łączenia kategoryzatorów, opisanej w rozdziale piątym rozprawy. Podjęto decyzję o przeprowadzeniu
testu na kolekcji dokumentów, będącej wycinkiem skrzynki poczty elektronicznej autora. Skrzynka pocztowa zawierała przy tym korespondencję, zarówno w języku polskim,
jak i angielskim. Klasy systemu zdefiniowane były przez poszczególne katalogi, służące do ręcznego porządkowania nadchodzącej poczty:
Kategoria
Opis
95
7. Wyniki eksperymentów
DLABRATA
PROF
PHDSTUDENT
INNE
Korespondencja brata autora
Listy od promotora oraz od kierownika grupy KDD PW
Wiadomości nadsyłane przez innych doktorantów
Pozostała korespondencja
Tabl. 13. Kategorie wykorzystane przy porządkowaniu poczty elektronicznej
Zbudowano prosty system hierarchiczny, w którym drzewo decyzyjne ID335 dokonywało analizy dwóch atrybutów, dla każdej wiadomości. Pierwszym atrybutem był
wynik działania kategoryzatora tekstowego, wykorzystującego reprezentację γgramową. Drugi atrybut stanowił natomiast adres pocztowy nadawcy listu.
W poniższej tabeli przedstawiono wyniki działania systemu hierarchicznego oraz,
dla porównania, wskaźniki kategoryzacji dla samego kategoryzatora tekstowego.
System
Precyzja
Zupełność
Hierarchiczny
Tylko tekstowy
0.6015
0.5580
0.6375
0.5750
Tabl. 14. Porównanie kategoryzatorów hierarchicznego i tekstowego
Poprawa jakości kategoryzacji, występująca w systemie hierarchicznym, wynika z
wykorzystania informacji o nadawcy wiadomości, w listach które powinny zostać przyporządkowane do kategorii PROF i PHDSTUDENT.
7.7 Kategoryzacja dokumentów według ich formatowania
Kolejnym wykonanym eksperymentem była próba kategoryzacji dokumentów
HTML, na podstawie ich formatowania. Przygotowano niewielki zbiór plików, podzielony na trzy następujące kategorie:
-
PAPERS
LISTS
PRESS
– publikacje naukowe
– listy adresów WWW i dokumenty FAQ
– strony gazet
Dokumenty zawarte w poszczególnych kategoriach, pochodziły ze stron WWW,
pobranych zarówno z angielsko, jak i polskojęzycznych zasobów sieciowych.
Poniższy rysunek przedstawia miniatury niektórych stron WWW, pochodzących z
tego zbioru.
35
Wykorzystano oprogramowanie do budowy drzew decyzyjnych autorstwa Christiana Borgelta [W8].
96
7. Wyniki eksperymentów
PAPERS
LISTS
PRESS
Rys. 24. Kategorie różnie formatowanych dokumentów HTML
Dokumenty, należące do zbiorów trenującego i testowego, poddano obróbce metodą, opisaną w rozdziale 3.3 rozprawy, dokonując transformacji kodów języka HTML
oraz usunięcia zawartości tekstowej. Do kategoryzacji wykorzystano reprezentację pozycyjną, z trzykolumnową macierzą M. Zastosowano niewielki zbiór testowy, zawierający po dziesięć dokumentów z każdej kategorii. Wyniki działania systemu przedstawia
poniższa tabela.
Klasa
Precyzja
Zupełność
PAPERS
LISTS
PRESS
0.9
0.642857
1
0.9
0.9
0.6
Widoczna jest szczególnie dobra jakość kategoryzacji dla klasy PAPERS. Wynika
to zapewne z tego, iż dokumenty wchodzące w jej skład – czyli artykuły naukowe – są
formatowane według jednego schematu, co nie jest prawdą, w przypadku dokumentów
należących do pozostałych dwóch kategorii.
97
7. Wyniki eksperymentów
7.8 Wnioski
Wykonane eksperymenty potwierdzają tezę, przedstawioną w rozdziale. 1.4.2. Zastosowanie reprezentacji bigramowych i γ-gramowych w systemie eksperymentalnym
doprowadziło do poprawy, w niektórych przypadkach bardzo znaczącej, jakości pracy
systemu. Wykazano także, iż zastosowanie metod skalowania i wyboru atrybutów jest
pożyteczne36.
Próby kategoryzacji dokumentów, zawierających informacje nietekstowe, zakończone zostały powodzeniem, wykazując przydatność proponowanych w pracy metod.
Problematyka ta wydaje się szczególnie obiecująca. Wydaje się, iż możliwa jest dalsza
poprawa działania tego rodzaju kategoryzatorów, co będzie przedmiotem dalszych prac
autora
Jako ostatni eksperyment przeprowadzono porównanie stworzonego przez autora
systemu CLASSLIB, z komercyjnym pakietem IBM Intelligent Miner for Text v2.1,
zawierającym m.in. moduł kategoryzatora tekstu. Zastosowano ten sam podzbiór kolekcji Reuters, który wykorzystywany był w pozostałych eksperymentach.
System firmy IBM jest szybszy od CLASSLIB, jednak – jak to pokazuje poniższa
tabela – osiąga gorsze wyniki. Trzeba przy tym pamiętać, iż sam algorytm klasyfikacji
zastosowany w CLASSLIB, nie należy do najefektywniejszych; ponadto system stworzony przez autora jest niezależny od języka, w przeciwieństwie do kategoryzatora zawartego w pakiecie Intelligent Miner for Text.
System
Precyzja
Zupełność
CLASSLIB, γ-gram, maxlev=4
IBM Intelligent Miner 2.1
0.8321
0.8154
0.8000
0.8078
Tabl. 15. Porównanie jakości kategoryzatorów IBM i CLASSLIB – Reuters
36
Otwartym pozostaje jednak problem doboru optymalnej liczby atrybutów, maksymalizującej jakość działania systemu dla konkretnej kolekcji dokumentów.
98
8. Podsumowanie
Life is the art of drawing sufficient conclusions from insufficient premises.
Samuel Butler
W niniejszej pracy przeanalizowano problematykę automatycznej kategoryzacji dokumentów tekstowych. Znajduje się ona niejako na pograniczu dwóch dziedzin: uczenia maszynowego – jako technika automatycznej kategoryzacji, oraz przetwarzania języka naturalnego – ponieważ operuje na danych tekstowych. Tym samym może wykorzystywać zarówno klasyczne techniki przetwarzania tekstu, takie jak gramatyczna analiza języka, jak i podejście czysto statystyczne, charakterystyczne dla innych zastosowań technik odkrywania wiedzy w bazach danych.
Praca zawiera rozbudowany wstęp, przedstawiający aktualny stan badań nad analizą
i przetwarzaniem języka naturalnego, ze szczególnym uwzględnieniem podejścia statystycznego.
Główną część pracy stanowią rozdziały poświęcone problematyce tworzenia i przetwarzania reprezentacji dokumentów tekstowych. Sam problem kategoryzacji danych
jest bowiem dość dobrze zbadany, dzięki czemu istnieje stosunkowo wiele uniwersalnych algorytmów klasyfikacji. Specyfika danych tekstowych wymaga jednak stworzenia reprezentacji dokumentów, które mają być poddane klasyfikacji, a która możliwa
byłaby do bezpośredniego zastosowania w tych algorytmach.
W pracy opisano zarówno najczęściej wykorzystywane, unigramowe reprezentacje
tekstu, oraz zaproponowano nowe, takie jak:
- reprezentacje n-gramowe i γ-gramowe, zachowujące informację o częstości występowania sekwencji wyrazów w dokumentach,
- reprezentację pozycyjną, zachowującą informację o miejscu wystąpień poszczególnych wyrazów w dokumentach.
Ponadto opisano metody przetwarzania reprezentacji tekstu. Metody te podzielono
na dwie grupy, z których jedna obejmuje techniki rozszerzania reprezentacji, zaś druga
– ich zawężania, to jest wybierania tylko najbardziej istotnych elementów. Jako alternatywę do wybierania poszczególnych elementów zaproponowano także techniki grupowania atrybutów reprezentacji, w celu zmniejszenia jej złożoności.
W pracy przeanalizowano także problem kategoryzacji takich dokumentów, które
zawierają dodatkowe atrybuty nietekstowe. Zaproponowano metodę kategoryzacji dokumentów HTML na podstawie ich formatowania, oraz metodę łączenia klasyfikatorów, w celu uwzględnienia dyskretnych atrybutów nietekstowych w procesie kategoryzacji.
Wykonane eksperymenty pokazują, iż zastosowanie zaproponowanych metod pozwala bądź to na zwiększenie efektywności istniejących algorytmów kategoryzacji,
bądź na konstrukcję bardziej uniwersalnych, od dotychczas stosowanych, systemów.
8. Podsumowanie
Automatyczne systemy kategoryzacji mogą mieć wiele zastosowań. Rozdział szósty
niniejszej pracy podaje kilka przykładów wykorzystania takich systemów: do zarządzania zbiorami dokumentów, analizy poczty elektronicznej, śledzenia zdarzeń czy też poszukiwania informacji w sieci Internet. Należy przy tym zaznaczyć, iż pomimo wielu,
czasem spektakularnych osiągnięć badawczych, dla większości z podanych zastosowań
nie opracowano jak do tej pory oprogramowania, które dostępne byłoby w normalnych
sieciach sprzedaży. W chwili obecnej nie istnieją systemy kategoryzacji tekstu, które
zwykły użytkownik komputera mógłby zakupić w sklepie. Co więcej, nawet dla klientów korporacyjnych, praktycznie jedynym dostępnym pakietem tego rodzaju jest, niezwykle kosztowny i wymagający sporych zasobów sprzętowych, Intelligent Miner for
Text firmy IBM. Powoduje to, iż nawet w dużych systemach, takich jak internetowe
systemy wyszukiwawcze, bardzo rzadko korzysta się z automatycznej kategoryzacji
dokumentów.
Przygotowując niniejszą rozprawę zweryfikowano możliwość dokonywania efektywnej kategoryzacji dokumentów o bogatej strukturze, w oparciu o ich atrybuty nietekstowe (metainformacje, formatowanie). Wyniki eksperymentów wskazują, iż opracowanie łatwego w obsłudze, uniwersalnego i stosunkowo niedrogiego systemu kategoryzacji, który mógłby być uruchamiany na zwykłych komputerach osobistych i wykorzystywany do wspomagania obróbki dokumentów internetowych, jest możliwe. Badania tego rodzaju systemów będą przedmiotem dalszych prac autora, w których można
wyróżnić następujące planowane obszary badań:
-
hybrydowa kategoryzacja dokumentów HTML na podstawie zawartości tekstowej, formatowania i dodatkowych atrybutów numerycznych,
budowa systemów wspomagających wyszukiwanie informacji w sieci WWW,
wykorzystujących powyższe metody kategoryzacji,
budowa osobistych systemów kategoryzacji, działających na platformach sprzętowych o ograniczonych zasobach, takich jak komputery przenośne i telefony
UMTS.
100
9. Literatura
[Ahonen, 1999] Ahonen H., Heinonen O., Klementinen M., Verkano I., “Applying
Data Mining Techniques in Text Analysis“, University of Helsinki, 1999
[Allan, 1998]Allan J., Papka R., Lavrenko V., “On-line new event detection and
tracking”, ACM SIGIR Conference on Research and Development in Information
Retrieval, New York, 1998
[Apte, 1998] Apte C., Damerau F., Weiss S., “Text Mining with Decision Rules and
Decision Trees“, T.J. Waton Research Center, 1998
[Apte, 1999] Apte C., et al, ”Maximizing Text-Mining Performance”, IEEE Intelligent Systems, July/August 1999, p.3-8, 1999
[Baker, 1998] Baker D., McCallum A., ”Distributional Clustering of Words for Text
Classification”, Proceedings of SIGIR’98 Conf., Melbourne, 1998
[Banerjee, 1998] Banerjee A., Davison D., Hirsh H., Macskassy S., ”Human Performance on Clustering Web Pages”, Proceedings of KDD’98 conf., 1998
[Beckwith, 1991] Beckwith R., Fellbaum C., Gross D., Miller G., ”WordNet: A Lexical database Organized on Psycholinguistic Principles”, Lexical Acquisition, Lawrence Erlbaum Assoc., 1991
[Beth, 1968] Lovins B., “Development of a stemming algorithm”, Translation and
Computational Linguistics, vol. 11, p.22-31, 1968
[Bielicka, 1988] Bielicka L., „Metodyka i organizacja opracowania tezaurusa”,
CINTE 1988
[Bloedorn, 1999] Bloedorn E., Mani A., “Summarizing Similarities and Differences
among Related Documents“, p.357-381, Advances in Automatic Text Summarization, MIT Press, 1999
[Bolc, 1983] Bolc L., „Przetwarzanie informacji reprezentowanej w postaci naturalnej”, WNT, 1983
[Bolc, 1992] Bolc L, Cytowski J., ”Modern Search Methods”, Instytut Podstaw Informatyki PAN, Warszawa, 1992
[Breiman, 1996] Breiman L., „Bagging predictors”, Machine Learning, Vol. 24,
p.123-140, 1996
[Brin, 1998] Sergey Brin, Lawrence Page, “The Anatomy of a Large-Scale Hypertextual Web Search Engine”, Proceedings of Seventh International Web Conf., 1998
[Brown, 1991] Brown P., Lai J., Mercer R., “Aligning sentences in parallel corpora”,
ACL 29, 1991
[Burges, 1998] Burges C., “A Tutorial on Support Vector Machines for Pattern
Recognition”, Data Mining and Knowledge Discovery, 1998
[Caroll, 1994] Caroll L., “Through the Looking Glass”, Millenium Fulcrum Edition
1.7, Project Gutenberg Etext, 1994
[Charniak, 1993] Charniak E., et al., “Equations for part-of-speech tagging”, Proceedings of 11th National Conf. an AI, Menlo Park, 1993
9. Literatura
[Chen, 1993] Chen F., „Aligning sentences in bilingual corpora using lexical information”, ACL 31, 1993
[Chomsky, 1957] Chomsky N., “Syntactic structures”, The Hague: Mouton, 1957
[Chomsky, 1986] Chomsky N., “Knowledge of language: Its Nature, Origin and
Use”, Prager, 1986
[Choueka, 1988] Choueka Y., “Looking for needles in a haystack, or locating interesting collocational expressions in large textual databases”, Proceedings of RIAO,
1988
[Church, 1988] Church K., “A stochastic parts program and noun phrase parser for
unrestricted text”, ANLP-2, 1988
[Church, 1991] Church K, Gale W., “A comparision of the enhanced Good-Turing
and deleted estimation methods for estimating probabilities of English bigrams”,
Computer Speech and Language, vol 5, p.19-54, 1991
[Church, 1993] Church K., Mercer R, “Introduction to the special issue on computational linguistics using large corpora”, Computational Linguistics, vol. 19, 1993
[Church, 1993] Church K., Gale W., “A program for aligning sentences in bilingual
corpora”, Computational Linguistics, vol. 19, 1993
[Cicekli, 2000] Cicekli I, “Similarities and differences”, Proceedings of Systemics
and Cybernetics conf., Orlando, 2000
[Cichosz, 2000] Cichosz P., „Systemy uczące się”, WNT, 2000
[Cliffe, 1998] Cliffe, S., “Knowledge Management - The Well-Connected Business”,
Harvard Business Review, July-August, 1998
[Croft, 1996] Croft B., Larkey L., ”Combining classifiers in text categorization”,
SIGIR’96 Conf. Proceedings, 1996
[Dumais, 1995] Berry M., Dumais S., Letshe T., “Computational Methods for Intelligent Information Access”, University of Tennessee, 1995
[Dumais, 1998] Dumais S. et al., “A Bayesian Approach To Filtering Junk Email“,
Microsoft Research, 1998
[Dumais, 1998] Dumais S., “Using SVMs for text categorization“, IEEE Intelligent
Systems, July/August 1998, p.21-23, 1998
[Dunning, 1993] Dunning T., “Accurate methods for the statistics of surprise and coincidence”, Computational Linguistics, vol. 19, 1993
[EPPWN, 1974] “Encyklopedia Powszechna PWN”, PWN, Warszawa, 1974
[Fayyad, 1999] M. Fayyad U., Piatetsky-Shapiro U., Smyth P., “From Data Mining to
Knowledge Discovery : An Overview”, Advances in Knowledge Discovery and
Data Mining, MIT Press, 1999
[Francis, 1964] Francis N., Kucera H. “Manual of information to accompany a standard corpus of present-day edited American English, for use with digital computers”,
Providence, Department of Linguistics, Brown University, 1964
[Frelek, 1999] Frelek M., Gawrysiak P., Rybiński H., “A method of retrieval in flexion-based language text databases”, Intelligent Information Systems Conf. proceedings, 1999
[Freund, 1996] Freund Y., Shapire E., “Experiments with a new boosting algorithm”,
13th Conf. on Machine Learning proceedings, p. 148-156, 1996
6
102
9. Literatura
[Gale, 1994] Gale W., Lewis D., “A sequential algorithm for training text classifiers“,
SIGIR’94 Conf. Proceedings, 1994
[Gawrysiak, 1999] Gawrysiak P., “Using Data Mining Methodology for Text Retrieval”, International. Information Science and Education Conference proceedings,
(DIBS’99), 1999
[Gawrysiak, 2000] Gawrysiak P., “Towards Intelligent Internet Search Systems”, 2nd
Multimedia and Networked Information Systems Conference (MISSI’2000), 2000
[Gawrysiak, 2001] Gawrysiak P., Okoniewski M., ”Knowledge Discovery in the Internet”, Archiwum Informatyki Teoretycznej i Stosowanej, vol.12(2000), p.203233, 2001
[Gravano, 1999] Gravano L., Garcia-Molina H., Tomasic A., ”Gloss: Text-Source
Discovery over the Internet”, ACM Transactions on Database Systems, vol. 24,
p.229-264, 1999
[Hackathorn, 1999] Hackathorn R., “Web Farming for the Data Warehouse”, Morgan
Kauffmann, 1999
[Hartigan, 1979] Hartigan J., Wong M., ”A k-means clustering algorithm”, Applied
Statistics, 1979
[Hearst, 1998] Hearst M, ”Support Vector Machines”, IEEE Intelligent Systems, July/August 1998, p.18-21, 1998
[IBM, 2000] International Business Machines, “Intelligent Miner for Text User’s
Guide”, 2000
[Ide, 1998] Ide N., Veronis J., “Introduction to the special issue on word sense disambiguation: The state of the art”, Computational Linguistics 24, 1998
[Jerome, 1995] Jerome J., “Three Men in a Boat (To Say Nothing of the Dog)”, Project Gutenberg Etext, 1995
[Joahims, 1998] Joachims T., ”Text Categorization with Support Vector Machines:
Learning with Many Relevant Features”, Proceedings of 10th European Conf. On
Machine Learning, 1998
[Jóźwiak, 1998] Jóźwiak J., Podgórski J., „Statystyka od podstaw”, Polskie Wydawnictwo Ekonomiczne, Warszawa, 1998
[Jurafsky, 2000] Jurafsky D., Martin J., ”Speech and Language Processing”, Prentice
Hall, 2000
[Karlsson, 1995] Karlsson F., et al., “Constraint Grammar: A Language-Independent
System for Parsing Unrestricted Text“, Mouton de Gruyter, Berlin, 1995
[Katz, 1987] Katz M., “Estimation of probabilities from sparse data for the language
model component of a speech recognizer“, IEEE Transactions on Acoustics,
Speech and Signal Processing, 1987
[Kay, 1991] Kay M., Roscheisen M., “Text translation alignment“, Computational
Linguistics, vol. 19, 1993
[Kazienko, 2000] Kazienko P., ”Hierarchiczna metoda podziału kolekcji stron WWW
na podstawie wartości maksymalnego przepływu”, Materiały konf. Multimedialne i
Sieciowe Systemy Informacyjne p. 79-89, Wrocław, 2000
[Keown, 1995] Keown K., Robin J., Kukich K., ”Generating Concise Natural Language Summaries”, Information Processing and Management, vol. 31, 1995
103
9. Literatura
[Kleinberg, 1998] Kleinberg J., ”Authoritative Sources in Hyperlinked Environment”,
Proceedings of Nineth Annual ACM-SIAM Symposium on Discrete Algorithms,
1998
[Knight, 1997] Knight K, “Automating knowledge acquisition for machine translation”, AI Magazine, vol. 18, 1997
[Koller, 1997] Koller D., Sahami M. „Hierarchically classifying documents using
very few words“, Proceedings of 14th Conf. On Machine Learning, 1997
[Landauer, 1994] Landauer T., Dumais S., “Latent Semantic Analysis and the measurement of knowledge”, Educational Testing Service Conf. on Applications of
NLP, 1994
[Landauer, 1996] Landauer T., Dumais S., “A Solution to Plato's Problem: The Latent Semantic Analysis Theory of Acquisition, Induction and Representation of
Knowledge”, Psychological Review, 1996
[Landauer, 1998] Laham D., Landauer T., Foltz P., “Introduction to Latent Semantic
Analysis”, Discourse Processes vol. 25, p. 259-284, 1998
[Lehnert, 1981] Lehnert W., “Plot Units: A Narrative Summarization Strategy“,
Strategies for Natural Language Processing, p.223-244, Hillsdale, 1981
[Lewis, 1991] Lewis D., ”Data Extraction as Text Categorization: An Experiment
with the MUC-3 Corpus”, Proceedings of Third Message Understanding Conference, San Diego, p.245-255, 1991
[Lewis, 1992] Lewis D., ”Feature Selection and Feature Extraction for Text Categorization”, Proceedings of Speech and Natural Language Workshop, Harriman, New
York, p.212-217, 1992
[Lewis, 1995] Lewis D., “Evaluating and Optimizing Autonomous Text Classification Systems”, Proceedings of SIGIR’95 Conf., p.246-254, 1995
[Mandelbrot, 1954] Mandelbrot B., “Structure formelle des textes et communication“,
Word, vol. 10, p.1-27, 1954
[Mani, 1999] Mani I., Maybury M., ”Advances in automatic text summarization”, p.
9, MIT Press, 1999
[Markov, 1913] Markov A., “An example of statistical investigation in the text of
‘Eugene Onyegin’”, Proceedings of Academy of Sciences, St. Petersburg, 1913
[Matwin, 1998] Matwin S., Scott S., ”Text Classification Using WordNet Hypernyms”, Computer Science Dept., University of Ottawa, 1998
[McCallum, 1998] McCallum A., Nigam K., ”A Comparision of Event Models for
Naive Bayes Text Classification”, AAAI-98 Workshop on Learning for Text Categorization, 1998
[Merlino, 1999] Merlino A., Maybury M., ”An Empirical Study of the Optimal
Presentation of Multimedia Summaries of Broadcast News”, Advances in Automatic Text Summarization, p. 391-403, MIT Press, 1999
[Miller, 1996] Miller U.: “Thesaurus construction: Problems and their roots”, Information Processing and Management 1996
[Mitchell, 1997] Mitchell T., ”Machine Learning”, McGraw-Hill, 1997
[Mladenic, 1998] Mladenic D., ”Machine Learning on non-homogeneous, distributed
text data”, Praca doktorska, Uniwersytet w Lubijanie, 1998
104
9. Literatura
[Moffat, 1998] Moffat A., Ramamohanarao K., Zobel J., ”Inverted Files Versus Signature Files for Text Indexing”, ACM Transactions on Database Systems, vol. 23,
1998
[Paice, 1990] Paice C., ”Constructing Literature Abstracts by Computer: Techniques
and Prospects”, Information Processing and Management, vol. 26, 1990
[Pedersen, 1995] Pedersen J., Schuetze H., “A coocurrence-based thesaurus and two
applications to information retrieval”, Information Processing and Management,
1995
[Piatetsky, 1996] Piatetsky- Shapiro G. et al., ”Advances in Knowledge Discovery
and Data Mining”, AAAI Press, 1996.
[Porter, 1980] Porter M., “An algorithm for suffix stripping”, Program, vol. 14,
p.130-137, 1980
[Rijsbergen, 1979] Rijsbergen van J., “Information retrieval“, Butterworths, London,
1979
[Riloff, 1995] Riloff E.,”Little Words Can Make a Big Difference for Text Classification”, SIGIR’95 Conf. Proceedings, 1995
[Salton, 1983] Salton G., McGill M., ”Introduction to Modern Information Retrieval”, McGraw Hill, New York, 1983
[Salton, 1991] Salton G., “Developments in automatic text retrieval”, Science,
vol.253, p. 974-979
[Searle, 1987] Searle J., “Minds and brains without programs”, Mindwaves, Basil
Blackwell, Oxford, 1987
[Sholom, 2000] Sholom W., White B., Apte C., ”Lightweight Document Clustering”,
IBM T.J. Watsan Research Center, 2000
[Shuetze, 1999] Shuetze H., Manning C. “Foundations of Statistical Natural Language Processing“, MIT Press, 1999
[Smadja, 1993] Smadja F., “Retrieving collocations from text”, Computational Linguistics, vol. 19, 1993
[Sobczyk, 1998] Sobczyk M., ”Statystyka. Podstawy teoretyczne, przykłady, zadania”, Wydawnictwo UMCS, Lublin 1998
[Sparck, 1999] Sparck J., ”Automatic Summarizing: Factors and Directions”, Advances in Automatic Text Summarization, p.1-15, MIT Press, 1999
[StatSoft, 2001] StatSoft, Inc. “Electronic Statistics Textbook.”, Tulsa, 2001,
http://www.statsoft.com/textbook/stathome.html.
[Swidzinski, 1982] Świdziński Marek, “Gramatyka formalna języka polskiego”,
WUW, 1982
[Szymczak, 1978] Szymczak M., “Wstęp do Słownika Języka Polskiego”, Warszawa,
PWN, 1978
[Teece, 1998] Teece, D., “Research Directions For Knowledge Management”, California Management Review, September, 1998
[Tokarski, 1980] Tokarski J., „Elementy gramatyki polskiej”, Wiedza Powszechna,
1980
[Turing, 1950] Turing A., “Computing machinery and intelligence”, Mind nr 236,
przedruk w “The Mind’s I”, Penguin Books, 1981
105
9. Literatura
[Vapnik, 1998] Vapnik V., ”Statistical Learning Theory”, Wiley, 1998
[Yang, 1998] Yang Y., Liu X., „A re-examination of text categorization methods”,
ACM SIGIR Conference on Research and Development in Information Retrieval,
New York, 1998
[Yang, 1999] Yang Y., Carbonell J., Brown R., Pierce T., Archibald B., Liu X.,
“Learning approaches for detecting and tracking news events”, IEEE Intelligent
Systems, 14, p. 32-43, 1999
[Zipf, 1949] Zipf G., “Human Behavior and the Principle of Least Effort”, Cambridge, 1949
[W1] Project Gutenberg Homepage, http://www.gutenberg.net
[W2] Google Search Engine, http://www.google.com
[W3] AltaVista Search Engine, http://www.altavista.com
[W4]Computational Linguistics in Poland,
http://www.ipipan.waw.pl/mmgroup/clip.html
[W5] Eksperymentalny słownik fleksyjny języka polskiego,
http://www.icsr.agh.edu.pl/fleksbaz/
[W6] Reuters-21578 Test Collection,
http://www.research.att.com/~lewis/reuters21578.html
[W7] Zbiory testowe dla kategoryzacji dokumentów,
http://bolek.ii.pw.edu.pl/~gawrysia/classlib/
[W8] Free Decision Tree Induction software,
http://fuzzy.cs.uni-magdeburg.de/~borgelt/software.html
106
10. Spis tablic i ilustracji
10.1 Spis ilustracji
Rys. 1. Hierarchia systemów automatycznego tłumaczenia .......................................... 14
Rys. 2. Wybór dokumentów z bazy w procesie IR ........................................................ 26
Rys. 3. Częstość występowania słów w [Caroll, 1994] ................................................. 37
Rys. 4. Pozycje słów „dumpty” oraz „any” w dokumencie [Caroll, 1994] ................... 48
Rys. 5. Prosta analiza porównawcza pozycji słów, w dwóch dokumentach .................. 49
Rys. 6. Tworzenie reprezentacji pozycyjnej dokumentu ............................................... 51
Rys. 7. Funkcje gęstości dla słów „any” i „dumpty” w [Caroll, 1994] .......................... 52
Rys. 8. Techniki przekształcania przestrzeni atrybutów ................................................ 65
Rys. 9. Hipotetyczne funkcje prawdopodobieństwa wystąpienia atrybutu .................... 68
Rys. 10. Hierarchiczna struktura dokumentu multimedialnego ..................................... 70
Rys. 11. Typowe klasy w systemie poczty elektronicznej ............................................. 71
Rys. 12. Przykładowa struktura systemu kategoryzacji dokumentów WWW ............... 76
Rys. 13. Proces Web Farming ........................................................................................ 82
Rys. 14. Jakość kategoryzacji dla klas zbioru unigram.................................................. 87
Rys. 15. Jakość kategoryzacji dla klas zbioru Reuters ................................................... 87
Rys. 16. Ograniczanie rozmiaru reprezentacji funkcją oceniającą ................................ 88
Rys. 17. Porównanie efektywności algorytmów ograniczających – newsgroups .......... 89
Rys. 18. Porównanie efektywności algorytmów ograniczających – Reuters ................. 89
Rys. 19. Skalowanie atrybutów współczynnikiem TF/IDF ........................................... 90
Rys. 20. Połączenie reprezentacji bigramowej z unigramową ....................................... 93
Rys. 21. Porównanie reprezentacji bigramowej i γ-gramowych, precyzja .................... 94
Rys. 22. Porównanie reprezentacji bigramowej i γ-gramowych, zupełność .................. 94
Rys. 23. Porównanie reprezentacji bigramowej i γ-gramowej, zbiór Reuters ............... 95
Rys. 24. Kategorie różnie formatowanych dokumentów HTML................................... 97
Rys. 25. Współdziałanie modułów systemu kategoryzacji .......................................... 116
10.2 Spis tablic
Tabl. 1. Macierz kontyngencji kategoryzacji binarnej ................................................... 27
Tabl. 2. Macierz kontyngencji dla pojedynczej klasy .................................................... 30
Tabl. 3. Zbiorcza macierz kontyngencji dla mikro-uśredniania..................................... 31
Tabl. 4. Przykład działania systemów kategoryzacji ..................................................... 32
Tabl. 5. Wartości wskaźników oceny ............................................................................ 32
Tabl. 6. Dziesięć najczęstszych wyrazów w tekście [Caroll, 1994]............................... 38
Tabl. 7. Macierz następstwa reprezentacji bigramowej ................................................. 43
Tabl. 8. Wzrost wielkości reprezentacji n-gramowych .................................................. 43
Tabl. 9. Kategorie zdefiniowane w repozytorium newsgroups ...................................... 85
Tabl. 10. Kategorie wybrane z repozytorium Reuters-21578 ........................................ 86
10. Spis tablic i ilustracji
Tabl. 11. Słowa kluczowe – dokument z kolekcji Reuters ............................................ 91
Tabl. 12. Słowa kluczowe – dokument z kolekcji newsgroups...................................... 92
Tabl. 13. Kategorie wykorzystane przy porządkowaniu poczty elektronicznej ............. 96
Tabl. 14. Porównanie kategoryzatorów hierarchicznego i tekstowego .......................... 96
Tabl. 15. Porównanie jakości kategoryzatorów IBM i CLASSLIB – Reuters............... 98
108
Aneksy
A1. Spis skrótów
IDF
Inverted Document Frequency
IG
Information Gain
IR
Information Retrieval
KDD
Knowledge Discovery in Databases
KNN
k Nearest Neighbour
MLE
Maximum Likelihood Estimate
MT
Machine Translation
NBC
Naive Bayes Classifier
NLP Natural Language Processing
NLU
Natural Language Understanding
PRP Probability Ranking Principle
STL
Standard Template Library
SVM
Support Vector Machines
TF
Term Frequency
TREC
Text Retrieval Conference
VMM
Visible Markov Model
WWW
World Wide Web
A2. Algorytmy kategoryzacji
A2.1 Metoda Rocchio
Metoda Rocchio jest modyfikacją znanego algorytmu IR, do celów kategoryzacji
dokumentów, zaproponowaną przez Saltona [Salton, 1991]. Do jej zastosowania niezbędne jest przekształcenie reprezentacji dokumentu do postaci wektora. Dla pojedynczej klasy ki konstruowany jest zbiór R, zawierający wektory reprezentujące należące
do tej klasy dokumenty, oraz zbiór S, zawierającym wektory reprezentujące pozostałe
dokumenty37.
Dla danej klasy ki można obliczyć centroid ci następująco:
ci (k i , α ) =
37
1
1
s
∑r +α ⋅ | S | ∑
| R | r∈R
s∈S
(A.1)
W praktyce liczność zbioru S jest zwykle ograniczana do n dokumentów, najbardziej podobnych do dokumentów ze zbioru R.
Aneksy
gdzie α jest dobieranym eksperymentalnie parametrem, zaś wartości ujemne w ci
zastępowane są zerami.
Kategoryzacja nowego dokumentu x, polega na porównaniu jego reprezentacji,
przekształconej do postaci wektorowej, z centroidami wszystkich klas w systemie. Porównanie to może być dokonane poprzez obliczenie następującej funkcji podobieństwa:
sim(x, c i (k i , α )) = cos(x, c i (k i , α ))
A.2
Klasa, dla której podobieństwo to jest najwyższe, jest klasą, do której należy przyporządkować analizowany dokument.
Mimo, iż metoda ta nie należy do najlepszych (według [Apte, 1999] jest co prawda
znacząco lepsza od naiwnego klasyfikatora bayesowskiego, lecz gorsza od KNN i
SVM), to jest w dalszym ciągu chętnie stosowana, co wynika z prostoty implementacji i
bardzo dużej szybkości działania.
A.2.2 KNN – k nearest neighbor
Klasyfikatory KNN należą do najefektywniejszych algorytmów kategoryzacji dla
dokumentów tekstowych. Analizowane dokumenty reprezentowane są tu przez wektory
nad przestrzenią atrybutów38. Dla nowego dokumentu x odnajdywanych jest k najbardziej podobnych dokumentów ze zbioru trenującego, podobieństwo jest tu zwykle obliczane w podobny sposób jak w A.2. Wśród tych k dokumentów, mogą znajdować się
dokumenty należące do różnych klas, tworzone są zatem podzbiory sk1, sk2, ..., skn grupujące dokumenty należące do tej samej klasy. Następnie, dla każdej z klas kj, obliczana
jest średnia podobieństwa ich reprezentacji do analizowanego dokumentu:
sim(x, k j ) =
1
∑ cos(x, y )
| sk j | y∈sk j
A.3
Klasa, dla której obliczona wartość podobieństwa jest najwyższa, jest klasą do której
należy przyporządkować analizowany dokument.
Na efektywność algorytmu bardzo duży wpływ ma wybór współczynnika k. W kategoryzacji dokumentów tekstowych najczęściej stosowane są stosunkowo duże wartości tego współczynnika (od 30 do 200).
A2.3 Naive Bayes
„Naiwny” klasyfikator bayesowski jest także wykorzystywany w analizie dokumentów tekstowych, co wynika po części także z popularności jaką cieszy się on w kla38
Możliwe są jednak także inne rozwiązania, podobnie jak w metodzie Rocchio, o ile zapewniona będzie
możliwość obliczania średniej z reprezentacji oraz porównywania dwóch reprezentacji.
110
Aneksy
sycznych zastosowaniach data mining. Niestety, nie jest to dobry algorytm dla problemu kategoryzacji tekstów, jak to wykazują między innymi prace [Yang, 1998] i [Joahims, 1998].
Działanie naiwnego klasyfikatora bayesowskiego (ang. naive bayes classifier, NBC)
opiera się na wykorzystaniu teorii Bayesa, w celu oszacowania prawdopodobieństwa
przynależności analizowanego dokumentu x do poszczególnych klas kj w systemie:
P ( k j | x) =
P(k j ) ⋅ P( x | k j )
P ( x)
A.4
Przy czym zakłada się, iż prawdopodobieństwa wystąpienia elementów reprezentacji (słów, sekwencji słów, czy też funkcji gęstości) są od siebie niezależne – stąd nazwa
„naiwny” – dzięki czemu:
P ( k j | x) = P (k j ) ⋅ ∏ P ( x i | k j )
i
A.5
Wartości elementów powyższego równania możemy np. oszacować następująco:
P(kj) – stosunek liczby dokumentów należących do klasy kj do liczby wszystkich
dokumentów w systemie
P( xi | k j ) =
1 + oij
n
n + ∑ olj
A.6
l =1
Gdzie:
- n – liczba elementów reprezentacji
- oij – liczba wystąpień i-tego elementu reprezentacji w dokumentach zbioru trenującego należących do klasy kj
Po obliczeniu prawdopodobieństw przynależności dokumentu do poszczególnych
klas, należy go przyporządkować do tej klasy, dla której obliczona wartość prawdopodobieństwa jest największa.
A2.4 SVM – support vector machines
Próby stosowania klasyfikatorów SVM do analizy dokumentów tekstowych rozpoczęto stosunkowo niedawno, już jednak wczesne wyniki wskazują, iż metoda ta stanowi
jedną z lepszych. Klasyfikatory SVM mogą dokonywać jedynie kategoryzacji binarnej,
dlatego też w systemie, w którym zdefiniowano więcej klas, należy wykonać algorytm
SVM dla każdej klasy osobno.
111
Aneksy
SVM dokonuje kategoryzacji dokumentu x reprezentowanego przez wektor x przy
użyciu funkcji decyzyjnej f o postaci:
 n

f (x) = sign ∑ α i y i K (x, x i ) 
 i =1

A.7
gdzie xi – wektory reprezentujące pozostałe n dokumentów w systemie;
yi={1,-1} określa przynależność i-tego dokumentu do jednej z dwóch klas k1, k-1; K(x,
xi) jest funkcją określaną jako jądro (ang. kernel), w analizie tekstu najczęściej stosowana jest tu:
K (x, x i ) = (x ⋅ x i + 1) d
A.8
Wartości αi są parametrami, ustalanymi w wyniku minimalizacji następującego wyrażenia:
n
n
1 n
α i Qij α j − ∑ α i ;0 ≤ α i ≤ C ∧ ∑ y iα i = 0
∑
2 i , j =1
i =1
i =1
A.9
gdzie Q jest macierzą n na n elementów, której wartości są następujące:
Qij = y i y j K ( x i , x j )
A.10
Wielkość macierzy Q w większości zastosowań praktycznych jest rzędu miliardów
elementów, dlatego też minimalizacja ta musi odbywać się metodami niebezpośrednimi. Najbardziej efektywnymi algorytmami, jak do tej pory stosowanymi przy rozwiązywaniu tego problemu, są: dzielenie problemu na mniejsze części, tzw. chunking, iteracyjna minimalizacja sekwencyjna (SMO), oraz algorytm Osuna – ich opis znajduje
się m.in. w [Platt, 1998]. Tutorial [Burges, 1998] zawiera bardziej dokładny opis SVM,
zaś [Joachims, 1998] i [Dumais, 1998] podają przykłady stosowania tych klasyfikatorów w systemach kategoryzacji dokumentów tekstowych.
112
Aneksy
A3. Budowa eksperymentalnego systemu kategoryzacji
Eksperymenty, których wyniki przedstawiono w rozdziale siódmym niniejszej pracy, zostały przeprowadzone przy wykorzystaniu, napisanego przez autora, systemu kategoryzacji dokumentów o nazwie CLASSLIB.
A3.1 Struktura systemu
System został zaimplementowany przy wykorzystaniu czystego języka ANSI C++, z
wykorzystaniem biblioteki STL. Zastosowano koncepcję budowy modułowej, dzięki
czemu możliwe jest dalsze rozwijanie możliwości systemu, a także korzystanie z jego
poszczególnych komponentów, z jako swego rodzaju biblioteki operacji na dokumentach tekstowych.
Szczególną uwagę poświęcono kwestii przenośności. Jeden z modułów systemu
(moduł COMPILER) pełni rolę interfejsu pomiędzy CLASSLIB, a systemem operacyjnym. Zapewnia on operacje takie jak: dostęp do systemu plików, diagnostyka błędów,
komunikacja z użytkownikiem itp. Przy przenoszeniu oprogramowania na inną platformę, niezbędne jest dokonanie zmian jedynie w tym module.
Obecna wersja CLASSLIB testowana była w następujących systemach operacyjnych:
-
Microsoft Windows XP
Microsoft Windows 2000
Microsoft Windows 98 oraz Millenium Edition
Linux
Teoretycznie możliwe jest uruchomienie kategoryzatora nawet w systemie MSDOS. W praktyce, wymaga to jednak zastosowania takiego programu zarządzającego
DPMI, który umożliwiłby korzystanie z pamięci wirtualnej.
Zgodność ze standardem ANSI pozwala także na kompilację w dowolnym nowoczesnym kompilatorze C++, bez potrzeby zmian kodu źródłowego (nie dotyczy to jedynie wspomnianego modułu COMPILER), co z powodzeniem przetestowano, równolegle wykorzystując podczas implementacji kompilatory Visual C++, GCC i DJGPP
(wersja GCC przystosowana do pracy w środowisku Win32).
W swej obecnej postaci (wersja 0.8) w skład systemu wchodzą następujące moduły:
COMPILER, UTILITY, FILTER, PARSER, DICTIONARY, CLASSIFIER oraz
TEST, których funkcje pokrótce opisano poniżej.
-
moduł COMPILER
113
Aneksy
Moduł ten stanowi interfejs pomiędzy pozostałymi modułami, a tymi usługami systemu operacyjnego, które nie są bezpośrednio dostępne przez standardowe funkcje
języka ANSI C++. W szczególności zawarto tutaj interfejs systemu plików oraz dyrektywy niezbędne do wykorzystania biblioteki STL w kompilatorze.
- moduł UTILITY
Jest to moduł pomocniczy, wykorzystywany przez wszystkie pozostałe elementy
systemu. Zawiera klasę służącą do pomiaru czasu, filtr komunikatów diagnostycznych (komunikaty zgłaszane przez moduły systemu mają 3 stopnie istotności, możliwe jest oddzielne kierowanie komunikatów każdego rodzaju do pliku lub na wyjście konsoli), mechanizmy odczytywania zawartości katalogów oraz bibliotekę operacji wektorowych (operacje arytmetyczne oraz normalizacja, iloczyn wektorowy i
skalarny dla wektorów reprezentowanych przez obiekt typu vector i valarray biblioteki STL, konkretyzowany zarówno typem int jak i typem double).
- moduł FILTER
Funkcje udostępniane przez ten moduł, pozwalają na przeprowadzenie wstępnej obróbki analizowanych dokumentów tekstowych. Możliwe jest stosowanie stopword
list, usuwanie linii zawierających podane ciągi znaków, zastępowanie jednych ciągów znaków innymi, wreszcie zaś usuwanie znaczników HTML, lub tekstu znajdującego się poza tymi znacznikami.
- moduł PARSER
W module tym zawarto dwa elementy. Pierwszym z nich jest tokenizator, dzielący
linie tekstu na słowa, drugim zaś stemmer, dokonujący przekształcenia słów do ich
formy kanonicznej. Zaimplementowano stemmer Lovinsa (dla języka angielskiego)
i prosty stemmer dla języka polskiego, zaproponowany w pracy [Frelek, 1999].
Stemmery te nie były jednak używane przy przeprowadzaniu opisanych w pracy
eksperymentów.
- moduł DICTIONARY
Moduł ten zawiera klasy, definiujące poszczególne reprezentacje, dostępne w systemie (obecnie są to – reprezentacja binarna i częstościowa – zarówno względna jak
i bezwzględna, reprezentacja bigramowa złożona z reprezentacją unigramową, reprezentacja γ-gramowa o dowolnym poziomie, oraz reprezentacja pozycyjna, która
jednak nie została jeszcze w pełni zintegrowana z modułem klasyfikującym).
Wszystkie powyższe klasy, zostały wyprowadzone z klasy bazowej Dictionary::Representation, zawierającej interfejs komunikacyjny do algorytmów z modułu
CLASSIFIER. Dzięki temu możliwe jest proste dodawanie nowych reprezentacji do
systemu.
Klasy modułu DICTIONARY zapewniają ponadto możliwość przeprowadzania
różnorodnych operacji obróbki reprezentacji, w tym wybieranie atrybutów wg
przedstawionych w pracy funkcji z rodziny TF/IDF oraz Information Gain,
Moduł zawiera ponadto funkcje zapisu i odczytu reprezentacji z dysku.
114
Aneksy
- moduł CLASSIFIER
Moduł implementuje algorytm kategoryzacji Rocchio. Możliwe jest przeprowadzenie kategoryzacji pojedynczego pliku tekstowego, bądź też analiza strumienia tekstu
pochodzącego z modułu FILTER lub PARSER. Klasy zbioru trenującego zadane są
w postaci struktury podkatalogów na dysku.
Podobnie, jak to ma miejsce w module DICTIONARY, możliwe jest zapisywanie (i
odczyt) wyników pośrednich pracy modułu.
- moduł TEST
Umożliwia dokonanie klasyfikacji wielu dokumentów, w celu przeprowadzenia testów jakości działania systemu. Dla poprawnej pracy wymagane jest uporządkowanie dokumentów testowych, w strukturę katalogów taką, jak dla zbioru trenującego.
Moduł zawiera algorytmy obliczania wskaźników precyzji i zupełności dokonywanej kategoryzacji. Wyniki kategoryzacji zapisywane są w postaci plików w formacie
CSV, gotowych do odczytu np. w programie Microsoft Excel.
Poniższy diagram przedstawia przepływ informacji w systemie, podczas procesu kategoryzacji dokumentów. Możliwe jest także niezależne wykorzystanie funkcji poszczególnych modułów, poprzez dołączenie ich do oddzielnego programu w języku C
lub C++ i tym samym np. budowa systemu grupowania dokumentów, lub też wyszukiwania informacji.
FILTER
Zbiór
trenujący
Zbiór
test.
PARSER
DICTIONARY
UTILITY
COMPILER
Wektory
klas
Reprezentacja
115
TEST
FILTER
PARSER
CLASSIFIER
Wynik
TEST
Aneksy
Rys. 25. Współdziałanie modułów systemu kategoryzacji
A3.2 Sposób użycia
Możliwe są dwa sposoby korzystania z systemu CLASSLIB. Pierwszym z nich jest
bezpośrednie włączenie poszczególnych modułów do osobnego programu. Sposób
ten pozwala na wykorzystanie wszystkich możliwości systemu. Drugim sposobem
jest posłużenie się prostym interfejsem do prac wsadowych, CLASSLIB Micro
Shell, udostępniającym podstawowe funkcje kategoryzacji.
Wywołanie interfejsu Micro Shell, bez parametrów, powoduje wyświetlenie następującego spisu komend:
116
Aneksy
CLASSLIB Micro Shell Build : Oct 3 2001 Release configuration
Diagnostic level DIAGNOSTICS_LIGHT
Usage:
classlib -b Root Repr Class
< Builds binary repr.
classlib -u Root Repr Class
< Builds unigram repr.
classlib -r Root Repr Class
< Builds unigram rel. repr
classlib -p Root Repr Class
< Builds positional. repr
classlib -t Reprin Reprout < Scale TFIDF
classlib -s Repr
< Show representation
classlib -t1 Reprin Reprout Attrno
< Trim repr. TFG
classlib -t2 Reprin Reprout Attrno
< Trim repr. DFG
classlib -t3 Reprin Reprout Class Attrno < Trim repr. IG
classlib -pb Repr Class Centr Alpha < Prep. Rocchio bin.
classlib -pu Repr Class Centr Alpha < Prep. Rocchio uni.
classlib -pr Repr Class Centr Alpha < Prep. Rocchio rel.
classlib -c File Repr Class Centr S
< Single file Rocchio
classlib -ma RootDir Repr Class Centr S < Multiple Rocc. abs
classlib -su File Repr
< Generate summary
classlib -ex RootDir Reprin Reprout Class Level < Expand s-gram
classlib -cx File Repr Class Centr
< Single file Rocchio expanded
classlib -mx RootDir Repr Class Centr < Multiple Rocchio expanded
classlib –cf Time Stats
< Set global options
Polecenia –r, -b, -u tworzą reprezentacje unigramowe (dokumentów, znajdujących
się w podkatalogach katalogu RootDir), -ex tworzy reprezentację γ-gramową, -p zaś
pozycyjną, dla k=3. Polecenie –t wywołuje skalowanie wartości atrybutów funkcją
TF/IDF, polecenia –t1, -t2, -t3 dokonują wyboru Attrno atrybutów według różnych
kryteriów, polecenia –pr, -pu, -pb uruchamiają fazę przygotowawczą algorytmu klasyfikacji, zaś polecenia –c, -cx, -ma, -mx dokonują kategoryzacji nowych dokumentów.
A3.3 Przykład działania
Poniżej zamieszczono plik wynikowy, wygenerowany przez system dla niewielkiego podzbioru kolekcji newsgroups. Zastosowano następujące polecenia interfejsu
Micro Shell (względna reprezentacja unigramowa częstościowa, ograniczenie do
100 atrybutów, skalowanie TF/IDF, algorytm Rocchio z parametrem α o wartości
0.5):
classlib
classlib
classlib
classlib
classlib
-r train repr class
-t3 repr reprIG100 class 100
-t reprIG100 reprIG100TF
-pr reprIG100TF class centr 0.5
-ma test reprIG100TF class centr 1 > result.txt
117
Aneksy
Plik result.txt ma następującą zawartość:
CLASSLIB Build : Oct 3 2001 Release configuration
Diagnostic level DIAGNOSTICS_LIGHT
Time stamping OFF
Statistics MINIMAL
Multiple file classification requested method absolute
Start: ClassSystem
Done : ClassSystem
Start: Representation
Done : Representation
Start: Load process
Done : Load process
Multiple classification
DATA START
Document name, correct class, predicted class, similarity
test/comp.graphics/37916CUT, comp.graphics , comp.graphics , 0.393885
test/comp.graphics/37936CUT, comp.graphics , comp.graphics , 0.254303
test/comp.graphics/38464CUT, comp.graphics , rec.sport.baseball , 0.237086
test/comp.graphics/38571CUT, comp.graphics , comp.graphics , 0.155496
test/comp.graphics/38573CUT, comp.graphics , comp.graphics , 0.330801
test/comp.graphics/38761CUT, comp.graphics , comp.graphics , 0.179022
test/comp.graphics/38835CUT, comp.graphics , comp.graphics , 0.340411
test/comp.graphics/38853CUT, comp.graphics , comp.graphics , 0.674556
test/comp.graphics/38936CUT, comp.graphics , comp.graphics , 0.227082
test/comp.graphics/38965CUT, comp.graphics , comp.graphics , 0.374815
test/rec.sport.baseball/102590CU, rec.sport.baseball , rec.sport.baseball ,
test/rec.sport.baseball/102737CU, rec.sport.baseball , rec.sport.baseball ,
test/rec.sport.baseball/104396CU, rec.sport.baseball , rec.sport.baseball ,
test/rec.sport.baseball/104468CU, rec.sport.baseball , rec.sport.baseball ,
test/rec.sport.baseball/104551CU, rec.sport.baseball , rec.sport.baseball ,
test/rec.sport.baseball/104586CU, rec.sport.baseball , rec.sport.baseball ,
test/rec.sport.baseball/104603CU, rec.sport.baseball , rec.sport.baseball ,
test/rec.sport.baseball/104659CU, rec.sport.baseball , rec.sport.baseball ,
test/rec.sport.baseball/104684CU, rec.sport.baseball , rec.sport.baseball ,
test/rec.sport.baseball/104752CU, rec.sport.baseball , rec.sport.baseball ,
test/talk.politics.misc/176951CU, talk.politics.misc , talk.politics.misc ,
test/talk.politics.misc/178360CU, talk.politics.misc , talk.politics.misc ,
test/talk.politics.misc/178571CU, talk.politics.misc , rec.sport.baseball ,
test/talk.politics.misc/178738CU, talk.politics.misc , rec.sport.baseball ,
test/talk.politics.misc/178745CU, talk.politics.misc , talk.politics.misc ,
test/talk.politics.misc/178751CU, talk.politics.misc , talk.politics.misc ,
test/talk.politics.misc/178927CU, talk.politics.misc , talk.politics.misc ,
test/talk.politics.misc/178945CU, talk.politics.misc , talk.politics.misc ,
test/talk.politics.misc/178965CU, talk.politics.misc , talk.politics.misc ,
test/talk.politics.misc/179097CU, talk.politics.misc , talk.politics.misc ,
DATA END
Statistics:
comp.graphics: 1.0, 0.9
rec.sport.baseball 0.7692, 1.0
talk.politics.misc: 1.0, 0.8
Complete
0.415517
0.388019
0.346908
0.343762
0.308387
0.480234
0.427433
0.395131
0.673156
0.573311
0.473541
0.333883
0.434561
0.425094
0.352391
0.43765
0.409926
0.364486
0.411635
0.447428
118