• Nie Znaleziono Wyników

Grupowanie artykułów naukowych na podstawie analizy listy cytowań

N/A
N/A
Protected

Academic year: 2022

Share "Grupowanie artykułów naukowych na podstawie analizy listy cytowań"

Copied!
61
0
0

Pełen tekst

(1)

Rok akademicki 2011/2012 Politechnika Warszawska

Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki

PRACA DYPLOMOWA INŻYNIERSKA Marta Żukowska

Grupowanie artykułów naukowych na podstawie analizy listy cytowań

Opiekun pracy dr inż. Piotr Kołaczkowski

Ocena: ...

...

Podpis Przewodniczącego Komisji Egzaminu Dyplomowego

(2)

Specjalność: Inżynieria Systemów Informatycznych

Data urodzenia: 1989.01.03

Data rozpoczęcia studiów: 2008.02.21

Życiorys

Urodziłam się 3 stycznia 1989 roku w Hajnówce. W latach 2004–2007 uczęszczałam do I Liceum Ogólnokształcącego im. Marii Skłodowskiej–Curie w Hajnówce w klasie o profilu matematyczno–fizycznym. W 2008 roku zostałam przyjęta na studia dzienne na Wydziale Elektroniki i Technik Informacyjnych na Politechnice Warszawskiej. Od trzeciego roku studiów moją specjalnością jest Inżynieria Systemów Informatycznych. Poza studiami moim głównym zainteresowaniem jest taniec.

...

Podpis studenta

EGZAMIN DYPLOMOWY

Złożył egzamin dyplomowy w dniu ... 20__ r z wynikiem ...

Ogólny wynik studiów: ...

Dodatkowe wnioski i uwagi Komisji: ...

...

...

(3)

STRESZCZENIE

Celem pracy jest zbadanie wykorzystania cech bibliograficznych w grupowaniu artykułów naukowych. Wyszukanie dokumentów o podobnej tematyce, często jest pracochłonne i wiąże się z analizą treści artykułów. W pracy zaprezentowany jest alternatywny sposób wydzielenia podobnych do siebie dokumentów. W prezentowanym grupowaniu porównuje się jedynie bibliografię publikacji, unikając analizy treści. W ramach pracy określony został model teoretyczny grupowania dokumentów tekstowych na podstawie spisu literatury. Modele teoretyczne zostały zaimplementowane w aplikacji. Aplikacja umożliwia grupowanie zadanych dokumentów oraz zapewnia przyjazną, graficzną reprezentację wyników. Na podstawie analiz rezultatów zebranych przy użyciu programu, określona została skuteczność grupowania artykułów naukowych na podstawie analizy listy cytowań.

Słowa kluczowe: grupowanie, bibliografia, publikacje naukowe.

CLUSTERING OF SCIENTIFIC PUBLICATIONS USING BIBLIOGRAPHIC METRICS

The aim of this paper is to study the use of the bibliographic metrics in clustering of scientific publications. Searching for documents with similar content is often time-consuming and connected with text mining. The paper presents an alternative way of separating similar documents. Presented clustering method compares only references of publications, avoiding content analysis. The paper defines a theoretical model of clustering text documents based on the references. Theoretical model has been implemented. The application allows to cluster documents and provides a friendly, graphical representation of results Based on the results the effectiveness of clustering of scientific publications using bibliographic metrics has been determined.

Keywords: clustering, bibliographic metrics, scientific publications.

(4)

4

Spis treści

1 Wstęp ... 6

1.1 Cel pracy ... 6

1.2 Układ pracy ... 7

2 Wprowadzenie teoretyczne ... 7

2.1 Grupowanie artykułów naukowych ... 8

2.2 Metryki bibliograficzne ... 8

2.3 Model danych ... 8

2.4 Niepodobieństwo... 9

2.5 Podejście symetryczne ... 10

2.6 Podejście asymetryczne ... 11

2.7 Niepodobieństwo zdań ... 12

2.8 Algorytm grupowania ... 13

2.9 Metody oceny jakości grupowania ... 15

2.9.1 Precyzja i odzysk ... 15

2.9.2 F- miara ... 15

2.9.3 Czystość ... 16

2.9.4 Entropia ... 16

3 Projekt i implementacja ... 17

3.1 Aplikacja „Pobieranie dokumentów” ... 17

3.1.1 Wymagania ... 17

3.1.2 Realizacja ... 17

3.1.3 Obsługa programu ... 18

3.2 Aplikacja „Grupowanie publikacji naukowych” ... 19

3.2.1 Wymagania ... 19

3.2.2 Metoda rozwiązania problemu ... 19

3.2.3 Implementacja ... 22

(5)

5

3.2.4 Pliki wejściowe i wyjściowe – opis formatu ... 25

3.2.5 Obsługa aplikacji ... 29

4 Analiza rozwiązań ... 33

4.1 Porównanie miar jakości grupowania ... 33

4.1.1 Precyzja i odzysk ... 34

4.1.2 F-miara ... 34

4.1.3 Czystość ... 35

4.1.4 Entropia ... 35

4.2 Porównanie modeli niepodobieństw ... 37

4.2.1 Model symetryczny ... 37

4.2.2 Model TF-IDF tytułu ... 38

4.2.3 Model asymetryczny ... 39

4.3 Problem ustalenia progu ... 40

4.4 Ocena jakości grupowania ... 44

4.4.1 Zbiór z małą liczbą klas tematycznych ... 44

4.4.2 Rozdzielenie dwóch klas tematycznych ... 47

4.4.3 Zbiór danych z dużą liczbą klas tematycznych ... 50

4.4.4 Analiza zbiorów danych ... 52

5 Podsumowanie ... 56

5.1 Podsumowanie analiz rozwiązań ... 56

5.2 Wady rozwiązania ... 56

5.3 Dalsza praca ... 57

Zawartość płyty CD ... 58

Bibliografia ... 59

Spis tabel ... 60

Spis rysunków ... 61

(6)

6

1 Wstęp

Internetowe repozytoria publikacji naukowych przechowują miliony dokumentów. Nawet jeżeli ograniczymy się jedynie do publikacji z dziedziny informatyki, to nadal ich liczba jest bardzo duża. Odnalezienie artykułów dotyczących tego samego tematu może sprawiać kłopot. Sposobem na wyszukanie podobnych publikacji jest wykorzystanie jednej z metod eksploracji danych: grupowania.

Grupowanie dokumentów nie jest nową dziedziną odkrywania wiedzy.

Wykorzystuje się ją do porządkowania wyników zwróconych przez wyszukiwarki.

Ułatwia przeglądanie dużych zbiorów danych. Znalazło zastosowanie w automatycznym tworzeniu hierarchii grup dokumentów.

Wraz ze zwiększającą się liczbą dokumentów, powstało wiele sposobów ich grupowania. Większość z nich można skategoryzować do eksploracji tekstu.

Najpopularniejsze rozwiązania bazują na reprezentacji dokumentów w modelu przestrzeni wektorowej. Nawiązując do [SKK00] najprostsza forma dokumentu to wektor częstotliwości występowania słów w danym dokumencie. Powstało wiele publikacji porównujących różne algorytmy grupujące wykorzystujące wektorowy model publikacji, np.: [SKK00], [YoHu06].

Tworzenie reprezentacji wektorowej dokumentów wiąże się z przeglądaniem ich treści. Z każdym dniem liczba publikacji w repozytoriach się zwiększa. Natomiast ludzkie podejście oczekuje coraz szybszego otrzymywania rezultatów wyszukiwania.

Wynika stąd potrzeba poszukiwania innych rozwiązań dotyczących grupowania.

W publikacjach naukowych wyszczególnione się istotne informacje jak słowa kluczowe, bibliografia. Większość portali internetowych udostępnia te dane w jednolity i przejrzysty sposób. Zauważalne jest, że pozycje w literaturach publikacji z jednej dziedziny powtarzają się. Pojawia się więc pytanie, czy wykorzystując jedynie informacje zawarte w bibliografii, możliwe jest prawidłowe pogrupowanie dokumentów.

1.1 Cel pracy

Celem powyższej pracy inżynierskiej jest sprawdzenie, czy wykorzystanie bibliografii wystarcza do prawidłowego grupowania publikacji naukowych. Zadaniem jest wyszukanie odpowiedniego sposobu zamodelowania danych oraz dobranie algorytmu grupującego.

Model teoretyczny rozwiązania należy zaimplementować i przetestować za pomocą stworzonej aplikacji. Wygenerowane przez aplikację rezultaty należy zbadać i porównać wszystkie zamodelowane podejścia. Analiza ma prowadzić do stwierdzenia, czy tak niewielka ilość informacji (bibliografia) jest wystarczająca do pogrupowania dokumentów naukowych.

(7)

7 1.2 Układ pracy

Praca rozpoczyna się wstępem teoretycznym. We wprowadzeniu do tematyki dziedziny, opisane są również sposoby dopasowania ogólnych rozwiązań do problemu, którym jest grupowanie publikacji naukowych na podstawie spisu literatury.

Przedstawionych jest kilka podejść zamodelowania posiadanych informacji oraz algorytmu grupującego.

Następnie zaprezentowany jest projekt i realizacja, stworzonych w ramach pracy, dwóch aplikacji. Niewielkiej aplikacji wspomagającej gromadzenie danych na temat publikacji naukowych oraz aplikacji grupującej. Główna uwaga jest zwrócona ku aplikacji grupującej dokumenty. Pokazany jest projekt rozwiązania teoretycznych modeli. Wyszczególnione są kolejne fazy grupowania oraz ogólny zarys implementacji.

Omówienie programu zawiera również opis formatu plików wejściowych i wyjściowych oraz instrukcję obsługi.

Wygenerowane przez aplikację rezultaty poddano analizie. Na wyniki grupowania wpływa wiele różnorodnych czynników. Rezultaty zostały omówione szczegółowo z podziałem na mniejsze podrozdziały. Każdy z podrozdziałów przedstawia pewne własności wykorzystanych rozwiązań. Poszczególne wnioski zostały zebrane w zakończeniu i krótko podsumowane.

2 Wprowadzenie teoretyczne

Grupowanie jest metodą eksploracji danych wykorzystywaną w wielu problemach informatycznych. Jej głównym celem jest pogrupowanie, bądź też rozdzielenie elementów z zadanego zbioru danych. Zadaniem algorytmu jest przyporządkowanie obiektów (rzeczywistych, lub abstrakcyjnych) do grup zwanych klastrami. W klastrze znajdują się obiekty podobne do siebie i odpowiednio niepodobne do obiektów znajdujących się w innych klastrach. Niektóre z algorytmów grupujących tworzą hierarchię klastrów. Grupowanie może być również wykorzystywane do znalezienia obiektów, które znacznie różnią się od reszty elementów w zadanym zbiorze danych.

Ważnym elementem każdego algorytmu grupowania jest funkcja określająca niepodobieństwo (bądź podobieństwo) pomiędzy dwoma obiektami z zadanego zbioru.

Niepodobieństwo d(i,j) pomiędzy obiektami i oraz j jest liczbą nieujemną. Wartość niepodobieństwa między dwoma identycznymi obiektami jest równa zeru: d(i,i)= 0.

Im wartość jest większa, tym bardziej obiekty się od siebie różnią. Niepodobieństwo często jest również symetryczne: d(i,j) = d(j,i) i spełnia nierówność trójkąta:

d(i,j) ≤ d(i,k)+d(k,j).

(8)

8

Istnieje wiele metod określenia funkcji niepodobieństwa. Wybór zależy od typu porównywanych obiektów. Różnorodność danych i odmiennych oczekiwań od rezultatów grupowania, zaowocowała wieloma rozwiązaniami algorytmów grupujących. Najbardziej popularne algorytmy przedstawione są w [HaKa06].

2.1 Grupowanie artykułów naukowych

Obecne standardy dotyczące pisania dokumentów naukowych dyktują ich formy zapisu. Formy te, pomagają czytelnikowi w określeniu tematyki dokumentu bez zagłębiania się w treść publikacji. Charakterystycznymi elementami każdego dokumentu naukowego są: tytuł, streszczenie, słowa kluczowe. Literatura, załączana przez każdego autora, również dostarcza przydatnych informacji. Wiedza zawarta w literaturze jest podstawą do wyliczenia metryk bibliograficznych, które mogą zostać wykorzystane do określenia podobieństwa pomiędzy dokumentami.

2.2 Metryki bibliograficzne

W [BaDe06] opisane są dwie znane metryki bibliograficzne: powiązanie bibliograficzne oraz powiązanie współcytowań. Rozpatrzmy dwa dokumenty A i B, dla których chcemy określić wartość powiązań. Powiązanie bibliograficzne jest zliczeniem sytuacji, w których zarówno A i B cytuje trzeci dokument C. Natomiast powiązanie współcytowań jest liczbą sytuacji, gdy zarówno A i B są cytowane przez C. Można założyć, iż para dokumentów z wysoką wartością metryki bibliograficznej powinna omawiać podobne zagadnienia. Dlatego też, wykorzystanie cech bibliograficznych może być odpowiednie w tworzeniu modelu danych wykorzystywanych przez algorytmy grupowania.

2.3 Model danych

Pierwszym etapem procesu grupowania jest określenie sposobu zamodelowania danych. Reprezentacja wykorzystywana w algorytmie bezpośrednio zależy od formy danych rzeczywistych elementów zbiorów danych. Informacje, jakie posiadamy w badanym problemie to: tytuł, nazwiska autorów oraz literatura każdego z grupowanych dokumentów. Podstawowym elementem wykorzystanym w grupowaniu jest literatura.

Założeniem przyjętym w pracy jest fakt, iż podobne tematycznie publikacje naukowe będą wymieniały w literaturze te same dokumenty. Dlatego też, celem jest zbadanie spisu literatury porównywanych ze sobą dokumentów. Im więcej będzie wspólnych cytowań, tym bardziej podobne będą dokumenty.

Wyodrębniając poszczególne pozycje z literatury każdej z publikacji, tworzona jest lista wszystkich prac, które wystąpiły w bibliografiach grupowanych dokumentów.

Na jej podstawie widać, które z grupowanych artykułów współdzielą cytowania. Lista cytowanych dokumentów jest reprezentowana poprzez wektor wartości binarnych, który posiada każda grupowana publikacja. W zamodelowanej sytuacji, 1 oznacza, iż cytowany dokument jest wymieniony, w literaturze publikacji.

(9)

9

Przykład. Rozpatrzmy cztery publikacje naukowe: P1, P2, P3, P4. Każda z nich we własnej literaturze wymienia odpowiednio dokumenty a-g : P1 = {a, b, c}, P2 = {a, d, g}, P3 = {e, g}, P4 = {a, c, e, f, g}. Zamodelowanie opisanych danych za pomocą wartości binarnych przedstawia tabela (Tabela 1).

Tabela 1 Wektory wartości binarnych przedstawiające, które dokumenty (a-g) występują w spisie literatury poszczególnych publikacji (P1-P4).

Publikacje

Lista cytowanych dokumentów

a b c d e f g

P1 1 1 1 0 0 0 0

P2 1 0 0 1 0 0 1

P3 0 0 0 0 1 0 1

P4 1 0 1 0 1 1 1

2.4 Niepodobieństwo

Kolejnym etapem grupowania jest wybranie odpowiedniej funkcji niepodobieństwa. Do omówionego problemu wykorzystano wzory specjalnie dedykowane zmiennym binarnym. Wykorzystano dwa główne podejścia wyliczenia wartości niepodobieństwa: symetryczne i asymetryczne. Każde z tych podejść analizuje binarne listy reprezentujące cytowane dokumenty. Przy porównaniu dwóch publikacji możliwe są cztery sytuacje (kolory są zaznaczone na przykładowej tabeli (Tabela 2) :

 Obie publikacje cytują dany dokument ( 1,1 - kolor różowy).

 Dokument jest cytowany tylko przez jedną publikację, obie sytuacje są rozróżniane ( 1,0 - kolor zielony i 0,1 - kolor niebieski).

 Obie publikacje nie cytują konkretnego dokumentu (0,0 kolor pomarańczowy).

(10)

10

Tabela 2 Kolory przedstawiają różne sytuacje rozróżniane przy porównywaniu listy cytowani dwóch publikacji.

Publikacje

Lista cytowanych dokumentów

a b c d e f g

P1 1 1 1 0 0 0 0

P2 1 0 0 1 0 0 1

2.5 Podejście symetryczne

W podejściu symetrycznym zliczane są wszystkie kombinacje 1 i 0, które mogą wystąpić przy porównaniu dwóch wektorów. Wartość niepodobieństwa dla dwóch publikacji i oraz j wyliczana jest na podstawie wzoru:

( )

(1)

gdzie:

 r – liczba cytowanych dokumentów, dla których zmienna binarna jest równa 1 dla publikacji i oraz równa 0 dla publikacji j,

 s – liczba cytowanych dokumentów, dla których zmienna binarna jest równa 0 dla publikacji i oraz równa 1 dla publikacji j,

 q – liczba cytowanych dokumentów, dla których zmienna binarna jest dla obu publikacji równa 1,

 t – liczba cytowanych dokumentów, dla których zmienna binarna jest dla obu publikacji równa 0.

Przykład. Odnosząc się do wartości z tabeli (Tabela 1) wartość niepodobieństwa dla przykładowych danych wynosi odpowiednio:

( )

( )

(11)

11 ( )

2.6 Podejście asymetryczne

W podejściu asymetrycznym ignorowana jest sytuacja, gdy obie publikacje nie cytują konkretnego dokumentu. Niepodobieństwo, dla takiego przypadku jest reprezentowane poniższym wzorem:

( )

(2)

gdzie:

 r – liczba cytowanych dokumentów, dla których zmienna binarna jest równa 1 dla publikacji i oraz równa 0 dla publikacji j,

 s – liczba cytowanych dokumentów, dla których zmienna binarna jest równa 0 dla publikacji i oraz równa 1 dla publikacji j,

 q – liczba cytowanych dokumentów, dla których zmienna binarna jest dla obu publikacji równa 1.

Przykład. Odnosząc się do wartości z tabeli (Tabela 1) wartość niepodobieństwa dla przykładowych danych wynosi odpowiednio:

( )

( )

( )

Po przekształceniu wzoru otrzymamy znany wzór na wyliczenie wartości podobieństwa, znane jako współczynnik Jaccarda:

( )

( ) (3)

(12)

12

W obu przedstawionych podejściach im mniejsza wartość niepodobieństwa, tym bardziej zbliżone tematycznie są porównywane publikacje. Wszystkie wzory zostały zaczerpnięte z [HaKa06].

2.7 Niepodobieństwo zdań

Odmiennym sposobem na określenie niepodobieństwa między dwoma publikacjami jest wykorzystanie informacji zawartej w tytule. W przeciwieństwie do wcześniej omówionego modelu, nie jest wykorzystywana literatura, natomiast inna cecha dokumentu naukowego - tytuł. Tytuły dokumentów naukowych zazwyczaj zawierają słowa kluczowe, które informują o tematyce pracy.

Określenie niepodobieństwa dwóch publikacji naukowych sprowadza się do określenia relacji między dwoma tytułami. Do określenia niepodobieństwa pomiędzy zdaniami wykorzystane zostało podejście TF-IDF. Jest to popularna metoda ważenia termów, wykorzystywana w eksploracji tekstu. Zazwyczaj jest ona używana w przypadku wektorowej reprezentacji całych dokumentów [MaSc00]. Metoda obliczania wartości wagi słów zredukowana do pojedynczych zdań, dokładniej została opisana w [MBCM05]. W pracy inżynierskiej wykorzystano zaproponowany, w cytowanej publikacji, sposób wyznaczenia podobieństwa między dwoma zdaniami Q i R :

( ) ∑ ( ) ( ) ( )

(4)

gdzie:

- liczba wystąpień słowa „w” w zdaniu Q

- liczba wystąpień słowa „w” w zdaniu R

 - liczba tytułów, w których występuje słowo „w”

 - liczba wszystkich tytułów

Powyższy wzór został przekształcony z podobieństwa na niepodobieństwo.

Początkowo, wartość podobieństwa zredukowano do przedziału [0,1], dzieląc przez liczbę elementów zbioru . Następnie, wartość odjęto od 1, uzyskując wzór na niepodobieństwo:

( ) ( )

(5)

Podobnie jak w poprzednich przypadkach, im mniejsza wartość niepodobieństwa, tym bardziej podobne są porównywane dokumenty.

(13)

13 2.8 Algorytm grupowania

W pracy wykorzystano hierarchiczny algorytm grupujący, którego wynikiem jest drzewo klastrów. Poza pogrupowaniem obiektów, pokazuje ono również hierarchię pomiędzy klastrami. Znane są dwa główne podejścia grupowania hierarchicznego:

aglomeracyjne i podziałowe. Ich główną różnicą jest proces tworzenia drzewa. W podejściu aglomeracyjnym początkowo, wszystkie obiekty znajdują się w oddzielnych klastrach. W kolejnych iteracjach algorytmu, łączone są ze sobą dwa najbliższe klastry.

Algorytmy podziałowe działają odwrotnie. Algorytm rozpoczyna działanie z jednym klastrem, w którym znajdują się wszystkie obiekty. W kolejnych iteracjach klastry dzielone są na dwa mniejsze. W obu przypadkach otrzymujemy zarysowaną hierarchię klastrów, którą można zaobserwować na przykładowym rysunku (Rysunek 1).

Rysunek 1 Reprezentacja dwóch podejść grupowania hierarchicznego: aglomeracyjnego i podziałowego.

W pracy wykorzystany został aglomeracyjny algorytm hierarchiczny. Jak wspomniano wyżej, w stanie początkowym, każda publikacja jest umieszczona w oddzielnym klastrze. W każdym kroku algorytmu łączone są dwa najbardziej podobne klastry. Do określenia niepodobieństwa między klastrami wykorzystano trzy metody ([HaKa06]):

 prostych połączeń:

( ) |, (6)

 zupełnych połączeń:

( ) , (7)

(14)

14

 średnich połączeń:

( ) ∑ , (8)

gdzie:

 - odległość pomiędzy dwoma obiektami z klastrów ,,

 – liczba obiektów w klastrze ,

 – liczba obiektów w klastrze .

Każda z metod charakteryzuję się innym drzewem wynikowym klastrów.

Rysunek poniżej (Rysunek 2 zaczerpnięty z [HTF09]) przedstawia dendrogram powstały w wyniku użycia poszczególnej metody.

Algorytm kończy działanie, gdy wszystkie dokumenty znajdą się w jednym klastrze, bądź gdy wartość niepodobieństwa pomiędzy scalanymi klastrami uzyska zadany przez użytkownika próg.

Więcej informacji na temat algorytmu i każdej z metod można znaleźć w [HTF09].

Rysunek 2 Dendrogramy przedstawiające drzewo klastrów metody średnich, zupełnych i prostych połączeń. Grafika zaczerpnięta z [HTF09].

(15)

15 2.9 Metody oceny jakości grupowania

Istotnym punktem każdego procesu grupowania jest określenie jakości algorytmu grupującego. Ocena rezultatów często jest subiektywna i zależna od oczekiwań użytkowników. Osoba z łatwością oceni wyniki grupowania na podstawie reprezentacji graficznej oraz skonfrontuje je z własnymi wymaganiami. Przy analizie badawczej rezultatów wymagane są liczbowe wyznaczniki. Jednym ze sposobów określenia jakości grupowania jest porównanie wyników algorytmu ze zdefiniowanymi klasami, które wyznaczają prawidłowy podział na grupy. W pracy wykorzystano kilka metod oceny jakości grupowania. Wszystkie z nich opierają się porównaniu rezultatów z zadanymi klasami.

2.9.1 Precyzja i odzysk

Precyzja i odzysk są znanymi miarami wykorzystywanymi w wyszukiwaniu informacji. Wyliczane dla każdej pary (klasa, klaster) powstałej w wyniku działania algorytmu grupowania, odpowiadają na pytania:

 Precyzja – Ile publikacji przynależy do badanego klastra?

 Odzysk - Czy wszystkie publikacje z danej klasy są w badanym klastrze?

Używając notacji zaproponowanej w [SKK00], równania dla klasy i oraz klastra j prezentują się następująco:

precyzja:

( ) , (9)

odzysk: ( ) , (10)

gdzie:

liczba dokumentów z klasy i w klastrze j ,

 liczba dokumentów w klasie i,

 liczba dokumentów w klastrze j.

Precyzja i odzysk są miarami przeciwstawnymi. Im większa jest wartość precyzji, tym mniejsza odzysku i odwrotnie.

2.9.2 F- miara

Połączeniem precyzji i odzysku jest F-miara. Funkcja F(i,j) to średnia harmoniczna obu wartości dla klasy i oraz klastra j:

( ) ( ) ( )

( ) ( ) (11)

(16)

16

Natomiast F-miara określająca jakość całego procesu grupowania jest średnią ważoną ze wszystkich pojedynczych funkcji F, przedstawioną poniżej:

∑ ( ) (12)

gdzie n jest to liczba grupowanych dokumentów, a maksimum funkcji F jest wybierane spośród wszystkich klastrów.

2.9.3 Czystość

Inną proponowaną przez [YoHu06] miarą jakości grupowania jest czystość.

Czystość klastra wyznacza procent obiektów z dominującej klasy w klastrze. Jest to maksymalna wartość precyzji we wszystkich klasach. Czystość całego grupowania, podobnie jak F-miara, jest reprezentowana średnią ważoną przedstawioną poniżej (dla klasy i, klastra j) :

∑ ( ) (13)

2.9.4 Entropia

Entropia jest wyznacznikiem, jak obiekty z konkretnej klasy są rozlokowane w klastrach. Tak jak w przypadku F-miary i czystości, wykorzystywana jest średnia ważona poszczególnych entropii. Natomiast, aby czytelniej przedstawić wartość jakości całego grupowania, entropia jest również normalizowana, co w efekcie daje poniższe równanie:

∑ ∑ ( ) ( ) (14) gdzie n jest to liczba grupowanych dokumentów, a k jest to liczba klas (wzór zaczerpnięty z [YoHu06]).

Należy zwrócić uwagę, iż im mniejsza wartość entropii tym lepsza jest jakość badanego grupowania. Odwrotna sytuacja jest w innych przedstawionych metodach.

Większa wartość F-miary i czystości reprezentuje lepszą jakość grupowania.

(17)

17

3 Projekt i implementacja

W ramach pracy dyplomowej stworzone zostały dwie aplikacje. Pierwsza z nich, ma na celu zebranie istotnych informacji na temat publikacji naukowych. Natomiast główna aplikacja, wczytuje zebrane dane i poddaje je grupowaniu, wykorzystując wspomniany model wyliczania niepodobieństwa oraz podejścia algorytmu grupującego.

3.1 Aplikacja „Pobieranie dokumentów”

Aplikacja „Pobieranie dokumentów” realizuje etap wstępny odkrywania wiedzy jakim jest zbieranie danych. Gromadzenie informacji wykorzystywanych w eksploracji danych jest zazwyczaj bardzo praco i czasochłonny.

3.1.1 Wymagania

Głównym celem postawionym aplikacji jest zautomatyzowanie wyszukiwania i pobierania informacji, dotyczących publikacji naukowych. Wymagana jest prostota obsługi. Użytkownika definiuje jedynie tematykę publikacji. Program sam łączy się z portalem internetowym oraz odnajduje publikacje o zadanej tematyce. Rezultaty wyszukiwania zapisuje w pliku wyjściowym. Format pliku spełnia wymogi pliku wejściowego dla aplikacji grupującej.

3.1.2 Realizacja

Wymagane informacje na temat publikacji naukowych (tytuł, autorzy, literatura) są łatwo dostępne w wielu naukowych portalach internetowych. Aplikacja eksploruje informacje składowane przez portal ACM Digital Library [WWWACM].

Generacja pliku wyjściowego z informacjami o publikacjach Pobranie frazy

od użytkownika

Połączenie się z portalem ACM

Wyszukanie publikacji o tematyce z zadanej frazy

Wyszukanie odnośników do stron szczegółowych

Analiza stron szczegółowych

Rysunek 3 Schemat etapów działania aplikacji „Pobieranie dokumentów”.

(18)

18

Kolejne etapy działania programu przedstawione są na powyższym schemacie.

Aplikacja początkowo pobiera informacje od użytkownika: wyszukiwaną frazę oraz liczbę publikacji do odszukania. Program wyzwala wyszukiwanie publikacji w portalu ACM Digital Library [WWWACM] na podstawie zadanej frazy. Następnie analizuje stronę z rezultatami wyszukiwania. Odnajduje odnośniki do kolejnych zaproponowanych podstron o publikacjach. Przechodzi do stron szczegółowych, z których wyłuskuje pożądane informacje. Wszystkie odnalezione dane zapisuje w pliku wyjściowym.

Aplikacja zrealizowana została w języku Scala. Jest to język programowania działający na wirtualnej maszynie Javy. Łączy on cechy języków obiektowych i funkcyjnych. Język zapewnia dużo uproszczeń i funkcji, zachowując przy tym przejrzystość kodu. Więcej na temat języka programowania można znaleźć na głównej stronie internetowej [WWWSCL].

Główne działania programu to analiza kodu HTML podstron portalu.

Do łatwiejszego poruszania się po kodzie źródłowym witryn, wykorzystywany został parser TagSoup [WWWTAG]. Jest to napisany w Javie parser uporządkowujący, nierzadko trudny do analizy, kod HTML. Za pomocą wygenerowanych przez bibliotekę reprezentacji podstron, aplikacja wyszukuje istotnych informacji.

3.1.3 Obsługa programu

Obsługę programu ułatwia graficzny interfejs użytkownika. Pobranie informacji o publikacjach sprowadza się do wykonania kilku kroków:

Rysunek 4 Graficzny interfejs obsługi aplikacji „Pobieranie dokumentów”

(19)

19

a) Wybranie z listy typu podawanej sentencji.

Fraza oznacza podanie frazy w języku angielskim, np. „iris recognition”.

Pobrane zostaną dokumenty, które podpowie wyszukiwarka portalu ACM Digital Library [WWWACM]. Wybierając opcję link, w polu można wstawić bezpośredni link do pierwszej strony rezultatów wyszukiwania portalu (zakładka Search Results).

b) Wybranie liczby dokumentów do pobrania.

W przypadku wpisania frazy nazwa pliku wyjściowego jest taka sama jak zadana fraza. Natomiast pobrane informacje z zadanego odnośnika zapisywane są w pliku „link.txt”.

3.2 Aplikacja „Grupowanie publikacji naukowych”

Podstawową aplikacją wykonaną w ramach pracy inżynierskiej jest aplikacja grupująca publikacje naukowe. Implementuje ona wcześniej wspomniane teoretyczne rozwiązania problemu. Przy wykorzystaniu rezultatów generowanych przez aplikację, zrealizowano analizę poprawności teoretycznego podejścia w grupowaniu rzeczywistych danych.

3.2.1 Wymagania

Podstawowym wymaganiem stawianym aplikacji jest implementacja omówionego wcześniej modelu wyliczania niepodobieństwa oraz wspomnianych podejść hierarchicznego algorytmu grupowania. Kolejnym istotnym wymaganiem jest umożliwienie wykonania badań na podstawie wygenerowanych przez program rezultatów. Dlatego też, aplikacja powinna wyliczać miary jakości dla każdego wykonanego grupowania. Badania wykonywane są na danych rzeczywistych przechowywanych w plikach tekstowych. Aplikacja grupująca ma za zadanie wczytać informacje z plików, poddać je grupowaniu, a jego rezultaty również zapisać w pliku tekstowym. Poza aspektem badawczym, wymagane jest przystosowanie aplikacji do interakcji z użytkownikiem. Powinna być wyposażona w prosty interfejs użytkownika oraz intuicyjną reprezentację wyników.

3.2.2 Metoda rozwiązania problemu

W pojedynczym grupowaniu można wyodrębnić trzy główne fazy wykonywane przez program. Pierwsza, analizuje pliki tekstowe z informacjami o publikacjach i tworzy reprezentację danych. Druga, to faza wstępna grupowania. Tworzona jest w niej macierz niepodobieństwa pomiędzy wszystkimi załadowanymi dokumentami. Ostatnia faza to wywołanie algorytmu grupującego

(20)

20 Reprezentacja danych – faza 1

Informacje o publikacjach naukowych należy odpowiednio przygotować i stworzyć reprezentację wygodną w późniejszym grupowaniu. Model takiej reprezentacji opiera się na kilku podstawowych strukturach:

 Dokument – struktura reprezentująca dokumentu naukowego, przechowująca tytuł

i autorów. Wykorzystywana do modelowania pozycji w spisie literatury.

 Publikacja – obiekt poddawany grupowaniu. Poza informacjami, które dziedziczy po Dokumencie, przechowuje dodatkowo informację o Dokumentach, które znajdują się w jego bibliografii.

 Wektor Publikacji – przechowuje wszystkie załadowane publikacje naukowe poddawane grupowaniu.

 Wektor Dokumentów – przechowuje wszystkie Dokumenty (bez powtórzeń), które pojawiły się w bibliografiach grupowanych publikacji.

Model tworzony jest dynamicznie wraz z wczytywaniem kolejnych publikacji naukowych z plików tekstowych. Przed dodaniem nowego Dokumentu i Publikacji sprawdzane jest, czy dodawany obiekt nie znajduje się już w wektorze. Operacje te nadają fazie złożoność kwadratową. Czasochłonne jest również przechodzenie plików tekstowych. Brak jednolitości w zapisie pozycji bibliografii skutkuje dopasowywaniem pobieranych linii tekstu do kilku wzorców zapisu.

Macierz niepodobieństwa – faza 2

Załadowanie wszystkich plików i stworzenie reprezentacji danych umożliwia stworzenie macierzy niepodobieństwa. Macierz ta przechowuje informacje o niepodobieństwie pomiędzy wszystkimi publikacjami.

Tabela 3 Macierz niepodobieństwa pomiędzy publikacjami P1 – P4.

P1 P2 P3 P4 P1 0

P2 0,3 0 P3 0,6 0,3 0 P4 0,1 0,4 0,2 0

Uzupełnienie macierzy sprowadza się do wyliczenia niepodobieństwa dla każdej pary publikacji znajdujących się w wektorze. Obliczenie niepodobieństwa na podstawie

(21)

21

spisu literatury, to analiza dwóch wektorów o długości równej liczbie cytowanych dokumentów. Taką operację należy wykonać dla połowy macierzy. W najgorszym przypadku złożoność fazy to O(p2r), gdzie p jest liczbą publikacji, a r liczbą cytowań.

Grupowanie – faza 3

Hierarchiczny algorytm grupowania, w każdej iteracji, tworzy nowy klaster składający się dwóch innych najbardziej do siebie podobnych. Rezultatem jego działania jest drzewo klastrów. Algorytm przeszukuje połowę macierzy niepodobieństwa wyszukując najniższą wartość. Następnie tworzy klaster składający się z dwóch znalezionych. Do macierzy dodawana jest nowo stworzona grupa.

W zależności od podejścia algorytmu (prostych, zupełnych, średnich połączeń), wyliczana jest wartość niepodobieństwa powstałego klastra z innymi. Wyliczone wartości są wpisywane do dodanych komórek macierzy. Stare klastry zostają ignorowane w następnych iteracjach. W najgorszym przypadku algorytm kończy działanie, gdy w macierzy pozostanie tylko jedna grupa. Pojedyncza iteracja algorytmu ma złożoność kwadratową. Przyjmując najgorszy przypadek, iteracji jest o jeden mniej niż wszystkich publikacji, co po uwzględnieniu daje złożoność do trzeciej potęgi.

Analiza czasowa faz

Porównanie wyników zawartych w tabeli (Tabela 4) daje poglądowe spojrzenie na czasy wykonania poszczególnych etapów grupowania. Łatwo dostrzegalne jest, iż faza pierwsza wykonuje się o wiele dłużej od pozostałych. Czas jej wykonywania głównie zależny od liczby referencji. Liczba referencji w połączeniu z kosztownymi operacjami wydobycia informacji z plików tekstowych skutkuje niekorzystnymi rezultatami czasowymi. Faza druga jest zależna od obu parametrów z większym nastawieniem na liczbę grupowanych publikacji. Natomiast czasy wykonywania fazy trzeciej zależne są jedynie od liczby publikacji grupowanych.

Tabela 4 Czasy wykonywania (w milisekundach) poszczególnych faz grupowania dla różnych zbiorów danych.

liczba publikacji

liczba

referencji faza 1 faza 2 faza 3

31 426 1510 80 20

37 723 2680 100 20

39 1132 6540 90 20

58 1531 10130 150 30

70 1551 13690 210 50

80 1320 10620 250 50

88 932 5500 280 60

96 2002 15400 310 60

(22)

22 3.2.3 Implementacja

Aplikacja została zaimplementowana przy pomocy języka programowania Scala. Pliki źródłowe aplikacji podzielone są na pakiety, widoczne na rysunku (Rysunek 5). Tematycznie organizują one kod programu, zwiększając jego czytelność. Dla każdego z pakietów zostaną omówione istotne klasy i metody programu.

Rysunek 5 Diagram pakietów oraz głównych klas aplikacji „Grupowanie publikacji naukowych”.

1. clusterapp

Pakiet ten zawiera główny obiekt Main uruchamiający aplikację.

Dziedziczy on po SimpleSwingApplication dzięki czemu obsługa programu odbywa się poprzez okienkowy interfejs graficzny. W obiekcie

clusterapp

datamodel

clustering

statistics

graphics

Main

-authors : Array[String]

-title : String Article

-references : Array[Boolean]

CompareArticle

+getDataFromFile()

-articlesList : Array[CompareArticle]

-referencesList : Array[Article]

-classMap

DataModel

-articles : Array[CompareArticle]

-distance : Double -isParent : Boolean -parent1 : Integer -parent2 : Integer Node

+create() +clustering() +group()

-nodeList : Array[Node]

-distMatrix : [Array[Double]]

Tree

TreeModelVis

+calculateStatistics() Statistics IdfDist

(23)

23

tworzone jest główne okno wraz z dwoma panelami umożliwiającymi obsługę oraz analizę rezultatów grupowania.

2. datamodel

Pakiet Datamodel odpowiedzialny jest za stworzenie reprezentacji danych. Klasa Article przechowuje jedynie informacje o tytule dokumentu, autorach oraz nadanej przez użytkownika klasie tematycznej. Klasa CompareArticle dziedzicząca po klasie Article dodatkowo przechowuje wektor binarny reprezentujący spis literatury danej publikacji. Główna klasa modelu DataModel, odpowiedzialna jest za stworzenie reprezentacji danych zapisanych w plikach. Przechowywane w niej są: wektor publikacji do grupowania (articlesList), wektor dokumentów, które wystąpiły w bibliografiach (referencesList) oraz mapa klas tematycznych zdefiniowanych przez użytkownika (classMap). Wektory tworzone są dynamicznie w trakcie odczytywania kolejnych informacji z plików tekstowych. Wczytanie wykonywane jest w metodzie getDataFromFile.

Kolejne linie pliku wejściowego poddawane są analizie przez szereg funkcji wyłuskujących informacje z różnych formatów opisu bibliografii.

3. clustering

W pakiecie znajdują się klasy implementujące grupowanie. W trakcie działania programu tworzone jest drzewo klastrów. Reprezentacją klastra jest pojedynczy węzeł (Node). Grupowane publikacje zawarte w klastrze przechowywane są w wektorze articles. W polu distance zapisana jest wartość niepodobieństwa, przy którym powstał dany klaster. Pole typu boolowskiego isParent przetrzymuje informację, czy dany klaster jest rodzicem. Pole to wykorzystywane jest przy prezentacji ostatniego poziomu drzewa, czyli wszystkich klastrów, które nie są rodzicami. W węźle przechowywana jest również informacja o węzłach, z których połączenia powstał (pola parent1 i parent2).

Zależności pomiędzy klastrami są przechowywane w pojedynczych węzłach. Klasa Tree przetrzymuje jedynie wektor wszystkich węzłów, który jest reprezentacją drzewa grupowania (nodeList). Wektor jest tworzony w trakcie kolejnych iteracji algorytmu grupującego. Klasa Tree jest odpowiedzialna za grupowanie. Przechowuje macierz niepodobieństwa pomiędzy publikacjami. Zaopatrzona jest w szereg metod wykorzystywanych w trakcie grupowania. Tworzenie drzewa (metoda create) automatycznie uruchamia wyliczenie macierzy niepodobieństwa. W zależności od parametrów ustawionych przez użytkownika, wywoływane są odpowiednie metody

(24)

24

obliczające niepodobieństwo pomiędzy dwoma publikacjami. Pojedyncza iteracja algorytmu grupującego zawarta jest w metodzie group, która jest wywoływana odpowiednią liczbę razy w metodzie clustering. W pakiecie znajduje się również klasa IdfDist odpowiedzialna za wyliczenie niepodobieństwa na podstawie tytułów publikacji, wykorzystując metodę TF- IDF.

4. graphics

W pakiecie znajduje się implementacja reprezentacji graficznej rezultatów grupowania. W klasie TreeModelVis tworzony jest model drzewa katalogów (JTree), zaczerpnięty z Javy. W aplikacji drzewo katalogów reprezentuje drzewo klastrów.

5. statistics

W klasie Statistics znajdują się wszystkie funkcje wykorzystywane do wyliczenia miar jakości grupowania. Wyznaczenie wartości wszystkich zaimplementowanych miar: precyzji, odzysku, F-miary, czystości oraz entropii wyzwalane jest metodą calculateStatistics.

Uruchomienie grupowania dwóch zbiorów publikacji znajdujących się w dwóch plikach wejściowych (plik1.txt, plik2.txt) sprowadza się do poniższego wywołania przedstawionego na wydruku (Wydruk kodu 1).

(25)

25

Wydruk kodu 1 Kod wywołania grupowania na zbiorze danych zawartym w dwóch plikach źródłowych. Kolejne wymagane kroki opisane są w komentarzach.

3.2.4 Pliki wejściowe i wyjściowe – opis formatu

Aplikacja operuje na plikach zewnętrznych. Pliki tekstowe wykorzystywane są zarówno do wczytania danych o publikacjach oraz do zapisu rezultatów grupowania.

3.2.4.1 Pliki wejściowe

Pliki wejściowe, wykorzystywane przez aplikację, zawierają informacje dotyczące publikacji naukowych. Zaopatrzenie programu w niezbędne do grupowania dane, polega na załadowaniu pliku (bądź plików) tekstowych o odpowiednim formacie.

Fragment prawidłowego pliku wejściowego przedstawia rysunek poniżej (Rysunek 6).

//załączenie niezbędnych pakietów import datamodel._

import clustering._

//stworzenie modelu danych, drzewa grupowania i statystyk val data = new DataModel

var tree = new Tree

val stat = new Statistics

//załadowanie plików wejściowych z różnymi nazwami klas data.getDataFromFile(”plik1.txt”,”klasa1”)

data.getDataFromFile(”plik2.txt”,”klasa2”) //stworzenie macierzy niepodobieństwa

//distType – typ niepodobieństwa, na podstawie: 1- listy //literatury, 2 – tytułów, 3 – obu

//dissimType – podejścia wyliczania niepodobieństwa: 1 – symetryczne, 2 - asymetryczne

tree.create(data.articlesList, data.referencesList.size, distType, dissimType)

//uruchomienie grupowania //threshold – próg grupowania

//approach – podejście algorytmu: 1 – prostych, 2 – zupełnych, //3 – średnich połączeń

tree.clustering(threshold,approach)

(26)

26

Plik_wejściowy.txt

TITLE

Eigen-harmonics faces: face recognition under generic lighting AUTHORS

Laiyun Qing Shiguang Shan Wen Gao /AUTHORS REFERENCES 1

R. Basri and D. Jacobs, "Lamberian reflectance and linear subspaces", Proc...

2

R. Basri and D. Jacobs, "Photometric Stereo with General, Unknown Lighting", Proc...

3

D. Kriegman, "Eigenfaces vs. Fisherfaces: Recognition Using Class Specific Linear Projection", IEEE ....

4

V. Blanz and T. Vetter, "A morphable model for the synthesis of 3D faces", Proceedings...

/REFERENCES

Tytuł Autorzy

Spis literatury

Rysunek 6 Fragment prawidłowego pliku wejściowego wykorzystywanego przez aplikację, dane zaczerpnięte z portalu ACM Digital Library. Każda z omawianych sekcji została zaznaczona, a słowa kluczowe pogrubione.

W pliku wejściowym można zauważyć kilka charakterystycznych sekcji, opisujących pojedynczą publikację. Wszystkie zostały zaznaczone na przykładowym rysunku (Rysunek 6). Sekcje prawidłowego formatu pliku wejściowego:

a) Tytuł - Opis pojedynczej publikacji rozpoczyna się linią ze słowem „TITLE”.

W następnej linii znajduje się tytuł publikacji.

b) Autorzy - Sekcję rozpoczyna linia ze słowem „AUTHORS”, a zamyka

„/AUTHORS”. Imiona i nazwiska autorów publikacji znajdują się w liniach pomiędzy wymienionymi znacznikami.

c) Spis Literatury - Sekcja zawierająca poszczególne dokumenty znajdujące się w spisie literatury danej publikacji rozpoczyna się linią „REFERENCES”. W kolejnych liniach znajdują się parametry dotyczące poszczególnego cytowania.

Aplikacja jest w stanie wyłuskać potrzebne informacje z kilku formatów zapisu literatury:

 Człony oddzielone przecinkami:

Anna A. Iksińska, Aleksander Aleksandrowski, Grupowanie jako metoda eksploracji danych, …(reszta informacji ignorowana)

 Tytuł w cudzysłowie, człony rozdzielone przecinkami:

A. A. Iksińska, A. Aleksandrowski, ”Grupowanie jako metoda eksploracji danych”, (reszta informacji ignorowana)

 Człony oddzielone kropkami:

A. A. Iksińska. A. Aleksandrowski. Grupowanie jako metoda eksploracji danych. …(reszta informacji ignorowana)

 Tytuł po dwukropku, zakończony kropką:

(27)

27

Iksińska, A.A., Aleksandrowski, A.: Grupowanie jako metoda eksploracji danych. …(reszta informacji ignorowana)

 Tytuł między dwukropkiem a przecinkiem, ostatni autor oddzielony słowem „and”:

Iksińska, A.A., and Aleksandrowski, A.: Grupowanie jako metoda eksploracji danych, …(reszta informacji ignorowana)

Kolejne pozycje literatury są zwyczajowo oddzielone linią z ich numerem porządkowym. Jednakże pozostawienie samych informacji o publikacjach, bez ich numeracji, również jest akceptowalne.

Sekcję, a zarazem cały opis pojedynczej publikacji kończy linia

„/REFERENCES”.

3.2.4.2 Pliki wyjściowe

Wyniki grupowania, poza reprezentacją graficzną, są dodatkowo zapisywane do pliku „cluster_results.txt”. Znajduje się w nim zapis ostatniego poziomu drzewa grupowania. Wszystkie opisy rezultatów grupowania są w języku angielskim. Rysunek poniżej prezentuje fragment pliku wyjściowego wygenerowany przez aplikację (Rysunek 7).

(28)

28

Cluster_results.txt

Cluster: -2.0---1 Document's class: facial

Title: Extraction of the minimum number of Gabor wavelet parameters for the recognition of natural facial expressions

Authors:

ROSDIYANA SAMAD , HIDEYUKI SAWADA ,

Cluster: 0.9636097025016904---2 Document's class: face

Title: Components for face recognition Authors:

BERND HEISELE , TAKAMASA KOSHIZEN , Document's class: face

Title: Using component features for face recognition Authors:

YURI IVANOV , BERND HEISELE , THOMAS SERRE , .

. .

*****************

Number of publications: 158 Number of thematic classes: 2 Number of result clusters: 14 Number of single clusters: 9 Precision: 5.0

Recall: 1.888961038961039 F-measure: 0.935904238261549 Purity: 0.9367088607594937 Entropy: 0.024684395758798258

Klaster pojedynczy z publikacją z klasy tematycznej „facial”

Klaster wynikowy z dwoma publikacjami z klasy tematycznej

„face”. Powstały przy wartości

niepodobieństwa równej 0,96.

Wskaźniki grupowania (liczba publikacji, klas, wszystkich klastrów i klastrów pojedynczych oraz wartości miar jakości grupowania)

Rysunek 7 Fragment pliku wyjściowego generowanego przez aplikację po udanym grupowaniu.

Z prawej strony grafiki opisane zostały charakterystyczne sekcje.

Każdy klaster wynikowy jest oznaczony słowem „Cluster”. Po dwukropku wypisana jest wartość niepodobieństwa przy której powstał klaster. Wartość „-2.0” przy wartości niepodobieństwa oznacza klaster, który składa się z jednej publikacji. Dalej, po

„---„ wypisana jest liczba dokumentów znajdujących się w danym klastrze.

Poszczególne dokumenty znajdujące się w klastrze są oddzielone pustą linią. Każdą publikację opisują trzy parametry. Klasa dokumentu („Document’s class”) to nadana przez użytkownika nazwa klasy tematycznej, do której przynależy publikacja. Tytuł dokumentu występuje po słowie „Title”. W ostatniej linii z opisem „Authors”, znajduje się lista autorów oddzielonych przecinkami.

Na końcu pliku, oddzielona szeregiem gwiazdek („*”), jest sekcja rezultatów grupowania. Wymienione są: liczba publikacji, liczba wszystkich klastrów, liczba klastrów pojedynczych oraz zestaw miar jakości grupowania (precyzja („Precision”), odzysk („Recall”), F-miara („F-measure”), czystość („Purity”) i entropia („Entropy”)).

Po każdej nowej iteracji grupowania plik wyjściowy jest nadpisywany.

(29)

29 3.2.5 Obsługa aplikacji

Aplikacja jest wyposażona w prosty interfejs graficzny. Okno aplikacji składa się z dwóch paneli: konfiguracyjnego i reprezentacji wyników (Rysunek 8). Obsługa programu sprowadza się do opanowania kilku prostych opcji.

Panel konfiguracyjny

Panel

konfiguracyjny Panel reprezentacji wynikówPanel reprezentacji wyników

Rysunek 8 Interfejs graficzny aplikacji grupującej dokumenty z zaznaczonymi panelami:

konfiguracyjnym i reprezentacji wyników

Poszczególne opcje, oznaczone na załączonym rysunku (Rysunek 9) interfejsu zostaną omówione przy wykonywaniu kolejnych kroków procesu grupowania.

1. Dostarczenie danych.

Załadowanie pliku z danymi wejściowymi:

a) Wybranie przycisku „Znajdź plik”.

b) Wskazanie pliku z informacjami o publikacjach, przy pomocy okna dialogowego wyboru plików.

c) Nazwa wybranego pliku pojawi się pod przyciskiem.

d) Nadanie nazwy grupy publikacjom zawartym w pliku.

Klasa tematyczna nie jest brana pod uwagę w grupowaniu. Służy jedynie do weryfikacji rezultatów algorytmu. Publikacje należące do tej samej klasy tematycznej oznaczone są jednym kolorem na graficznej reprezentacji wyników. Publikacje naukowe opisane w jednym pliku wejściowym muszą dotyczyć tego samego zagadnienia. W przeciwnym razie reprezentacja kolorystyczna będzie myląca.

(30)

30

Nazwę klasy można pozostawić pustą, skutkuje to użycie jednego koloru przy reprezentacji wyników.

e) Załadowanie danych z wybranego pliku poprzez przycisk „Załaduj plik”

2. Czyszczenie załadowanych danych.

Załadowane dane można wyczyścić za pomocą przycisku „Wyczyść model”.

Wszystkie publikacje i ich listy literatury zostają usunięte i możliwe jest załadowanie nowego zestawu danych.

3. Grupowanie

Zestaw kontrolek umożliwia określenie wymaganych parametrów grupowania:

f) Wybranie modelu danych.

Omówione zostały dwa rozwiązania zamodelowania zależności między publikacjami: symetryczne i asymetryczne. Należy wybrać jedno z nich z listy.

g) Określenie typu niepodobieństwa.

Lista wielokrotnego wyboru składa się z dwóch typów. Podstawowy to wyliczenie niepodobieństwa na podstawie spisów literatury. Drugi wykorzystuje niepodobieństwo tytułów. Zaznaczenie obu opcji uwzględnia w typie podstawowym niepodobieństwa tytułów.

h) Wybranie podejścia grupowania.

Implementacja zawiera trzy podejścia grupowania: prostych, zupełnych i średnich połączeń. W liście należy zaznaczyć jedno z nich.

i) Ustalenie progu grupowania.

W przeznaczonym miejscu należy wpisać próg, na którym algorytm grupujący zakończy działanie. Części ułamkowe liczby powinny być oddzielone kropką („0.9”, a nie „0,9”). Należy pamiętać, iż inne parametry grupowania skutkują odmiennymi wartościami niepodobieństwa w przedziale od 0 do 1.5. Próg musi być dostosowany do typu grupowania. Nie należy pozostawiać pola pustego.

j) Uruchomienie grupowania.

Rozpoczęcie grupowania uruchamia przycisk „Grupuj”.

k) Czyszczenie grupowania.

Przycisk „Wyczyść grupowanie” usuwa parametry i rezultaty grupowania. Czyści zarówno drzewo klastrów jak i początkową macierz niepodobieństwa. Po wyczyszczeniu możliwe jest ponowne przeprowadzenie grupowania na tych samym zbiorze danych z ustawieniem innych parametrów.

4. Reprezentacja wyników.

Rezultaty grupowania umieszczone są w panelu reprezentacji wyników. Drzewo klastrów, stworzone przez algorytm, reprezentowane jest przez standardowe drzewo katalogów. Ikona katalogu obrazuje klaster. Nazwa klastra oznacza wartość niepodobieństwa przy której powstał. Po trzech myślnikach (---)

(31)

31

wyświetlona jest liczba publikacji znajdujących się w danym klastrze. Ikony dokumentów reprezentują pojedyncze publikacje. Przy ikonie wyświetlany jest tytuł konkretnego dokumentu. Tytuły publikacji z różnych klas tematycznych oznaczone są innymi kolorami (zdefiniowanych jest 50 różnych kolorów).

Aplikacja oferuje dwa rodzaje wizualizacji rezultatów grupowania. Pierwsza, pod przyciskiem „Pokaż drzewo”, przedstawia całe drzewo grupowania.

Przycisk „Pokaż ostatni poziom” wyzwala reprezentację jedynie ostatecznych klastrów (z ostatniego poziomu drzewa) i dokumentów do nich przypisanych.

Zagnieżdżenie klastrów zostało w tej reprezentacji pominięte, w celu uzyskania przejrzystości przedstawionych wyników. Różnice w obu podejściach są widoczne na rysunkach (Rysunek 10, Rysunek 11)

Rezultaty grupowania zapisywane są również w pliku tekstowym, omówionym we wcześniejszym podrozdziale.

(32)

32

1. 1.

2. 2.

3. 3.

4. 4.

a c

d

e

f

g

h

i

j

k

Rysunek 9 Panel konfiguracyjny aplikacji grupującej. Numeracja sekcji i ich elementów odpowiada opisowi panelu w tekście.

Rysunek 10 Fragment panelu reprezentacji wyników z włączoną prezentacją całego drzewa grupowania.

Rysunek 11 Fragment panelu reprezentacji wyników z włączoną prezentacją ostatniego poziomu drzewa grupowania.

(33)

33

4 Analiza rozwiązań

Rozwiązania w rozdziale teoretycznym zostały zaczerpnięte z ogólnych podejść wykorzystywanych w grupowaniu. W ramach pracy inżynierskiej, teoretyczne podstawy zostały następnie przystosowane do problemu grupowania publikacji naukowych na podstawie spisu literatury. W poniższym rozdziale, wspomniane podejścia zostały poddane analizie pod kątem skuteczności. Założenia teoretyczne zostały sprawdzone w rzeczywistych przypadkach grupowania dokumentów naukowych.

4.1 Porównanie miar jakości grupowania

W literaturze pojawia się wiele różnych miar określających jakość grupowania.

Nie wszystkie jednak są adekwatne do każdego algorytmu, czy też każdych danych. W pracy wykorzystanych zostało kilka miar jakości, przedstawionych w [YoHu06].

Wszystkie z nich sprawdzono, w celu określenia ich przydatności w omawianym problemie hierarchicznego grupowania publikacji naukowych.

Od rezultatów grupowania oczekuje się dwóch podstawowych cech. Po pierwsze, publikacje naukowe w obrębie jednego klastra powinny dotyczyć tej samej dziedziny.

Po drugie, liczba klastrów wynikowych powinna być zbliżona rzeczywistej liczbie dziedzin tematycznych dokumentów, znajdujących się w grupowanym zbiorze.

Sytuacje reprezentujące wspomniane dwie cechy zostały przedstawione w przykładzie poniżej.

Przykład. Grupowaniu poddano zbiór danych składający się z 13 elementów należących do 4 klas tematycznych: a, b, c i d. Uzyskano trzy rezultaty grupowań: A, B , C. Klastry zostały oznaczone cyframi, natomiast obiekty znajdujące się w nich, oznaczone są nazwą klasy, do której należą.

Sytuacja A pokazuje najlepsze z grupowań spełniające obie cechy: liczba klastrów jest równa liczbie klas, a pomyłki dziedzinowe w obrębie jednego klastra są znikome. W sytuacji B liczba klastrów jest odpowiednia, ale dokumenty są bardziej wymieszane. Natomiast w sytuacji C dokumenty połączono prawidłowo, lecz zostały one rozbite na większą liczbę klastrów.

A:

(1) a + a + a (2) b + b + c (3) c + c + b (4) d + d + d + d

B:

(1) a + a + b (2) b + c + d (3) a + c + d (4) b + c + d + d

C:

(1) a + a (2) b + b (3) c + c (4) c + b (5) d + d (6) d + d + a

(34)

34 4.1.1 Precyzja i odzysk

Precyzja i odzysk są wyliczane dla jednego klastra i jednej klasy. Przedział wartości obu miar to [0,1]. Większe wartości przedstawiają lepsze rezultaty. Precyzja równa 1 oznacza, że w klastrze znajdują się obiekty należące tylko do jednej z klas.

Odzysk równy 1 informuje, iż wszystkie obiekty jednej klasy znajdują się w klastrze. W tabelach (Tabela 5) przedstawione są posumowane wartości miar wszystkich klastrów.

W sumie pominięto klastry pojedyncze – zawierające tylko jedną publikację.

Przestudiowanie wspomnianych tabel pokazuje, że proste dodanie do siebie wszystkich wartości precyzji i odzysku dla każdego klastra, niepoprawnie reprezentuje rzeczywisty stan rezultatów grupowania. Należałoby w pewien sposób uzależnić poszczególne wyniki od liczby klastrów, czy też klas. Dlatego też, w dalszych analizach jakości poszczególnych grupowań, wartości precyzji i odzysku zostaną pominięte.

4.1.2 F-miara

F-miara łączy w sobie obie wartości precyzji i odzysku oraz odpowiednio je wyważa. Im większa wartość F-miary tym lepsze są wyniki grupowania. Odnosząc się do przykładu, przedstawionego we wstępie rozdziału, wartości F-miary dla przedstawionych sytuacji wynoszą:

 ( )

 ( )

 ( )

Powyższe rezultaty miar poprawnie odzwierciedlają jakości grupowania na każdego z przykładów. Sytuacja A, która reprezentuje najlepsze pogrupowanie obiektów, uzyskała najwyższą wartość F-miary. Druga w kolejności jest sytuacja C.

Obiekty są poprawnie połączone tematycznie, lecz rozmieszczone w większej liczbie klastrów. Najgorsze pogrupowanie otrzymało najmniejszą wartość F-miary.

Doświadczalne wyniki rzeczywistych danych umieszczone w tabelach (Tabela 5) również rzetelnie odzwierciedlają stan jakości grupowania. Niezależnie od algorytmu, liczby dokumentów i liczby klas, najwyższa wartość F-miary wyznacza jedno z najlepszych rezultatów grupowania. Miara ta, uwzględnia zarówno tematyczną jednolitość dokumentów w klastrze jak i liczbę klastrów, w których rozlokowane są dokumenty. Jest dobrym wyznacznikiem jakości grupowania i została uwzględniona w późniejszych analizach.

(35)

35 4.1.3 Czystość

Kolejną miarą jakości grupowania jest czystość. Określa ona jaki procent klastra zajmują dokumenty z dominującej w nim klasy. Im lepsze wyniki grupowania, tym większa wartość czystości. Wartości czystości dla danych przedstawionych w przykładzie przedstawionym we wstępie rozdziału wynoszą odpowiednio:

 ( )

 ( )

 ( )

W przypadkach A i B wartości czystości są zbliżone do wartości F-miary.

Różnica jest zauważalna w sytuacji C. Wysoka wartość czystości dla tej sytuacji pokazuje, iż miara nie jest czuła na liczbę klastrów. Sprawdza jedynie, czy w obrębie jednego klastra większość obiektów jest z tej samej klasy.

Pierwszy zestaw wartości czystości, oznaczony w tabelach (Tabela 5) nazwą

„czystość”, zawiera dane, które przeczą charakterystyce im wyższa wartość czystości tym lepsza jakość grupowania. Wartość czystości maleje, zamiast rosnąć, przy coraz lepszych rezultatach grupowania. Takie zaburzenia w wynikach powodują klastry z pojedynczymi publikacjami. Dane doświadczalne pokazują, że jej wartość może być niepoprawnie modyfikowana poprzez dużą liczbę klastrów pojedynczych.

Czystość, nie uwzględnia liczby klastrów, dlatego też klastry z pojedynczymi obiektami mogą zostać pominięte przy wyliczeniach jej wartości. Eliminacja klastrów pojedynczych sprawiła, że miara adekwatnie odzwierciedla jakość pogrupowania, co pokazują wyniki w tabeli, w kolumnie „czystość bez pojedynczych” (Tabela 5).

Wyniki w tabeli pokazują również, że największe wartości czystości znajdują się w okolicy wybranego empirycznie najlepszego grupowania. Dlatego też, czystość (bez klastrów pojedynczych) była wykorzystywana do analizy skuteczności działania algorytmów grupujących.

4.1.4 Entropia

Ostatnią wykorzystaną miarą jakości grupowania jest entropia. Jest to miara bardzo czuła na wszelkie obiekty niepasujące do większości w klastrze.

W przeciwieństwie do poprzednich miar, im mniejsza wartość entropii, tym lepsze wyniki grupowania. Entropia bliska 0 oznacza, iż prawie wszystkie klastry zawierają jednolite tematycznie dokumenty. Podobnie do czystości, ignorowana jest liczba klastrów. Jednakże, jej wartości nie informują o najlepszych rezultatach całego grupowania. Wyniki w tabeli (Tabela 5) potwierdzają, że entropia nie może być wykorzystywana to jednoznacznego określenia jakości grupowania. W badanych przypadkach używana była jedynie jako informacja pomocnicza na temat przemieszania dokumentów w klastrach.

Cytaty

Powiązane dokumenty

The main objective of the paper is to present how optimi- sation methods can be applied in order to choose geometrical parameters and characteristics of nonlinear elements,

Results of identification; (a) input signal, (b) angle of rotation and angular velocity on the shaft driving motor, (c) parameters estimator, (d) errors estimator... Taking the torque

This is because until that time the CHF/PLN currency pair (disre- garding the speculation period of the year 2008) had been a stable pair and low exchange rates and low

Zachodzi tu za- tem niejako podwójna przesłanka braku możliwości przypisania sprawcy winy – nie można jej sprawcy przypisać, ponieważ niezbędne jest wówczas ustalenie

ϲ ͬdžƉůŽƌŝŶŐůƚĞƌŶĂƟǀĞƐĨŽƌ^ƵƐƚĂŝŶĂďůĞĞǀĞůŽƉŵĞŶƚŝŶƚŚĞdĂŵŝĂŚƵĂtĞƚůĂŶĚƐ Ă ĚĞĐůŝŶĞ ŽŶ ƚŚĞ ĂĐƟǀŝƚLJ

w  sprawie wskaźników finansowych niezbędnych do sporządzenia analizy oraz prognozy sytuacji ekonomiczno – finansowej samodzielnych publicznych zakładów opieki zdrowotnej

Dział łuszczarek i nożyc był niezmiernie ciekawy z punktu widzenia tempa pracy: z jednej strony łuszczarki musiały zdążyć nałuszczyć tyle forniru, by całość dalsza