Keywords Extraction Service

Transkrypt

Keywords Extraction Service
Keywords Extraction Service
Jarosław Szymczak
Krótki opis serwisu
Serwis do ekstrakcji słów kluczowych korzysta z cech generowanych przez KEA1 (czynniki
brane pod uwagę opisane są na stronie programu) oraz Lemmatizator2 (pod uwagę brana jest
część mowy i zdania jaką jest dane słowo) w celu przypisania słowom występującym w danym
tekście współczynnika proporcjonalnego do prawdopodobieństwa, że dane słowo jest słowem
kluczowym. Program działa w oparciu o przykłady uczące i wykorzystuje naiwny klasyfikator
Bayesa3. Należy zbudować model na podstawie znanych tekstów i przypisanych im słów
kluczowych oraz zbioru dokumentów o podobnej tematyce jak te, które będą analizowane w
celu umożliwienia analizy częstości występowania poszczególnych słów. Projekt składa się z
następujących klas:
 pl.man.poznan.synat.keywords.* – zawiera klasy pomocnicze oraz główną klasę
programu
o Main – klasa zawierająca przykład całego przebiegu procesu ekstrakcji
słów kluczowych, od uczenia modelu do ekstrakcji słów z
przykładowego tekstu
 pl.man.poznan.synat.keywords.model.Model – główna klasa programu, która
tworzy i zapisuje, odczytuje oraz aplikuje model stworzony na podstawie
przykładów do nowych dokumentów w celu ekstrakcji słów kluczowych
 kea.* - pakiety związane z programem KEA, zostały one zmienione w taki
sposób, aby możliwa była generacja słownika frekwencyjnego podczas
tworzenia modelu
 pl.man.poznan.synat.lemmatizaor.* – pakiet zawierający wszystkie klasy
współpracujące z Lemmatizatorem i częścią modelu ekstrakcji słów kluczowych
z nim związaną
o LemmatizatorHTTPClient – klasa wysyłająca tekst do Lemmatizatora
oraz odbierająca jego odpowiedź
o LemmatizatorXMLHandler – klasa odpowiedzialna za analizę XMLa
otrzymanego z Lemmatizatora
o LemmatizatorModel – część modelu powiązana z Lemmatizatorem
W celu dalszego rozwoju serwisu konieczne będzie zapoznanie się ze sposobem używania
pakietu Weka4 (np. aby klasyfikacja brała pod uwagę dodatkowe cechy).
Przydatne informacje:
 uczenie odbywa się na podstawie pary plików *.txt (z dokumentem) oraz *.key (z każdą
frazą kluczową w osobnej linii)
 jeżeli pliki są jednolinijkowe możliwe jest wstawienie pierwszej linijki z frazami
kluczowymi oddzielonymi przecinkami, a następnie konwersja do formatu
wymienionego powyżej
 analizę programu najlepiej rozpocząć od klasy Main, oprócz JavaDOC w miejscach,
które mogą być niejasne występują także komentarze w kodzie
1
http://www.nzdl.org/Kea/description.html
http://seagrass.man.poznan.pl/~michzimny/lemmatizator/
3
http://en.wikipedia.org/wiki/Naive_Bayes_classifier
4
http://weka.wikispaces.com/Programmatic+Use
2