Table Of ContentUniwersytet Warszawski
Wydział Matematyki, Informatyki i Mechaniki
Błażej Zyglarski
Wykorzystanie sieci neuronowych i algorytmów
genetycznych w analizie i kategoryzacji
dokumentów naukowych
Praca doktorska
dr hab. Piotr Bała, prof. UMK
Wydział Matematyki i Informatyki
Uniwersytet Mikołaja Kopernika
październik 2011
Deklaracja autora:
świadomyodpowiedzialnościkarnejdeklaruję, żenapisałemtępracęsamodzielnie
a cała jej zawartość została uzyskana zgodnie z prawem.
10 października 2011 ...............................
date Błażej Zyglarski
Deklaracja przełożonego:
praca jest gotowa do recenzji.
10 października 2011 ...............................
date dr hab. Piotr Bała, prof. UMK
Streszczenie
Niniejsza praca jest poświęcona metodom automatycznej analizy dokumentów na-
ukowych. Jej cel to stworzenie dobrej metody na znajdowanie powiązanych ze sobą
dokumentów i wyznaczanie słów kluczowych opisujących te dokumenty. Przedstawione
w tej rozprawie podejście do tego tematu składa się z zagadnień dotyczących: oblicza-
nia miary różnic pomiędzy dokumentami, kategoryzowania dokumentów i wyznaczania
słów kluczowych dla dokumentu.
Analiza dokumentów w ogólności jest trudna. Tym trudniejsza jest analiza doku-
mentów naukowych, które wykorzystują zaawansowaną terminologię, która dodatkowo
może występować w dokumencie rzadko. To powoduje, że klasyczne metody wyodręb-
niania słów kluczowych takich dokumentów stają się nieefektywne. Prezentowane w tej
pracy metody są w stanie przeprowadzić analizę różnych danych, ale najlepsze wyniki
uzyskują podczas przetwarzania tekstów naukowych.
Pierwszym etapem pracy była kategoryzacja dokumentów w obrębie repozytorium.
Na bazie kilku badanych miar różnic pomiędzy dokumentami, opartych na analizie
statystycznej słów, analizie n-gramów i miary różnic Kołmogorowa, w niniejszej pracy
zdefiniowano nowy sposób podziału dokumentów na kategorie. Kategoryzacja doku-
mentówzostałaprzeprowadzonawoparciuosamoorganizującesięsieciKohonena,które
w celu optymalizacji ich działania, zmodyfikowane zostały z wykorzystaniem idei algo-
rytmów genetycznych i dynamicznych sieci neuronowych.
Kolejnym etapem niniejszej pracy była dokładna analiza dokumentów, wyznacza-
jąca opisujące je słowa kluczowe. Na tym etapie wykorzystano również samoorgani-
zujące się sieci neuronowe Kohonena, które rozszerzono o umiejętność wzmacniania
wyniku, bazującą na kategoriach i miarach różnic dokumentów wyznaczonych w pierw-
szym etapie. Do usprawnienia procesu użyto łańcuchów Markowa wartościujących po-
szczególne słowa z dokumentów.
Przedstawione w niniejszej rozprawie nowe podejście do problemu analizy tekstu
pozwala znacząco przyspieszyć proces wyszukiwania informacji, który dotychczas wy-
magał sprecyzowania przez szukającego zapytania, a następnie wyboru odpowiednich
wyników spośród wielu rezultatów proponowanych przez wyszukiwarki internetowe.
Zaprojektowane algorytmy pozwalają na stworzenie kolekcji dokumentów związanych
z dokumentami inicjującymi, kilkukrotnie poprawiając wyniki otrzymane za pomocą
zwykłych systemów wyszukiwawczych. Zaprojektowane algorytmy przetestowano na
różnych zbiorach dokumentów, co potwierdziło poprawność ich konstrukcji i trafność
wyników otrzymanych podczas ich działania.
Słowa kluczowe: sieci neuronowe; złożoność Kołmogorowa; algorytmy gene-
tyczne; łańcuchy Markowa;
Klasyfikacja AMS 2000: 92B20, 68T99, 60J22, 68Q30, 91C20
Abstract
In this thesis novel methods of automatic analysis of scientific documents are pre-
sented. Main goal of this work was to create a good method for finding related docu-
ments and selecting keywords among them. Presented approach consists of computing
distances between documents, categorizing documents and selecting keywords.
Analysisofdocumentscanbedifficult. Scientificdocumentsanalysisisevenharder,
because advanced and rare terminology is used there. For that reason classic methods
of selecting keywords are not effective. Methods presented in this thesis can deal with
different data, but the best results can be achieved for scientific texts.
Firstpartofthethesisdescribesdocumentscategorization. Threedistancesbetween
documents has been defined and used to perform categorization. Namely we have used:
statistical words appearance, n-grams analysis and Kolmogorov distance. A new way
of documents comparison with use of these distances is presented. Categorization is
performed with use of self organizing Kohonen neural networks, which are modified
here with usage of genetic algorithms and dynamic neural networks.
Next part of this thesis is document analysis and keywords selection. Self Orga-
nizing Maps are used again with addition of reinforcement upon previously computed
documents distances and categories. Markov chains are used for preprocessing words
weights.
Presented in this thesis new approach to scientific documents analysis provides
improvement of the information retrieval process, in which user was needed for cre-
ating search queries and filtering results given by search engines. This process can be
automated with usage of algorithms created in this thesis.
Presented algorithms were tested on various sets of initial data. The results confir-
med accuracy of returned results and proved effectiveness of presented approach.
Keywords: neural networks; Kolmogorov complexity; genetic algorithms; Markov
chains;
AMS Classification: 92B20, 68T99, 60J22, 68Q30, 91C20
Spis treści
Spis rysunków xi
Spis tablic xv
Wstęp 1
Cel prowadzonych badań . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Struktura pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1 Metody analizy tekstu 7
1.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Porównywanie dokumentów na podstawie liczebności słów . . . . 8
1.2.1 Częstość występowania słów w tekstach . . . . . . . . . . . 9
1.2.2 Słowa nieistotne . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.3 Miara różnic (ze względu na częstość słów) pomiędzy do-
kumentami . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3 Metoda częstości n-gramów . . . . . . . . . . . . . . . . . . . . . 22
1.3.1 Miara różnic (ze względu na częstość n-gramów) między
dokumentami . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.4 Złożoność Kołmogorowa . . . . . . . . . . . . . . . . . . . . . . . 27
1.4.1 Miara różnic (ze względu na złożoność Kołmogorova) po-
między dokumentami . . . . . . . . . . . . . . . . . . . . . 28
1.5 Cechy, na które zwracają uwagę poszczególne miary różnic doku-
mentów. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2 Kategoryzacja tekstów 33
2.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2 Sieci neuronowe Kohonena . . . . . . . . . . . . . . . . . . . . . . 34
2.2.1 Model matematyczny . . . . . . . . . . . . . . . . . . . . . 35
2.2.2 Algorytm . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.2.3 Zbieżność sieci . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2.4 Uzupełnianie kategoryzacji . . . . . . . . . . . . . . . . . . 40
vii
SPIS TREŚCI
2.3 Sieci dynamiczne . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.3.1 Sieci zmieniające swoją strukturę . . . . . . . . . . . . . . 43
2.3.2 Przypadek kategoryzacji tekstów . . . . . . . . . . . . . . 44
2.3.3 Algorytm . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.4 Algorytmy genetyczne a mediana . . . . . . . . . . . . . . . . . . 45
2.4.1 O algorytmach ewolucyjnych . . . . . . . . . . . . . . . . . 46
2.4.2 O algorytmach genetycznych . . . . . . . . . . . . . . . . . 47
2.4.3 Obliczanie przybliżonej mediany . . . . . . . . . . . . . . . 48
2.4.4 Zbieżność sieci dynamicznej . . . . . . . . . . . . . . . . . 53
2.4.5 Porównanie efektywności algorytmów . . . . . . . . . . . . 53
2.5 Wyniki kategoryzacji . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.5.1 Porównanie wyników . . . . . . . . . . . . . . . . . . . . . 55
2.5.2 Scalanie wyników . . . . . . . . . . . . . . . . . . . . . . . 57
2.5.3 Testy scalania wyników . . . . . . . . . . . . . . . . . . . . 58
2.5.4 Inne metody analizy skupień . . . . . . . . . . . . . . . . . 60
3 Wyznaczanie słów kluczowych 65
3.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.2 Idea wyznaczania słów kluczowych . . . . . . . . . . . . . . . . . 66
3.3 Model odległości słów w dokumencie . . . . . . . . . . . . . . . . 68
3.3.1 Efektywny algorytm wyznaczania odległości słów w doku-
mencie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.4 Kategoryzacja słów w oparciu o sieci neuronowe Kohonena . . . . 75
3.4.1 Model matematyczny . . . . . . . . . . . . . . . . . . . . . 75
3.4.2 Algorytm . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.5 KategoryzacjasłówwoparciuosiecineuronoweKohonenazewzmoc-
nieniem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.5.1 Uczenie się ze wzmocnieniem . . . . . . . . . . . . . . . . 79
3.5.2 Ogólny model matematyczny . . . . . . . . . . . . . . . . 80
3.5.3 Wykorzystanienaukizewzmocnieniemwwyznaczaniusłów
kluczowych dokumentu . . . . . . . . . . . . . . . . . . . . 83
3.6 Kategoryzacja słów z wykorzystaniem dynamicznych sieci neuro-
nowych i algorytmów genetycznych . . . . . . . . . . . . . . . . . 89
3.7 Kategoryzacja słów z wykorzystaniem rankingu słów . . . . . . . 89
3.7.1 Założenia Google PageRank . . . . . . . . . . . . . . . . . 91
3.7.2 Założenia rankingu słów . . . . . . . . . . . . . . . . . . . 93
3.7.3 Podstawy teoretyczne algorytmu . . . . . . . . . . . . . . 97
3.7.4 Algorytm wyznaczania wag słów . . . . . . . . . . . . . . . 99
3.7.5 Rezultaty . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.8 Zależność wyników od ilości dokumentów zgromadzonych w repo-
zytorium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
viii
SPIS TREŚCI
3.8.1 Inne metody wyznaczania słów kluczowych . . . . . . . . . 105
4 Podsumowanie 111
4.1 Nowe metody porównywania tekstów . . . . . . . . . . . . . . . . 111
4.2 Nowe metody wyznaczania słów kluczowych w tekstach . . . . . . 112
4.3 Uzyskane wyniki . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.4 Wykorzystanie algorytmów . . . . . . . . . . . . . . . . . . . . . . 113
4.5 Wyniki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.6 Dalsze badania . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
A Struktura aplikacji 115
A.1 Interfejsy użytkownika . . . . . . . . . . . . . . . . . . . . . . . . 116
A.1.1 Dodatkowe interfejsy . . . . . . . . . . . . . . . . . . . . . 116
A.2 Cykl życia systemu . . . . . . . . . . . . . . . . . . . . . . . . . . 117
A.3 Repozytorium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
A.3.1 Automatyczne pozyskiwanie dokumentów z Google . . . . 117
A.3.2 Dokumenty naukowe . . . . . . . . . . . . . . . . . . . . . 119
A.3.3 Ilość dokumentów w repozytorium . . . . . . . . . . . . . . 119
A.4 Baza danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
B Ewaluacja systemu 121
B.1 Dokumenty naukowe . . . . . . . . . . . . . . . . . . . . . . . . . 121
B.1.1 Dane wejściowe . . . . . . . . . . . . . . . . . . . . . . . . 121
B.1.2 Dane pozyskane . . . . . . . . . . . . . . . . . . . . . . . . 122
B.1.3 Kategoryzacja dokumentów . . . . . . . . . . . . . . . . . 123
B.1.4 Słowa kluczowe . . . . . . . . . . . . . . . . . . . . . . . . 125
B.2 Medyczne dokumenty naukowe . . . . . . . . . . . . . . . . . . . 127
B.2.1 Dane wejściowe . . . . . . . . . . . . . . . . . . . . . . . . 127
B.2.2 Dane pozyskane . . . . . . . . . . . . . . . . . . . . . . . . 128
B.2.3 Kategoryzacja dokumentów . . . . . . . . . . . . . . . . . 130
B.2.4 Słowa kluczowe . . . . . . . . . . . . . . . . . . . . . . . . 131
Bibliografia 135
ix
SPIS TREŚCI
x
Description:improvement of the information retrieval process, in which user was needed for cre- ating search queries and filtering results given by search engines. Test Facility Injector. 0.18. 9. Breakthrough tools for intelligent data ana- lysis. 0.18. 10 Surflet Pair Relation Histograms A statisti- cal 3D.