System klasyfikacji i opisu publikacji naukowych z

Transkrypt

System klasyfikacji i opisu publikacji naukowych z
Dokumentacja projektu
System klasyfikacji i opisu
publikacji naukowych z dziedziny medycyny
Project SACO
Smart Articles Classification Onthology
Skład grupy:
Sygnarowicz Agata
Baran Maciej
Gryboś Andrzej
Henslok Michał
Pustułka Robert
Reszczyński Szymon
Rudol Rafał
Słotwiński Daniel
Ślimak Maciek
Świeczkowski Grzegorz
Informatyka Stosowana, IV rok
WEAiE AGH, 2009/10
1
Spis treści
1 Sformułowanie zadania projektowego ................................................................... 3
1.1
1.2
Obszar i przedmiot projektowania ............................................................ 3
1.1.1
Dziedzina problemu .......................................................................... 3
1.1.2
Obszar modelowania ......................................................................... 3
1.1.3
Zakres odpowiedzialności systemu ...................................................... 3
Cele do osiągnięcia ................................................................................ 4
1.2.1
Cele projektu ................................................................................... 4
1.2.2
Niecele ............................................................................................ 4
2 Opis wymagań ................................................................................................... 5
2.1
Funkcje systemu z punktu widzenia użytkownika ....................................... 5
2.2
Przepływy informacyjne doprowadzone do i wyprowadzane z systemu ......... 5
2.3
Zasoby systemu .................................................................................... 6
2.4
Sygnalizowane specjalne wymagania i ograniczenia ................................... 6
3 Analiza systemu – diagramy UML ......................................................................... 7
3.1
Diagram przypadków użycia systemu ....................................................... 7
3.2
Diagram klas systemu ............................................................................ 7
3.3
Diagram sekwencji ................................................................................ 8
3.4
Diagram najważniejszego stanu systemu .................................................. 9
3.5
Diagram komunikacji systemu ............................................................... 10
3.6
Diagram komponentów systemu ............................................................ 11
4 Opis zmian wprowadzonych w zrealizowanym systemie ......................................... 12
4.1
Zmiany na etapie projektowania klas ..................................................... 12
4.2
Zmiany w funkcjonowaniu systemu ........................................................ 15
4.3
Wnioski .............................................................................................. 16
5 Instrukcja obsługi systemu ................................................................................ 17
6 Bibliografia ...................................................................................................... 19
2
1 Sformułowanie zadania projektowego
1.1
Obszar i przedmiot projektowania
1.1.1
Dziedzina problemu
We wpółczesnym świecie przepływ oraz ilość informacji do jakich dostęp ma
przeciętny człowiek jest wręcz zatrważająca. Głównym „winowajcą” tego stanu
rzeczy jest, oczywiście, Internet. Istnieje wiele sposobów gromadzenia,
indeksowania oraz przeszukiwania nagromadzonej wiedzy zarówno lokalnie jak i
zdalnie. Jednym z innowacyjnych sposobów radzenia sobie z powyższym
problemem jest stosowanie ontologii.
1.1.2
Obszar modelowania
Ontologia to, krótko mówiąc, określony sposób formalizacji wiedzy. W celu
zapewnienia jednoznaczności przekazu, wykorzystuje się kategoryzację oraz
hierarchizację:
•
kategoryzacja – zdolność przyporządkowania symbolu występującego w
komunikacie do określonej grupy obiektów, które to obiekty posiadają
określone cechy, np. „kot” – klasa kotów, pojęcie kot.
•
hierarchizacja – umiejscowienie określonej klasy w hierarchicznej strukturze.
Instancja klasy poza oczywistymi charakterystykami wynikającymi z
przynależności do klasy posiada także cechy dziedziczone z klas
nadrzędnych.
Niniejszy projekt ma za zadanie przedstawić jak w prosty sposób można
wykorzystać bazę wiedzy w celu szybkiego i sprawnego wyszukiwania informacji.
Zostanie w nim użyta gotowa ontologii z wybranej dziedziny medycyny, która
będzie wspierać działania użytkownika.
1.1.3
Zakres odpowiedzialności systemu
System będzie odpowiedzialny za analizę podanych słów kluczowych i
odpowiednie skojarzenie ich z tematami pokrewnymi, a następnie połączenie tych
informacji i wyszukanie odpowiednich artykułów w bazie. Najtrudniejsze zadania to
logiczne i wydajne przeszukiwanie ontologii w celu znalezienia jak najtrafniejszych
danych.
3
Podsumowując, głównym problemem projektu będzie znalezienie sposobu na
wykorzystanie informacji zawartych w ontologii i umiejętne ich zastosowanie w celu
wspomagania pracy użytkownika.
Zadanie polega na dostarczeniu gotowej aplikacji, która będzie w stanie
sprostać oczekiwaniom odbiorcy. Korzystając z bazy artykułów oraz ontologii z
wybranej dziedziny, powinna ona jak najtrafniej wyszukiwać oraz sugerować
artykuły, których oczekuje użytkownik.
Z programistycznego punktu widzenia będzie to próba pokazania
interesującego i praktycznego sposóbu wykorzystania powyższego systemu w
medycynie oraz przedstawienie jednej z metod wyszukiwania informacji,
wspomaganego ontologiczną bazą wiedzy.
1.2
Cele do osiągnięcia
1.2.1
Cele projektu
Projekt ma umożliwić klasyfikację i wyszukiwanie publikacji w oparciu o
wykorzystywaną ontologię. Główne cele aplikacji to:
•
ekstrakcja wymaganych informacji z dokumentu PDF
•
zapis informacji o dokumencie w bazie danych
•
wyszukiwanie pokrewnych słów kluczowych w ontologii
•
wyszukiwanie artykułów na podstawie ciągu relacyjnego z ontologii.
1.2.2
Niecele
Celem realizowanego projektu nie jest:
•
dodawanie nowych pojęć do ontologii wiedzy
•
modyfikacja ontologii wiedzy
•
obsługa wielojęzycznych publikacji i zapytań
•
ocena trafności wyszukiwania przez użytkownika
•
wprowadzanie informacji o PDF tylko i wyłącznie przez użytkownika
•
definiowanie słów kluczowych dla artykułu przez użytkownika
4
2 Opis wymagań
2.1
▪
Funkcje systemu z punktu widzenia użytkownika
Dodanie publikacji:
Użytkownik ładuje plik PDF z publikacją do systemu. W polach formularza
pojawiają się dane otrzymane na podstawie pliku (autor, tytuł, rok wydane, etc.)
oraz slowa kluczowe z tekstu, które mają swoje odpowiedniki w ontologii.
Użytkownik może edytować dane pliku, dodać własny opis lub komentarz.
Zapisywanie danych o publikacji w systemie.
▪
Wyszukiwanie publikacji:
Użytkownik podaje słowa kluczowe i rozpoczyna wyszukiwanie. Zwracane są
wyniki dla podanego przez użytkownika zapytania oraz pojęć skojarzonych z
nim, otrzymanych na podstawie powiązań zawartych w ontologii.
▪
Lista publikacji:
Użytkownik może wybrać słowo kluczowe z listy (przedstawionej na przykład w
formie „chmury tagów”) i zobaczyć zestaw publikacji powiązanych z nim.
2.2
Przepływy informacyjne doprowadzone do i wyprowadzane z systemu
Wejście 1 – dodawanie publikacji:
•
Wprowadzenie informacji o dokumencie PDF na podstawie jego analizy
•
Modyfikacja/uzupełnienie niektórych informacji przez użytkownika
•
Zapis powyższych informacji w bazie danych
Wejście 2 – wyszukiwanie publikacji:
•
Wprowadzenie słów kluczowych przez użytkownika
• Wyszukiwanie sekwencji słów kluczowych (pojęć) na podstawie
podanych korzeni (słowa kluczowe z poprzedniego punktu) w ontologii
•
Przekazanie znalezionych sekwencji do silnika wyszukiwarki
5
Wyjście 1 – wyniki wyszukiwania:
•
Wyszukiwanie artykułów na podstawie sekwencji ontologicznych
• Wyświetlenie otrzymanych wyników z możliwością zapisu do pliku w
formacie BibTeX
2.3
Zasoby sytemu
Do wymaganych zasobów systemu należy zaliczyć:
•
framework JENA do odczytu i analizy plików RDF/OWL
•
biblioteka Gate od odczytu dokumentów PDF
•
ontologia w formacie RDF/OWL
•
lokalna baza danych do przechowywania artykułów (dokument RDF)
Ze względu na dużą złożoność pamięciową biblioteki do ekstrakcji danych z
dokumentów PDF, wymagane jest przydzielenie co najmniej 256MB pamięci RAM
dla wirtualnej maszyny Java (JVM), na której program jest uruchamiany.
2.4
Sygnalizowane specjalne wymagania i ograniczenia
▪
Wykorzystywana w systemie ontologia zawiera pojęcia w języku angielskim,
zatem i klasyfikowane publikacje muszą być w tym języku. Projekt nie
przewiduje analizy i klasyfikacji dokumentów napisanych w innym języku.
▪
Słowa kluczowe wybierane przez użytkownika przy wyszukiwaniu należą do
zbioru pojęć wyznaczonych na podstawie wiedzy zawartej w ontologii. Projekt
nie umożliwia wyszukiwania po dowolnych słowach kluczowych.
6
3 Analiza systemu – diagramy UML
3.1
Diagram przypadków użycia systemu
3.2
Diagram klas systemu
7
3.3
Diagram sekwencji
8
3.4
Diagram najważniejszego stanu systemu
9
3.5
Diagram komunikacji systemu
10
3.6
Diagram komponentów systemu
11
4 Opis zmian wprowadzonych w zrealizowanym Systemie
Podczas implementacji i testowania systemu zostały wprowadzone dodatkowe
funkcjonalności i ulepszenia, które nie były przewidziane w pierwotnym projekcie.
Sporo zmian dotyczyło klas i przepływu informacji pomiędzy nimi. Zmieniło się
także nazewnictwo klas i metod, proponowane we wstępnych diagramach klas.
4.1
Zmiany na etapie projektowania klas
Ogólna koncepcja podziału na klasy odpowiedzialne za poszczególne moduły
aplikacji pozostała taka jak w pierwotnym projekcie.
Utworzony został pakiet, zawierający klasy związane z ekstrakcją danych w
oparciu o bibliotekę Gate – PdfAnalyser. Diagram klas w tym pakiecie przedstawia
się następująco:
12
Wszystkie elementy graficzne oraz związane z komunikacją z użytkownikiem
zostały zawarte w klasie GUI.
Klasa PublicationManager przyjęła rolę zarządzania bazą publikacji, zawartą w
formacie RDF. Została odpowiedzialna za przeszukiwanie oraz dodawanie informacji
do bazy, eksport wyników do pliku w formacie BibTeX.
Klasa OntologyManager zarządza wiedzą z ontologii w formacie OWL,
wyznacza pojęcia powiązane z zapytaniami wprowadzonymi przez użytkownika,
ustala trafność znalezionych wyników.
Powstała także dodatkowa klasa – Bibtex – wygenerowana na podstawie
ontologii opisującej format BibTex. Klasa ta wymagana była przez framework JENA
do poprawnego tworzenia i zapisywania pliku RDF z bazą publikacji, słów
kluczowych oraz autorów.
Diagram wszystkich klas projektu widoczny jest na następnej stronie.
13
14
4.2
Zmiany w funkcjonowaniu systemu
Zaplanowane w projekcie funkcjonalności systemu zostały zrewidowane i
ulepszone. Wprowadzono także kilka nowych, użytecznych opcji użycia. Kompletna
lista funkcjonalności dostępnych w gotowej aplikacji opisania jest poniżej:
▪
Dodanie publikacji:
Użytkownik ładuje plik PDF z publikacją do systemu. W polach formularza
pojawiają się dane otrzymane na podstawie pliku (autor, tytuł, rok wydane, etc.)
oraz slowa kluczowe z tekstu, które mają swoje odpowiedniki w ontologii.
Użytkownik może edytować dane pliku, szczególnie w przypadku, gdy nie zostały
automatycznie wykryte (np. adres URL). Zapisywanie danych o publikacji w
systemie.
▪
Wyszukiwanie publikacji po bezpośrednim słowie kluczowym:
Użytkownik wybiera pojęcie z listy słów kluczowych dla wszystkich publikacji,
wyznaczonych w procesie ekstrakcji danych. Zwracane są wyniki, dla podanego
zapytania.
▪
Wyszukiwania publikacji po pojęciach w oparciu o ontologię:
Użytkownik podaje słowa kluczowe i rozpoczyna wyszukiwanie. W ontologii
wiedzy wyszukiwane są pojęcia powiązane z podanym zapytaniem. Następnie, w
zbiorze publikacji wyszukiwane są takie, których bezpośrednie słowa kluczowe
mogą być skojarzone z listą wyznaczonych pojęć.
▪
Wyszukiwanie publikacji po autorze:
Użytkownik wybiera nazwisko autora z listy wszystkich autorów dostępnych w
bazie. Zwracana jest lista publikacji, których jednym z autorów jest ten podany
przez użytkownika.
▪
Lista wszystkich publikacji:
Wyświetlana jest lista wszystkich publikacji zawartych w bazie.
▪
Podgląd szczegółów publikacji:
Po zaznaczeniu publikacji na liście wyników, wyświetlane są szczegółowe dane
publikacji, wyznaczone w procesie ekstrakcji. Widoczna jest lista słów
kluczowych w postaci „chmury tagów”.
▪
Eksport wyników do BibTex:
Użytkownik ma możliwość wyeksportowania listy wyszukanych publikacji (w
szczególności – wszystkich publikacji) do pliku tekstowego w formacie BibTeX.
15
4.3
Wnioski
W realizowanym projekcie udało się zaimplementować i przetestować
wszystkie zaplanowane funkcjonalności. Dołączona do programu ontologia z wiedzą
medyczną - zawierająca dane o raku – pozwala na wyszukiwanie publikacji nie tylko
po bezpośrednio wyznaczonych słowach kluczowych, ale także pojęciach
związanych z wprowadzonym przez użytkownika zapytaniem.
Spory kłopot sprawiło doszlifowanie metod ekstrakcji danych z artykułów
w formacie PDF. Niestety, autorzy nie stosują jednej, ściśle określonej konwencji
przy rozmieszczeniu kluczowych elementów (tytuł, data publikacji, nazwiska
twórców) w tekście, dlatego uzyskanie dobrych wyników przy analizie PDFów
wymagało uogólnień. Gdyby analizowane artykuły pochodziły tylko z jednego źródła
– o konkretnie określonym formacie – wyniki ekstrakcji byłyby jeszcze lepsze.
System w chwili obecnej oparty jest o ontologię wiedzy, zawierająca pojęcia
związane z rakiem, jednakże istnieje możliwość dołączenia innej ontologii
i tym samym zróżnicowania procesu wyszukiwana pojęć i powiązań z publikacjami,
znajdującymi się w bazie.
16
5 Instrukcja obsługi systemu
Program SACO posiada wygodny graficzny interfejs. Podczas uruchomienia,
widoczna jest także konsola wirtualnej maszyny Java, w której pojawiają się
informacje o postępach ekstrakcji danych z wczytanego pliku PDF.
Pierwszy widok programu, czyli zakładka „Search” jest zarazem sercem
aplikacji i jej najczęściej wykorzystywanym elementem. Pozostałe zakładki zostaną
omówione w dalszej części.
Centralny element widoku „Search” to tabela, w której domyślnie wyświetlana
jest lista wszystkich artykułów. Widoczne są cztery kolumny:
•
Rank - wartość określająca trafność znalezionego artykułu; im wyższa
wartość w tej kolumnie, tym większe prawdopodobieństwo, że znaleziona
publikacja powiązana jest z wprowadzonym zapytaniem
•
Publication title - tytuł danej publikacji
•
Author - autor (bądź autorzy) publikacji
•
Year - data publikacji artykułu
Poniżej listy znajdują się szczegółowe informacje na temat aktualnie
zaznaczonej pozycji w tabeli. Na specjalną uwagę zasługuje „Keywords”, czyli lista
słów kluczowych wyświetlona w postaci „chmury tagów” (wielkość tekstu jest
proporcjonalna do wagi tagu).
Ponad tabelą znajduje się zestaw narzędzi do przeszukiwania bazy. W polu
tekstowym użytkownik może wprowadzi zapytanie, dla którego zostanie
wyznaczona lista pojęć na podstawie ontologii, a następnie wyszukane
odpowiadające publikacje. Obok znajdują się przyciski:
•
Search – rozpoczyna wyszukiwanie i wyświetlanie listy wyników
•
Show all - wyświetla całą bazę publikacji
•
Clear - czyści całą aktualna zawartość tabelii
•
Export to BibTeX - eksportuje dane publikacji z aktualnie wyświetlanej
listy do pliku w formacie BibTeX
Na prawo od głównej tabelii znajdują się dwie mniejsze. Pierwsza zawiera listę
wszystkich tagów znajdujących się w bazie wraz z ilością artykułów powiązanych z
nimi (liczba w nawiasach). Druga to lista wszystkich autorów. Po wybraniu jednej z
pozycji w pierwszej lub drugiej tabeli, zostanie dokonane automatyczne
wyszukiwanie na podstawie słowa kluczowego lub autora.
Drugą z zakładek jest „Add Publication”. Umożliwia ona wprowadzenie do
systemu nowej publikacji. Nie jest ona tak skomplikowana jak jej poprzedniczka.
17
Po naciśnięciu przycisku „Browse” użytkownik wybiera plik PDF, który chce
dodać do bazy artykułów. Plik zostanie przetworzony przez parser. Proces ten jest
logowany do konsoli, gdzie można przeglądać jego postęp. Ze względu na swoją
złożoność, ekstrakcja danych zajmuje od kilkunastu sekund wzwyż w zależności od
rozmiarów podanego pliku. Przy dodaniu pierwszej publikacji proces trwa dłużej,
gdyż inicjalizowane są wszystkie elementy biblioteki GATE.
Po zakończeniu procesu ekstrakcji, w sekcji „Publication Particular
Information” widoczne są otrzymane dane. Użytkownik może dokonać uzupełniania,
bądź korekty wszystkich informacji za wyjądkiem słów kluczowych, gdyż taka
ingerencja mogłaby negatywnie wpłynąć na póżniejsze wyniki wyszukiwania. Aby
zakończyć proces dodawania publikacji należy kliknąć przycisk „Save”.
Ostatnia z zakładek („About”) ma charakter informacyjny. Zawiera informacje
o twórcach aplikacji oraz krótka listę z opisem funkcjonalności programu.
Szczegółową prezentację funkcjonalności i obsługi aplikacji można zobaczyć w
dołączonym do programu filmiku instruktażowym (format AVI, wymaga kodeków
XviD).
18
6 Bibliografia
•
Aditya Kalyanpur, Bijan Parsia, E.S.B.C.-G.
Repairing Unsatisfiable Concepts in OWL Ontologies
2005
•
Ceccaroni, L. & Kendall, E.
A Semantically-Rich, Graphical Environment for Collaborative Ontology Development in
Agentcities
2002
•
DeLeon, A. & Dumontier, M.
Publishing OWL ontologies with Presto
•
Domenico Beneventano, Nikolai Dahlem, S.E.H.A.H.D.M.M.R.
Ontology-driven Semantic Mapping
•
Fensel, D., van Harmelen, F., Klein, M. & Akkermans, H.
Ontoknowledge: Ontology-based Tools for Knowledge Management
eBusiness and eWork, 2000
•
Guarino, N.
Formal Ontology and Information Systems
Guarino, N. (ed.)
Proceedings of the 1st International Conference on Formal Ontologies in Information
Systems (FOIS'98)
IOS Press, 1998, Vol. 46, pp. 3-15
•
Guarino, N.; Giaretta, P.
Ontologies and Knowledge Bases
•
I. Budak Arpinar, A.S. &.C.R.
Geospatial Ontology Development and Semantic Analytics
Handbook of Geographic Information Science
2004, pp. 21
•
Krassen Stefanov, K.T.
Computing Ontology Creation
•
Lagoze, C.; Hunter, J.
The ABC ontology and Model
•
Magkanaraki, A., Karvounarakis, G., Anh, T.T., Christophides, V. & Plexousakis, D.
Ontology Storage and Querying
Foundation for Research and Technology, Hellas Institute of Computer Science,
Information Systems Laboratory, 2002(308), pp. 21
•
Noy, N.F. & McGuinness, D.L.
Ontology Development 101: A Guide to Creating Your First Ontology
Stanford University, , pp. 25
•
Passant, A.
Using Ontologies to Strengthen Folksonomies and Enrich Information Retrieval in
Weblogs. Theoretical background and corporate usecase.
ICWSM, 2007, pp. 8
•
Pat Hayes, Thomas C. Eskridge, R.S.T.R.M.M.D.B.
19
Collaborative Knowledge Capture in Ontologies
IHMC, Indiana University, Prugati Synergetic Research, , pp. 8
•
Szymański, K., Dobrowolski, G., Koźlak, J. & Zygmunt, A.
A proposition of knowledge management methodology for the purpose of reasoning
with the use of an upper-ontology
Computer Science, 2007, Vol. 8, pp. 117-133
•
Todorova, K. & Stefanov, K.
Selection and use of domain ontologies in Learning Networks for Lifelong Competence
Development
•
Valentin Tablan, Tamara Polajnar, H.C.K.B.
User-friendly ontology authoring using a controlled language
Department of Computer Science University of Sheffield, 2004
•
Werner Ceusters, Barry Smith, J.F.
Ontology and Medical Terminology: Why Description Logics Are Not Enough
Medical Records Institute (CDROM publication)
2003
•
Zablith, F.
Ontology Evolution: A Practical Approach
Workshop on Matching and Meaning
2009, pp. 3
•
Zhang, X., Cheng, G. & Qu, Y.
Ontology Summarization Based on RDF Sentence Graph
WWW '07: Proceedings of the 16th international conference on World Wide Web
ACM, 2007, pp. 707-716
•
http://smile.deri.ie/projects/keyphrase-extraction – zaawansowane narzędzie do
ekstrakcji słów kluczowych; narzędzie korzysta z platformy do przetwarzania tekstu
GATE (http://gate.ac.uk)
• http://pdfbox.apache.org/ – biblioteka do ekstrakcji zawartości oraz metadanych z
plików PDF
20