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