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