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