1 / 44

Przetwarzanie dokumentów tekstowych w systemie BEATCA

Przetwarzanie dokumentów tekstowych w systemie BEATCA. Michał Dramiński Krzysztof Ciesielski Instytut Podstaw Informatyki PAN. Cel i motywacja.

mark-barnes
Download Presentation

Przetwarzanie dokumentów tekstowych w systemie BEATCA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Przetwarzanie dokumentów tekstowych w systemie BEATCA Michał Dramiński Krzysztof Ciesielski Instytut Podstaw Informatyki PAN

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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/text.901/a90121/astopsu2.htm • Niemiecka lista „stop words”. http://www.engin.umich.edu/caen/wls/software/oracle/text.901/a90121/astopsu7.htm • An implementation of Finite State Automatons in Java, Dawid Weiss http://www.cs.put.poznan.pl/dweiss/xml/projects/fsa/index.xml?lang=en

  7. 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/)

  8. 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 raz drugi szukając kolejnych po sobie wystąpień wytypowanych termów. • Ignorujemy wystąpienia dowolnej liczby stop words miedzy szukanymi termami.

  9. BEATCA: przetwarzanie dokumentów tekstowych Częste frazy - przykład Zbiór Syskill & Webert Zbiór 20Yahoo Newsgroups

  10. BEATCA: przetwarzanie dokumentów tekstowych Redukcja rozmiaru słownika Dla każdego termu liczymy miarę jakości: 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.

  11. 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.

  12. 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

  13. 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.

  14. 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)

  15. BEATCA: przetwarzanie dokumentów tekstowych Interfejs systemu BEATCA Lista dokumentów ze streszczeniami Wybrana komórka Wybrana mapa Zapytanie Lista map

  16. BEATCA: przetwarzanie dokumentów tekstowych Trójwymiarowe wizualizacje map

  17. BEATCA: przetwarzanie dokumentów tekstowych Zbiór dokumentów Mapa dokumentów Grupy w przestrzeni dokumentów Punkty w przestrzeni dokumentów Etapy tworzenia mapy

  18. BEATCA: przetwarzanie dokumentów tekstowych My dog likes this food dog When walking, I take some food food Query: walk walk Model wektorowy dla dokumentów • dokument jest punktem w przestrzeni rozpiętej przez termy • współrzędne są funkcjami częstości poszczególnych termów • 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

  19. BEATCA: przetwarzanie dokumentów tekstowych Waga termu • Standardowa waga TFxIDF: • Waga znormalizowana: • Możliwe inne normalizacje (zwłaszcza względem ilości termów występujących w dokumencie)

  20. 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 BEATCA: przetwarzanie dokumentów tekstowych Mapa i odwzorowanie Kohonena

  21. 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:

  22. 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

  23. 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”:

  24. 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)

  25. BEATCA: przetwarzanie dokumentów tekstowych Rozkład SVD • rozkład SVD (Singular Value Decomposition, aka Latent Semantic Indexing) identyfikuje lewostronne wektory własne macierzy term-dokument, reprezentujących ortogonalne kierunki (abstrakcyjne tematy) w przestrzeni termów

  26. BEATCA: przetwarzanie dokumentów tekstowych Algorytm EM - krok 2

  27. 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: • W fazie M liczymy:

  28. 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.

  29. 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

  30. 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

  31. BEATCA: przetwarzanie dokumentów tekstowych Finalny wybór termów – metoda 1 Wybieramy termy charakterystyczne dla każdej z grup. • 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.

  32. 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. • Wybieram n termów dla każdej grupy o najniższym e.

  33. BEATCA: przetwarzanie dokumentów tekstowych Przykładowe tematy - Yahoo groups

  34. 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

  35. 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

  36. 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

  37. BEATCA: przetwarzanie dokumentów tekstowych Czas obliczeń a rozmiar mapy

  38. BEATCA: przetwarzanie dokumentów tekstowych Czas obliczeń a optymalizacje

  39. 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:

  40. 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

  41. BEATCA: przetwarzanie dokumentów tekstowych Dziękujemy za uwagę! Czy mają Państwo pytania?

  42. 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

  43. 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

  44. 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)

More Related