• Nie Znaleziono Wyników

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 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

 ś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 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

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

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

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

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 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

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.

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

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

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

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

Plik_wejściowy.txt

TITLE

Eigen-harmonics faces: face recognition under generic lighting AUTHORS

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

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

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 , .

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

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

Powiązane dokumenty