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 BEATCAArchitektura 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/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
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 raz drugi szukając kolejnych po sobie wystąpień wytypowanych termów.
Ignorujemy wystąpienia dowolnej liczby stop words miedzy szukanymi termami.
IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych
Częste frazy - przykładprivacy policycopyright 2002web sitehealth carenational libraryheart diseasesleep apneamedical historymedical adviceoral healthdrug informationhealth pregnancytongue anatomytongue problemsblood pressureheart attackhigh bloodsleep disordersbreast cancersports medicineshoulder pain
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 Syskill & Webert
Zbiór 20Yahoo Newsgroups
IPI PAN 31.01.2005 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.
t
N
dt
td
t
td
t
f
ff
ff
N
NtQ
log
log*
*)(1
1
N
dt
td
t
td
N
dt
td
t
td
ff
ff
ff
ff
tQ
1
1
2
log*max
log*
)(
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
nFFentropy
n
iii
ff
ln
ln*1
n
i ifF
1 m
FIntensity
msifs
m
msifm
s
size,
,
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 map
Wybrana mapa
Lista dokumentów ze streszczeniami
Zapytanie
Wybrana komórka
IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych
Trójwymiarowe wizualizacje map
IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych
Zbiór dokumentów
Punkty w przestrzeni dokumentów
Grupy w przestrzeni dokumentów
Mapa dokumentów
Etapy tworzenia mapy
IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych
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
dog
food
walk
Query: walk
My dog likes this food
When walking, I take some food
IPI PAN 31.01.2005 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)
)(log*),(),(
tfreq
Ndtfreqdtw
)(
log*:),(max
),(),(
tfreq
N
Dddtfreq
dtfreqdtw
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:
)()(: ),( iidcii vdthvv
)(2exp*)()(
22
,
2
t
rrtth ic
ic
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 mapieWebSOM 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”:
jK
i ij
i
K
i ijj
ccd
vccdv
1
1
),(
),(
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 SVDalgorytm EM (Expectation Maximization) kombinowany z naiwnym klasyfikatorem bayesowskimalgorytm 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 term-dokument, reprezentujących ortogonalne kierunki (abstrakcyjne tematy) w przestrzeni termów
*****
*****
*****
*****
*****
***
***
***
*****
*****
*****
TVUA
IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych
Algorytm EM - krok 2
EM algorithm step 2
Data:D Z T1 T2 ... Tn1 2 1 0 ... 12 2 0 0 ... 13 1 1 1 ... 14 2 0 1 ... 15 1 1 0 ... 0..........
Z sampled from BN
D Z
T1
T2
Tn
Hiddenvariable
GOTO step 1 untill convergence (Z assignment „stable”)
Z sampled for each record according to the probability distribution
P(Z=1|D=d,T1=t1,...,Tn=tn)P(Z=2|D=d,T1=t1,...,Tn=tn)....
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:
W fazie M liczymy:
))(( gxcPx
))(|)(( gxcvxaP ix
n
iiixx
gxcxxgxc aaPPxh1
))(|)'()(())((maxarg)'(
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.
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.
D
DN
NNg
g
gij
gijgij
gi
t
stdev
avgi,
,
,,
,*
)(
)(*)log(
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 c1 c2 c3health 13 160 1 4library 18 5 55 33heart disease 1 178 100 32sleep 12 8 98 13
K
kkk
CCe cc
1ln*
K
k kcC1
Wybieram n termów dla każdej grupy o najniższym e.
IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych
Przykładowe tematy - Yahoo groups
# topic terms
1 "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 - 281Cancers - 288Dental Conditions - 285Heart Diseases - 280Sleep Disorders - 296Sports 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:
Stemmerdictionary
[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ówwstę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?
Czy mają Państwo pytania?
IPI PAN 31.01.2005 BEATCA: przetwarzanie dokumentów tekstowych
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
Kierunki dalszych badań
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ówtezaurus do uzupełniania kwered użytkownikaekstrakcja słów kluczowychszacowanie 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)