let16
. Rozważano również inne algorytmy (takie jak: SVM, Naive Bayes, Random Forests), jednak uznano, że algorytm maksimum entropii w większosci testowanych przypadków sprawdza się najlepiej (lub jest bardzo bliski najlepszego wyniku), a przy tym proces treningu i klasyfikacji następuje w nim bardzo szybko. Do tego, algorytm ten cechuje wysoka stabilność, kiedy liczebność przykładów pozytywnych i negatywnych jest zna-cząco różna.
6.3 Testy praktyczne i plany rozwojowe
Do tej pory system był testowany na niewielkim klastrze, składającycm się z trzech ma-szyn z czterordzeniowymi procesorami Intel i5 2500K. Największa zebrana do tej pory baza zawierała ok. miliarda dokumentów, pobranych w przeciągu kilku dni z wybra-nych forów internetowych, blogów oraz serwisów informacyjwybra-nych. CLUO było również testowo wdrażane w jednej z instytucji państwowych.
Zrealizowane doświadczenia pozwoliły na poczynienie szeregu obserwacji:
• Za największe ograniczenie w szybkości działania systemu uznać można proces zbierania danych z internetu. Pełzanie (crawling) po stronach internetowych jest czasochłonne. Zwykle nie można zwiększyć tempa zbierania danych z pojedyń-czego serwisu, gdyż skutkować by to mogło zapchaniem możliwości serwera, bę-dąc w efekcie atakiem typu DoS. Serwisy oferujące dostęp przez API zwykle ogra-niczają przepływ.
• Proces wstępnego przetwarzania jest zależny od ilości dokumentów (liniowo) oraz od języka, rodzaju treści (co ma wpływ na działanie tagerów) i długości tek-stu. Empirycznie obserwowano zdolność do przetwarzania między 10 (dłuższe dokumenty, pełne tagowanie nazwanych jednostek i części mowy), a 10000 (bar-dzo krótkie dokumenty, brak tagowania) dokumentów na sekundę przez jeden rdzeń.
• Obecna implementacja mechanizmu głębokiej analizy sentymentu (która jest, pó-ki co, najbardziej złożonym procesem wśród łańcuchów przetwarzania żądań) jest w stanie analizować ok. 100 dokumentów na sekundę przez jeden rdzeń, skalując się niemal liniowo.
• Do praktycznego trenowania klasyfikatora dokumentów konieczne było wpro-wadzenie limitu dokumentów używanych jako zbiór uczący (niektóre kategorie, które były przypisane automatycznie, mogły zawierać ich miliony) oraz limitu sto-sowanego słownika (terminy występujące bardzo rzadko stanowiły jego znaczącą część – zgodnie z prawem Zipfa [Zipf 1935]).
• Przy ustalaniu rozmiaru klastra należy kierować się głównie wymaganiami co do szybkości przetwarzania danych, niż dostępnością przestrzeni dyskowej. Wspo-mniana baza miliarda dokumentów wraz z wszystkimi obiektami pomocniczymi i metadanymi zajmowała w sumie ok. 2 TB.
6.3. Testy praktyczne i plany rozwojowe 128
Przeprowadzone dotychczas testy oraz opinie użytkowników systemu wskazują dużą przydatność CLUO, mimo relatywnie wczesnego etapu rozwojowego. Osoby ko-rzystające z systemu zaznaczały zdolność do efektywnego odkrywania powiązań mię-dzy różnymi osobami (blogerami, użytkownikami forów) czy też śledzenia trendów i wypowiedzi dotyczących wybranych zagadnień. Wśród uwag krytycznych, wskazy-wano na mało intuicyjny interfejs użytkownika czy też długi czas przetwarzania za-pytań (co w tym konkretnym przypadku miało związek z ograniczoną konfiguracją sprzętową, udostępniającą jedynie pojedyńczą, jednordzeniową maszynę).
Wywnioskować można, iż zastosowane w CLUO mechanizmy lingwistyki kompu-terowej, wśród których znaczącą rolę pełni autorski mechanizm klasyfikacji dokumen-tów, opracowywany w ramach prowadzonych badań naukowych, dają rzeczywistą war-tość – usprawniając i przyśpieszając pracę analityka. Dzieje się to głównie poprzez pre-cyzyjne segmentowanie treści, automatyczne wydobywanie istotnych informacji (słu-żących do tworzenia raportów) czy też automatyczne odkrywanie sieci powiązań.
Wykorzystanie prezentowanej koncepcji rodziny metod pozwoliło na uzyskanie wysokiej jakości rezultatów klasyfikacji dokumentów (szczegółowe wyniki zostały przedstawione w rozdziale5) i zademonstrowało praktyczną wykonalność oraz celo-wość proponowanego podejścia. Jako że obecnie zdefiniować można w danym momen-cie tylko jeden wariant używany w systemie, w następnej wersji CLUO planowane jest wprowadzenie możliwości konfiguracji wariantu metody dla każdej kategorii. Pozwoli to na dopasowanie najlepszego typu klasyfikatora do danego problemu (kategorii).
W ramach planu rozwojowego, oprócz elementów związanych z polepszeniem do-świadczenia użytkownika, wspomnieć warto kilka kolejnych obszarów zainteresowań. Pierwszym z nich jest wprowadzenie mechanizmu podsumowywania treści. Rozwijał-by on idee przedstawionej grafowej reprezentacji treści dokumentu, do wyboru kluczo-wych terminów oraz segmentów w danym tekście. Mógłby do tego celu wykorzysty-wać koncepcje przedstawione w [Mihalcea 2004a,Mihalcea 2004b]. Z punktu widzenia użytkownika, funkcjonalność taka pozwoliłaby na przedstawienie streszczenia infor-macji zawartych w aktualnie analizowanym zakresie danych.
Planowane jest rozszerzenie mechanizmu budowy sieci połączeń między jednost-kami, poprzez rozbudowę ekstrakcji kontekstu, w jakim występują. Na podstawie do-tychczasowych prac, wydaje się, że można zastosować proponowane podejście rodziny metod do ukształtowania takiej formy reprezentacji kontekstu, która „kondensowała-by” jego sens i umożliwiała klasyfikację rodzaju powiązania. Na przykład, kontekst w jakim występują osoby A oraz B mógłby zostać oznaczony jako „biznes”, „sport”, etc.. Pozwoliłoby to analitykom efektywniej poruszać się w zbudowanej (na podstawie treści!) sieci społecznościowej.
Cały czas aktualne jest dalsze polepszanie rezultatów osiąganych przez już zaim-plementowane mechanizmy – ekstrakcji sentymentu, tagowania nazwanych jednostek, czy też samej klasyfikacji dokumentów.
Połączenie dobrej skalowalności, z możliwościami rozwojowymi rozbudowy łańcu-chów przetwarzania żądań oraz rzeczywistym zapotrzebowaniem na usługi dostarczo-ne przez CLUO wydaje się dobrze rokować jego dalszemu rozwojowi.
Rozdział 7
Podsumowanie
Dimidium facti, qui bene coepit, habet, sapere aude, incipe
(Połowę pracy ma za sobą, kto dobrze zaczął, miej odwagę być mądrym, zacznij) -Horacy
Celem pracy było zbadanie możliwości kształtowania metody rozpoznawania do-kumentów, w zależności od specyficznych właściwości użytego w tekście języka. Moż-na wyodrębnić trzy główne składowe rozwiązania tego problemu:
1. Ustalenie, jakie rodzaje cech semantyki tekstu mogą określać rodzaj języka. 2. Opracowanie sposobu ich reprezentacji (budowy modelu).
3. Zastosowanie modelu w procesie maszynowego uczenia.
Poszukując dobrych cech definiujących rodzaj języka, posiłkowano się głównie wnioskami różnych obserwacji lingwistycznych związanych ze statystycznymi cecha-mi stosowania różnych kategorii gramatycznych, jak również przesłankacecha-mi płynącycecha-mi z badań nad pozyskiwaniem języka przez ludzi.
Nakierowało to autora na stosowanie grafu jako abstrakcji użytej do niesienia tre-ści zawartej w dokumencie. Mógł on być wydobyty za pomocą zestawu reguł opartych o płytką analizę semantyczną, dostosowanych do konkretnego problemu. Samo stoso-wanie grafu, jako reprezentacji tekstu, zostało już wcześniej użyte, m. in. w pracach Schenkera et al. – które stanowiły istotny przyczynek do prowadzonych badań.
Łącząc wspomniane przesłanki związane z wyborem cech semantyki tekstu z gra-fową reprezentacją tekstu, zaproponowane zostały kryteria, które ma spełniać
meta-metoda. Na ich podstawie uformowana została propozycja rodziny metod, będącą
usys-tematyzowaną metodologią, pozwalającą na łatwe (a wręcz intuicyjne) kształtowanie docelowego mechanizmu budowy reprezentacji treści dokumentu, dopasowując go do konkretnego problemu. Propozycja ta pozwala definiowac sposób wyboru (filtrowania) oraz generacji cech modelu, jak równieź budować reguły konstrukcji grafu, w zależno-ści od potrzeb rozpoznawania danej klasy tekstów. Może zatem służyć do symulacji konkretnej kompetencji językowej, dedykowanej do danego zastosowania.
W trakcie prac badawczych przeprowadzono znaczną ilość testów, zarówno na ko-lekcjach dokumentów w języku polskim jak i angielskim, których rezultaty prezentowa-ne były na konferencjach naukowych. W toku dotychczasowych poszukiwań, powstały cztery warianty proponowanej rodziny, służące do rozwiązywania konkretnych testo-wanych problemów.
130
Stworzono również rozbudowany aparat badawczy, mierzący wiele kryteriów ana-lizowanych metod. Integrował on używane narzędzia, automatyzował proces testujący, umożliwiał analizę zbiorów tekstów oraz pozwalał na porównywanie wyników klasy-fikacji między wieloma kombinacjami sposobu reprezentacji tekstu i metod maszyno-wego uczenia. Był on nieodzowną pomocą w prowadzeniu badań. W trakcie tych prac powstały również pomocnicze narzędzia, takie jak szybki tager części mowy, przystoso-wany do łatwego uruchamiania w chmurze obliczeniowej (zastosoprzystoso-wany potem również w CLUO).
Ostateczne testy zostały wykonane na kilku zbiorach dokumentów, o istotnie róż-nej charakterystyce – zarówno pod względem użytego rodzaju języka jak i ilości oraz typów przypisanych do nich kategorii. Znalazły się wśród nich: wiadomości prasowe, opisy aukcji internetowych, jak i krótkie wpisy (oraz komentarze) z serwisów społecz-nościowych. Porównano rezultaty uzyskane przez proponowane warianty wraz z tymi osiągniętymi metodą Schenkera oraz trzema alternatywnymi wersjami modelu wekto-rowego. Analizowano wiele różnych algorytmów klasyfikacji, ostatecznie zastosowano dwa algorytmy sztucznej inteligencji i kilka wariacji miary odległości, które uznane zo-stały za najbardziej miarodajne. Dokonano weryfikacji uzyskanych wyników statystycz-nymi testami istotności. Analizując osiągnięte rezultaty, zaproponowano preferowane metody dla każdego z rozpatrywanych korpusów, co prezentuje tab.7.1.
Tabela 7.1: Preferowane metody w zależności od charakteru korpusu tekstów
Rodzaj Spodziewane Najlepsza korpusu metody metoda
Serwisy informacyjne, Wariant A
Wariant B
wiadomości prasowe Wariant B
Opisy przedmiotów Wariant A
Wariant A
o różnym charakterze Wariant B
Portale społecznościowe, Wariant C
Wariant D
tekst nacechowany sentymentem Wariant D
Osiągnięte rezultaty potwierdzają tezę, iż budowa specyficznej metody, dostosowa-nej do konkretnego problemu (rodzaju języka), niesie widoczną poprawę rezultatów w stosunku do metod bazowych. Wykorzystanie informacji uzyskanych z pomocą płyt-kiej analizy semantycznej i posiłkowanie się powszechnie dostępnymi słownikami (słu-żącymi do wzbogacenia treści) umożliwiło wydobycie z tekstu struktur przypominają-cych swoim charakterem sieć semantyczną, która lepiej odzwierciedlała sens niesionej wypowiedzi, niż model wektorowy bądź graf zbudowany metodą Schenkera et al.
Nie można nie wspomnieć o praktycznym aspekcie przedstawianych koncepcji. Pre-zentowana rodzina metod znalazła swoje zastosowanie jako klasyfikator dokumentów systemu CLUO, przyczyniając się do polepszenia uzyskiwanych rezultatów, a co za tym idzie, usprawnienia pracy analityka.
Reasumując, autor uważa, iż w toku prowadzonych badań udało się dokonać pew-nego wkładu w badaną dziedzinę:
131
1. Stworzono koncepcję rodziny metod metodologię budowania specyficznej me-tody klasyfikacji tekstu, odpowiedniej do danego zastosowania, wraz z kilkoma przykładowymi wariantami (por. rozdział3).
2. Stworzono rozbudowany aparat testujący metody klasyfikacji dokumentów, który analizował szereg metryk i porównywał statystyczną istotność uzyskanych rezul-tatów (por. rozdział4).
3. Zebrano i usystematyzowano kilka kolekcji dokumentów, służących do przepro-wadzania badań. Dokonano analizy ich charakterystyki oraz występujących mię-dzy nimi różnic (por. rozdział5i dodatekB).
4. Stworzono tager podstawowych kategorii gramatycznych dla języka polskiego, zaimplementowany całkowicie w Javie i pozwalający na łatwe wdrożenie w chmu-rze obliczeniowej (por. rozdział4.5).
5. Zaproponowano metodę prostego wyboru cech z grafu, efektywnie „spłaszcza-jąc” graf z reprezentacją tekstu do postaci wektora (por. rozdział3.1.3).
6. Zastosowano koncepcję rodziny metod w systemie CLUO, co wykazało realizowal-ność i celowość stosowania tego podejścia w praktycznie używanym rozwiązaniu informatycznym (por. rozdział6).
Aparat zaproponowany w ramach rodziny metod może być dalej rozwijany i sto-sowany do wybranych zagadnień, pozwalając na de-facto meta-inżynierię sposobu bu-dowy modelu. Stosując intuicyjne reguły, opierające się na regułach lingwistycznych, generować można dowolnie wiele wariantów reprezentacji danego tekstu, co pozwala na zdefiniowanie meta-cech istotnych w danym problemie. Planowane jest rozszerze-nie rodziny metod zastosowanej w CLUO o dodatkowych członków, dedykowanych do nowych problemów – takich jak np. rozpoznawanie treści noszących znamiona prze-stępstwa.
Użyty sposób reprezentacji treści dokumentu może być także zastosowany w in-nych, niż klasyfikacja, problemach lingwistyki komputerowej. Uzyskane do tej pory efekty otwierają szereg kierunków związanych z dalszym wykorzystaniem propono-wanego podejścia:
• Proponowana rodzina metod może posłużyć do klastrowania dokumentów, choć-by wykorzystując algorytm centroid i używane obecnie miary odległości między grafami.
• Wydaje się, że spory potencjał tkwi w kształtowaniu sposobu klasyfikacji wydo-bytych grafów, w tym „spłaszczaniu” ich do postaci wektorowej. Świadczą o tym np. prace [Riesen 2010, Yan 2007, Markov 2005b, Markov 2005a, Markov 2008,
Jiang 2009].
• Przechodząc do drobniejszego poziomu granularyzacji, klasyfikować można ro-dzaje połączeń między nazwanymi jednostkami rozpoznanymi w tekście. Wydaje się, że połączenie grafowej reprezentacji tekstu i koncepcji rodziny metod może do-brze się sprawdzić w tym zagadnieniu.
132
• Dysponując grafową reprezentacją tekstu i kształtując sposób jej budowania, moż-na by stworzyć dobre podstawy do generowania streszczenia dokumentu, rozbu-dowując koncepcje zaprezentowane w [Mihalcea 2004a].
Dodatek A
Wybrane przypadki użycia związane
z przetwarzaniem dokumentów
w ramach lingwistyki komputerowej
Poniżej wymieniono istotne zastosowania metod przetwarzania dokumentów. Wiele z nich jest często stosowanych w codziennych działaniach typowego użytkownika kom-putera - np. podczas pracy z dokumentami w procesorze tekstów czy też korzystaniu z wyszukiwarek internetowych. Inne mają zastosowania bardziej specjalistyczne, do-menowe bądź też są na etapie badań akademickich.
W praktyce, zadania te często są ze sobą łączone, na zasadzie „komponentów” archi-tektury analizy treści dokumentów. Na przykład - systemy tłumaczenia maszynowego są łączone z wyszukiwarkami informacji, realizując w ten sposób wyszukiwanie mię-dzyjezykowe. Antagonistyczne wyszukiwanie informacji korzysta z metod klasyfikacji dokumentów, znajdując w ten sposób podejrzane treści. Typowe wzajemne relacje mię-dzy przedstawionymi przypadkami użycia oraz (szerzej pojętymi) zadaniami w prze-twarzaniu dokumentów prezentuje rysunekA.1.
A.1 Wyszukiwanie informacji
A.1.1 Przypadek użycia: wyszukiwanie dokumentów na podstawie słów