Przetwarzanie dokumentów tekstowych w systemie BEATCA Michał Dramiński Krzysztof Ciesielski Instytut Podstaw Informatyki PAN IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Cel i motywacja Celem projektu jest stworzenie narzędzia do wspomagania eksploracji baz dokumentów tekstowych poprzez generowanie nawigowalnych map, na których odległość geometryczna odzwierciedla odległość konceptualną dokumentów, zaś trzeci wymiar odzwierciedla rozkład gęstości dokumentów. Specyfika analizowanych danych: Bardzo duża liczba obserwacji oraz wymiar przestrzeni. Dokumenty są połączone linkami (związki semantyczne). Zmienność danych w czasie (modyfikowane, usuwane, dodawane) Trudności ze zdefiniowaniem obiektywnej miary jakości wyników. Szum w dancyh (np. grupy dyskusyjne) Fizyczne rozproszenie danych. IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Architektura systemu BEATCA Architektura umożliwia wielofazowe przetwarzanie dokumentów tekstowych, jak również porównywanie poszczególnych metod tworzenia map, ich wizualizacji, tematycznego grupowania oraz etykietowania. Pająk ściąga dokumenty z Internetu na lokalny komputer Indekser wstępnie przetwarza dokumenty na postać wektorową. Moduł optymalizacji słownika ocenia termy pod względem dalszej przydatności Moduł wstępnego grupowania selekcjonuje termy potrzebne do inicjalizacji mapera. Maper tworzy etykietowaną mapę (lub mapy) dla zbioru dokumentów. Wyszukiwarka w odpowiedzi na zapytanie użytkownika prezentuje najlepszą (wedle pewnej miary podobieństwa do kwerendy) mapę oraz wskazuje szukane regiony. IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Indexer Usuwa tagi HTML z dokumentów (jeśli trzeba). Rozpoznaje język dokumentów (polski, angielski, niemiecki). Usuwa „stop words”. Ekstrahuje pojedyncze słowa. Stemuje słowa i zapamiętuje ich formę bazową. Buduje słownik termów. Oblicza częstotliwość wystąpień każdego słowa. Zapisuje potrzebne informacje do bazy danych. Potrafi budować w locie streszczenia dokumentów. Wyszukuje częste frazy. IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Rozpoznawanie języka Dla n (domyślnie 20) pierwszych słów z dokumentów zliczana jest liczba wystąpień charakterystycznych znaków dla danego języka. Zliczane z tą samą wagą są wystąpienia stop words dla każdego języka. Decyzja opiera się na wyborze języka, dla którego zanotowano największą wartość wystąpień wspomnianych przypadków. IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Stop words Częste termy charakterystyczne dla danego języka nie wnoszące informacji o rozkładzie stałym niezależnym od treści. Angielska lista „stop words”. http://www.engin.umich.edu/caen/wls/software/oracle/te xt.901/a90121/astopsu2.htm Niemiecka lista „stop words”. http://www.engin.umich.edu/caen/wls/software/oracle/te xt.901/a90121/astopsu7.htm An implementation of Finite State Automatons in Java, Dawid Weiss http://www.cs.put.poznan.pl/dweiss/xml/projects/fsa/ind ex.xml?lang=en IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Stemer Jednoznacznie odwzorowuje różne formy tego samego słowa w ciąg znaków (termy) An implementation of Finite State Automatons in Java, Jan Daciuk http://www.eti.pg.gda.pl/~jandac/fsa.html http://www.cs.waikato.ac.nz/~eibe/stemmers/, lovins stemmer developed by Eibe Frank Algorytm Porter z projektu Lucene A Fast and Simple Stemming Algorithm for German Words, Jorg Caumanns (developed by Gerhard Schwarz, http://www.apache.org/) IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Znajdowanie częstych fraz Po zaindeksowaniu zbioru dokumentów wybieramy n (u nas domyślnie 300) termów najczęstszych. Częste frazy muszą się składać z częstych termów a maksymalna częstość frazy może być równa minimalnej częstości jednego z dwóch termów. Skanujemy zbiór dokumentów po szukając kolejnych po sobie wytypowanych termów. raz drugi wystąpień Ignorujemy wystąpienia dowolnej liczby stop words miedzy szukanymi termami. IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Częste frazy - przykład Zbiór Syskill & Webert sheep fiends dairy goats black sheep special thanks sheep and goats medical center public health medical informatics information departments pharmacy related drugs information health care Zbiór 20Yahoo Newsgroups privacy policy copyright 2002 web site health care national library heart disease sleep apnea medical history medical advice oral health drug information health pregnancy tongue anatomy tongue problems blood pressure heart attack high blood sleep disorders breast cancer sports medicine shoulder pain IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Redukcja rozmiaru słownika Dla każdego termu liczymy miarę jakości: N f td f td d 1 * log Nt ft ft Q1 (t ) * N log f t f td f td d 1 * log ft ft Q2 (t ) N f td f td max d 1 * log ft ft N Termy które przyjmują wartości skrajne dla Q1 poniżej minTres (0.01) i powyżej maxTres(0.95) są ignorowane podczas wstępnego grupowania dokumentów i budowania mapy. IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Streszczenia dokumentów Streszczenia dynamiczne odpowiadające zapytaniu użytkownika. Ekstrakcja zdań z dokumentów (‘.’ lub ‘!’ lub ‘?’). Etap ważenia zdań – każde zdanie jest oceniane. Prezentowanie (n) zdań ocenionych najwyżej w kolejności takiej jak w tekście. IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Streszczenia dokumentów - miara Zapytanie użytkownika składające się ze zbioru słów przekształcane jest przez indekser na zbiór termów {t1, t2, ... , tn} Dla każdego {t1, t2, ... , tn} liczymy {f1, f2, ... , fn} Dla każdego zdania liczymy miarę i=entropy+intensity+size i 1 f n entropy i * ln F ln n F i 1 n f i f F i s m , if size m , if s F Intensity m sm sm IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Przykłady streszczeń – wool production Wool Manufacturing: Shear Pain Many people believe that shearing sheep helps animals who might otherwise be burdened with too much wool. The ultimate cruelty is the live export of seven million sheep every year from Australia to the Middle East, which the Wool Council of Australia supports as "an important component of the wool and sheep industry. There are Alternatives There are alternatives to wool clothes and blankets that the many people who are allergic to wool already use, including cotton, cotton flannel, polyester fleece, and other man-made fibers. IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Interfejs systemu BEATCA Odpowiedź na kwerendę użytkownika prezentowana jest na mapie, z zaznaczonymi komórkami zawierającymi istotne dokumenty. Mapa jest etykietowana, wyróżnione są na niej także brzegi obszarów tematycznych. Lista dokumentów zawiera dynamicznie generowane streszczenia (query-related). Mapa może mieć jedną z następujących postaci: tradycyjna płaska (komórki kwadratowe lub sześciokątne) obracająca się mapa 3D (torus, kula, cylinder) wizualizacja modelu opartego na gazie neuronowym (GNG-U) mapa hiperboliczna (projekcje Poincarrego lub Kleina) IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Interfejs systemu BEATCA Lista dokumentów ze streszczeniami Wybrana komórka Zapytanie Lista map Wybrana mapa IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Trójwymiarowe wizualizacje map IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Etapy tworzenia mapy Zbiór dokumentów Mapa dokumentów Punkty w przestrzeni dokumentów Grupy w przestrzeni dokumentów IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Model wektorowy dla dokumentów My dog likes this food dokument jest punktem w przestrzeni rozpiętej przez termy współrzędne są funkcjami częstości poszczególnych termów dog podobieństwo dokumentów mierzy się kosinusem kąta między reprezentującymi je wektorami podobieństwo dokumentu do danej kwerendy - kwerendę traktujemy jak dokument zawierający treść zapytania When walking, I take some food food Query: walk walk IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Waga termu Standardowa waga TFxIDF: N w(t , d ) freq(t , d ) * log freq(t ) Waga znormalizowana: N freq(t , d ) w(t , d ) * log max freq(t , d ): d D freq(t ) Możliwe inne normalizacje (zwłaszcza względem ilości termów występujących w dokumencie) IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Mapa i odwzorowanie Kohonena Kohonen (1995) przedstawił model uczony w warunkach konkurencji: SOM (Self Organizing Map) SOM to sieć neuronowa do nienadzorowanego grupowania danych neurony (komórki) są zorganizowane w siatkę (zwykle 2D) komórki mogą być kolorowane i etykietowane (tzw. 2,5D mapa) każda komórka ma przypisany wektor referencyjny o wymiarze równym wymiarowi przestrzeni danych komórki leżące w swoim sąsiedztwie opisują grupy danych o podobnych własnościach (bliskość na mapie = bliskość w przestrzeni danych) istotna różnica w porównaniu z tradycyjnym grupowaniem: nie tylko obiekty w obrębie grupy są podobne, podobne są również grupy sąsiadujące na mapie IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Algorytm Kohonena dla dokumentów wartością współrzędnej wektora referencyjnego jest waga dla termu lub frazy (np. znormalizowana waga TFxIDF) miara podobieństwa: kosinus kąta między wektorami aktualizowana jest komórka zwycięska (najbardziej podobna do kolejnego, losowo prezentowanego, dokumentu) oraz komórki sąsiednie iteracyjna regresja wektorów referencyjnych: vi : vi hc ( d ),i (t ) (d vi ) rc ri 2 hc ,i (t ) (t ) * exp 2 2 (t ) 2 IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Nasze modyfikacje Redukcja rozmiaru słownika oraz optymalizacja reprezentacji wektorów referencyjnych Łączona metoda szukania zwycięzcy Mapy wielopoziomowe Wielofazowe grupowanie: wstępne grupowanie dokumentów identyfikacja głównych tematów na mapie WebSOM dla grup dokumentów rozmyte grupowanie komórek WebSOM i ich etykietowanie Inicjalizacja ogólnymi tematami Modele oparte na uczeniu gazu neuronowego IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Inicjalizacja ogólnymi tematami Podobieństwo pomiędzy tematami wpływa zarówno na proces uczenia i wizualizację mapy, jak i identyfikację obszarów tematycznych (grup podobnych komórek) Inicjalizacja tematyczna jest bardziej stabilna niż inicjalizacja losowa. Schemat: wybór K (3-4) równomiernie rozłożonych punktów na mapie jako tzw. „punktów stałych” (fixpoints) poszczególnych tematów inicjalizacja wektorów referencyjnych w punktach stałych tematami głównymi (wybór termów charakteryzujących grupy) inicjalizacja pozostałych komórek wektorami „pośrednimi”: d (c , c ) v d (c , c ) K vj i 1 K i 1 j i j i i j IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Wstępne grupowanie dokumentów Służy do wyboru termów wykorzystywanych do inicjalizacji wektorów referencyjnych Domyślnie dzielimy zbiór dokumentów na cztery grupy Zastosowane metody: rozkład SVD algorytm EM (Expectation Maximization) kombinowany z naiwnym klasyfikatorem bayesowskim algorytm EM kombinowany z metodą PLSA algorytm EM kombinowany z siecią bayesowską (drzewo Chow Liu zbudowane na podstawie ETC) IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Rozkład SVD rozkład SVD (Singular Value Decomposition, aka Latent Semantic Indexing) identyfikuje lewostronne wektory własne macierzy termdokument, reprezentujących ortogonalne kierunki (abstrakcyjne tematy) w przestrzeni termów * * * * * * * * * * * * * * * * * * * * * * * * A U * * * * * * * * * * * * * * * * * * * * * * * * * VT IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Algorytm EM - krok 2 EM algorithm step 2 Hidden variable D T1 Z sampled for each record according to the probability distribution T2 P(Z=1|D=d,T1=t1,...,Tn=tn) P(Z=2|D=d,T1=t1,...,Tn=tn) .... Z Tn Z sampled from BN Data: D 1 2 3 4 5 .......... Z 2 2 1 2 1 T1 1 0 1 0 1 T2 ... 0 ... 0 ... 1 ... 1 ... 0 ... GOTO step 1 untill convergence (Z assignment „stable”) Tn 1 1 1 1 0 IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Naiwny klasyfikator bayesowski Zakłada niezależność (względem siebie) występowania termów/atrybutów a w dokumencie. Bierze pod uwagę tylko wystąpienie termu. Załóżmy że dokument x' X, oznacza pewien rozkład prawdopodobieństwa, a g reprezentuje wartość c ‘clustra’. W fazie E liczymy: P x (c ( x ) g ) P x (ai ( x) v | c( x) g ) W fazie M liczymy: h( x')arg max P n x (c( x) g ) P x (ai ( x) ai ( x' ) | c( x) g ) i 1 IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Metoda PLSA PLSA - Probabilistic Latent Semantic Analysis (Hofmann, 1999) Zakłada niezależność (względem siebie) występowania termów/atrybutów a w dokumencie. Pojedynczy dokument dj może należeć w różnym stopniu do różnych grup (grupowanie nierozłączne). Bierze pod uwagę liczność termów w dokumencie. Problem z uzyskaniem satysfakcjonującego wyniku. IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Sieć bayesowska Reprezentuje zależności pomiędzy poszczególnymi atrybutami w postaci tablicy prawdopodobieństw Przechowujemy prawdopodobieństwa warunkowe wystąpienia/niewystąpienia termu pod warunkiem wystąpienia/niewystąpienia rodzica IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Algorytm ETC Budujemy drzewo krawędzi ETC Szybki algorytm budowy drzewa [M. Kłopotek] Przekształamy na drzewo Chow-Liu IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Finalny wybór termów – metoda 1 Wybieramy termy charakterystyczne dla każdej z grup. log( N ij , g ) * avg( N ij , g ) i,g stdev( N ij , g ) Dt * D i ,g g Gdzie: Nij=Freq(ti,dj) jest liczbą wystąpień ti w dokumencie dj. Indeks g oznacza termy w danej grupie. |Dti,g| to liczba dokumentów w grupie zawierających ti. |Dg| to liczba dokumentów w grupie. Do opisu każdej grupy wybieramy termy o najwyższym τ. Term jest zawsze przypisywany tylko do jednej grupy dla której jego τ jest największe. IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Finalny wybór termów – metoda 2 Oparta na entropii nieznormalizowanej. Dla każdego termu w każdej grupie zliczamy liczności dokumentów w których dany term występuje. c0 health library heart disease sleep c1 13 18 1 12 e c * ln c C C K k 1 k k c2 160 5 178 8 c3 1 55 100 98 C k 1 ck K Wybieram n termów dla każdej grupy o najniższym e. 4 33 32 13 IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Przykładowe tematy - Yahoo groups # 1 topic terms "bbc news" "cancer diabetes" "reservados" "privacidad" "contenido" 2 "traveler" "professional" "recontouring" "mouthguards" "pharyngitis" 3 "topics drug" "access select" "medlineplus health" "news directory" "privacy accessibility" 4 "naps" "bedtime" "awakened" "struggling" "afternoon" IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Etykietowanie komórek mapy Komórki (grupy dokumentów) etykietowane są termami wybranymi na podstawie wektorów referencyjnych: wybierz k termów (współrzędnych) o największych wagach wśród nich - termy o najmniejszej wariancji wag w obrębie klastra Pogrupowane komórki (obszary na mapie) etykietowane są na podstawie ważonych centroidów wektorów referencyjnych oraz entropii międzygrupowej W ostatnim przypadku założenie jest analogiczne jak przy wyborze termów do tematycznej inicjalizacji wektorów referencyjnych: wybrać termy, które różnicują poszczególne obszary IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Model gazu neuronowego (GNG-U) liczba komórek oraz połączenia między nimi są dynamicznie modyfikowane w trakcie uczenia dwie zwycięskie komórki są łączone krawędzią (o wieku 0) krawędzie „starzeją się” – krawędzie pomiędzy rzadko zwyciężającymi komórkami są usuwane z grafu interpolacja: pomiędzy komórkę o największym zakumulowanym błędzie oraz jej bezpośredniego sąsiada o największym błędzie wstawiana jest nowa komórka komórki o niskiej użyteczności (proporcjonalnej do zakumulowanego błędu) są usuwane z grafu wraz z krawędziami uzyskany graf nie musi być spójny – potrzeba nowej metody lokalnego poszukiwania zwycięskich komórek wizualizacja topologii grafu za pomocą mapy IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Wyniki eksperymentalne eksperymenty przeprowadzono na podzbiorze zbioru 20 Yahoo Biomedical newsgroups (1697 dokumentów, ok. 35 MB danych): Birth Defects - 281 Cancers - 288 Dental Conditions - 285 Heart Diseases - 280 Sleep Disorders - 296 Sports Injuries - 265 badane czynniki: czas obliczeń a rozmiar mapy (liczba komórek) wpływ optymalizacji na mapy: • metody redukcji słownika • reprezentacja wektorów referencyjnych IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Czas obliczeń a rozmiar mapy IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Czas obliczeń a optymalizacje IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Wpływ redukcji słownika na mapy Założenia przy konstruowaniu miar jakości: usuwane termy są nieistotne z punktu widzenia różnicowania grup tematycznych w zbiorze dokumentów redukcja złożoności bez pogorszenia jakości Ocena jakości mapy: porównanie z mapą „idealną” (bez optymalizacji) identyczna inicjalizacja i parametry algorytmów miara: średniokwadratowa odległość pomiędzy lokacjami sklasyfikowanych dokumentów na obu mapach Dokumenty ze zbioru Yahoo Biomedical Newsgroups: Stemmer dictionary [all] dictionary [quality] phrases [all] phrases [quality] - 49888 3895 9079 304 Porter 44573 3259 13498 354 IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Podsumowanie dwuwymiarowe, hierarchiczne mapy o elastycznej (dynamicznie modyfikowanej) topologii i rozmiarze (model łączący uczenie gazu neuronowego z funkcją użyteczności oraz mapy Kohonena) zmniejszenie złożoności czasowej oraz pamięciowej zadania poprzez: redukcję wymiaru przestrzeni termów wstępne tworzenie zwartych grup dokumentów tematyczną inicjalizację map (grupowanie bayesowskie, wektory własne w przestrzeni dokumentów) ekstrakcja obszarów tematycznych za pomocą metod łączących algorytmy grupowania nierozłącznego (fuzzy clustering) i metody teoriografowe (drzewa rozpinające) metody etykietowania klastrów oraz obszarów tematycznych IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Dziękujemy za uwagę! Czy mają Państwo pytania? IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Kierunki dalszych badań W przypadku zastosowań związanych z wyszukiwaniem informacji w sieci www konieczna jest dynamiczna aktualizacja modeli tworzonych na każdym etapie procesu przetwarzania danych Zaproponowane podejście, oparte na gazie neuronowym, stanowi pierwszy krok w kierunku w pełni adaptacyjnego grupowania i klasyfikacji dokumentów tekstowych W dalszej kolejności stworzone modele rozbudowane zostaną o podejście bayesowskie oraz grupowanie oparte na sztucznych systemach immunologicznych IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Kierunki dalszych badań Zastosowania sieci bayesowskich: miara istotności dokumentu oparta na sieci (klasyfikator) wstępne grupowanie dokumentów tezaurus do uzupełniania kwered użytkownika ekstrakcja słów kluczowych szacowanie podobieństwa między tematami Zastosowania sztucznych systemów immunologicznych: adaptacyjna klasteryzacja (mechanizm metadynamiki) wydobywanie zwartych charakterystyk grup dokumentów (przeciwciała uniwersalne i specjalizowane) sterowanie rozdzielczością map przy ich wizualizacji IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych Kierunki dalszych badań modele łączne, uwzględniające podczas grupowania i wizualizacji zarówno treść dokumentów tekstowych jak i przepływ referencji (linków) pomiędzy nimi modele uwzględniające miary stabilizacji grup dokumentów (bezwładność masy, stemple czasowe znane z analizy strumieni danych) rozbudowa funkcjonalności pająka internetowego: wprowadzenie miary oceniającej istotność treści dokumentu (na potrzeby tworzenia map tematycznych) estymacja czasu aktualizacji treści w lokalnej bazie danych, w oparciu o statystyczne modele typu multiple-event survival analysis oraz modele „propagacji śmierci” (analogia PageRank)