• Nie Znaleziono Wyników

Ocena spójności ontologii przy zastosowaniu mechanizmu wnioskującego 1. Możliwości praktycznego wykorzystania oprogramowania Protégé

3. POSTAĆ FORMALNA I TECHNOLOGICZNA WIEDZY ZAWARTEJ W ONTOLOGIACH

3.6. Ocena spójności ontologii przy zastosowaniu mechanizmu wnioskującego 1. Możliwości praktycznego wykorzystania oprogramowania Protégé

Do budowy każdej z przedstawionych ontologii COTS zastosowano aplikację Protégé tworzoną i wspieraną przez Uniwersytet w Manchesterze. Proces budowania ontologii następował przy zastosowaniu uprzednio istniejącej wersji oprogramowania Protégé 4.0, poprzez wersję 4.1 beta373 oraz najnowszą 4.2 alpha374 z dnia 4 października 2011375. Najnowsza wersja 4.2 (249 building) została wzbogacona o szeroki zbiór plug-in’ów, uwzględniających między innymi takie narzędzia jak: narzędzie OWL Diff wspomagające porównywanie i wskazywanie występujących różnic pomiędzy 2 ontologiami, usprawnione wsparcie wyjaśnień

349 Tartir S., Arpinar I., Moore M., Sheth A., Aleman-Meza B., OntoQA: Metric-Based Ontology Quality Analysis, [w:] IEEE Workshop on Knowledge Acquisition from Distributed, Autonomous, Semantically Heterogeneous Data and Knowledge Sources, IEEE Computer Society, Los Alamitos 2005.

350 Alani H., Brewster C., Metrics for Ranking Ontologies, In Proceedings of the 4th International Conference on Evaluation of Ontologies for the Web, EON Workshop, Edinburgh International Conference Center, Edinburgh, UK 2006.

351 Lozano-Tello A., Gomez-Perez A., Sosa A., Selection of Ontologies for the Semantic Web, LNCS, Vol. 2722, 2004.

352 Hartmann J. (ed.), Methods for Ontology Evaluation, EU-IST Network of Excellence NoE IST-2004-507482 KWEB 2005.

353 Stojanovic N., Hartmann J., Gonzalez J., The OntoManager – a system for the usage-based ontology management, [in:] Proceedings of FGML Workshop, SIG of German Information Society, Springer-Verlag, 2003.

354Maedche A., Staab S., Ontology learning for the Semantic Web, “IEEE Intelligent Systems” 2001,vol. 16 (2).

355 Guarino N., Welty C., Evaluating Ontological Decisions with OntoClean, Communications of the ACM, Vol. 45, No. 2, 2002.

356 Spyns P, Pretorius A.J., Reinberger M.-L., Evaluating DOGMA-lexons generated automatically from a text corpus, [w:] Cimiano Ph., Ciravegna F., Motta E., Uren V.,(red.), Proceedings of the EKAW 2004 Workshop on Language and Semantic Technologies to support Knowledge Management Processes, 2004, ss. 38 - 44.

357 Fernandez M. (red.), CORE: A Tool for Collaborative Ontology Reuse and Evaluation, 4th International EON Workshop, 2006.

358 Sleeman D., Quentin R., CleanONTO: Evaluating taxonomic relationships in ontologies, 4th International EON Workshop, Edinburgh International Conference Centre, Edinburgh, UK, 2006.

359Lu Q., Haarslev V., OntoKBEval: DL-based Evaluation of OWL Ontologies, [w:] Proceedings OWLED, IEEE 2006.

360 CEL Reasoner, http://lat.inf.tu-dresden.de/systems/cel/, dostęp dnia: 16.06.2011.

361 Cerebra Engine, http://www.cerebra.com/, dostęp dnia: 16.06.2011.

362 Fact++ Reasoner, http://owl.cs.manchester.ac.uk/fact++/, dostęp dnia: 16.06.2011.

363 Fuzzy DL Reasoner, http://gaia.isti.cnr.it/~straccia/software/fuzzyDL/fuzzyDL.html, dostęp dnia: 16.06.2011.

364 HermiT Reasoner, http://www.hermit-reasoner.com/, dostęp dnia: 16.06.2011.

365 KAON2 Reasoner, http://kaon2.semanticweb.org/, dostęp dnia: 16.06.2011.

366 MSPASS Reasoner, http://www.cs.man.ac.uk/~schmidt/mspass/, dostęp dnia: 16.06.2011.

367 Pellet Reasoner, http://clarkparsia.com/pellet, dostęp dnia: 16.06.2011.

368 QuOnto Reasoner, http://www.dis.uniroma1.it/~quonto/, dostęp dnia: 16.06.2011.

369 RacerPro Reasoner, http://www.racer-systems.com/, dostęp dnia: 16.06.2011.

370 SHER Reasoner, http://www.alphaworks.ibm.com/tech/sher, dostęp dnia: 16.06.2011.

371 SoftFacts Reasoner, http://gaia.isti.cnr.it/~straccia/software/SoftFacts/SoftFacts.html, dostęp dnia: 16.06.2011.

372 TrOWL Reasoner, http://trowl.eu/, dostęp dnia: 16.06.2011.

373 http://protegewiki.stanford.edu/wiki/P4_1_Release_Announcement, dostęp dnia: 08.08.2011.

374 http://protegewiki.stanford.edu/wiki/Protege_4.2_Alpha_Release_Notes, dostęp dnia: 13.10.2011.

375 http://protegewiki.stanford.edu/wiki/Protege4UserDocs, dostęp dnia: 13.10.2011.

93 (ang. enhanced explanation suport), możliwości klient-server, wsparcie podczas generacji kodu oraz back-end oparty na bazie danych. Ponadto w wersji 4.2 został zaimplementowany plug-in PROMPT umożliwiający wspomniane już dokonywanie porównań oraz obliczeń pomiędzy dwiema wersjami ontologii jak również (podobnie jak w przypadku wersji Protégé 4.1) wbudowana została nowa wersja mechanizmu wnioskującego HermiT 1.3.5.

Dodatkowo (podobnie jak ostatnia wersja Protégé 4.1), wersja 4.2 również została wzbogacona o nowe funkcjonalności, dostarczając niezbędnej i szczegółowej wiedzy na temat występujących niespójności w danej ontologii. Warto zaznaczyć, że w poprzednich wersjach oprogramowania Protégé również istniała możliwość przeprowadzenia oceny spójności oraz poprawności ontologii (wskutek zastosowania mechanizmu wnioskującego elementy niespójne były oznaczane kolorem czerwonym, zaś w hierarchii inferred dostarczanej przez reasoner pojawiał się często komunikat nothing jako wiadomość o występujących błędach). Obecnie w najnowszej wersji Protégé 4.1 oraz 4.2 dostępny jest szczegółowy raport o błędach występujących w ontologii (ang. Experimental Protégé Explanation Heuristics). Dostarcza on niezbędnej wiedzy na temat występujących niespójności i błędów w danej ontologii jak również identyfikuje obszary występowania tych niespójności. Proces uruchomienia mechanizmu wnioskującego automatycznie generuje proces weryfikacji spójności ontologii. W przypadku, gdy wystąpią nieprawidłowości w ontologii, niemożliwym będzie dalsze przeprowadzenie procesu obliczeń oraz dostarczenie wyników przez mechanizm wnioskujący.

3.6.2. Ocena spójności ontologii przy wykorzystaniu mechanizmu wnioskującego HermiT

Dokonując obliczeń w ontologiach został wykorzystany mechanizm HermiT wersja 1.3.5.

Jest to narzędzie udostępniane nieodpłatnie, na licencji LGPL, bazujące na języku Java.

Wykorzystuje on OWL API 3.0 oraz jest kompatybilny z interfejsem OWLReasoner OWL API.

Głównym założeniem mechanizmu wnioskującego HermiT jest dostarczenie informacji na temat logicznej spójności danej ontologii, jak również wskazanie relacji zliczania pomiędzy klasami. HermiT stanowi obecnie jeden z najszybszych mechanizmów wnioskujących dostępnych na rynku, umożliwiając szybkie zliczanie nawet bardzo rozbudowanych ontologii376. Zastosowanie narzędzia wnioskującego (oprócz klasyfikacji manualnie utworzonej przez budującego ontologię (ang. asserted hierarchy)), w wyniku przeprowadzonych obliczeń dostarcza kolejnej klasyfikacji (ang. inferred hierarchy).

Proces uruchomienia mechanizmu wnioskującego rozpoczyna jednocześnie proces oceny spójności ontologii. W niniejszym podrozdziale zostaną przedstawione przykładowe możliwe do wystąpienia stany niespójności w ontologii (z użyciem mechanizmu wnioskującego HermiT oraz narzędzia Experimental Protégé Explanation Heuristics). Po uruchomieniu mechanizmu wnioskującego w przypadku występowania niespójności lub błędów w ontologii pojawi się komunikat z informacją o stanie niespójności jak również o niemożliwości dostarczania przez mechanizm wnioskujący dostarczania dłużej wiarygodnych informacji na temat danej ontologii.

Tym samym nie będzie możliwa kontynuacja dokonywania dalszych obliczeń i wnioskowania przez dany reasoner. W przypadku zidentyfikowania przez mechanizm wnioskujący stanu niespójności w danej ontologii, projektujący ontologię ma do wyboru jedną z trzech możliwości. W pierwszym przypadku może skorzystać z informacji na temat występujących błędów w ontologii dostarczanych przez Experimental Protégé Explanation Heuristics. Istnieje również możliwość poprawy występujących niespójności przez projektującego ontologię w przypadku gdy jest w stanie samodzielnie zidentyfikować problem. Ponadto, wiele mechanizmów wnioskujących umożliwia dostarczenie kompletnych wyjaśnień stanu niespójności ontologii (Rys. 3.7.).

376 HermiT Reasoner, http://www.comlab.ox.ac.uk/projects/HermiT/index.html, dostęp dnia: 16.06.2011.

94 Rys. 3.7. Przykład wystąpienia stanu niespójności w ontologii. Źródło: Opracowanie własne przy użyciu aplikacji Protégé wersja 4.2.

Przykładowo wybrano ontologię frameworków informatycznych wspomagających dobór i ocenę składników COTS, w której celowo wywołano stan niespójności. Bazując na informacjach dostarczonych przez narzędzie Experimental Protégé Explanation Heuristics na temat występujących błędów w ontologii, możliwym jest zidentyfikowanie indywidualności (bezpośrednio) powiązanych ze stanem niespójności. W przypadku każdej spośród zidentyfikowanych indywidualności (związanych ze stanem niespójności ontologii) istnieje możliwość pozyskania szczegółowej charakterystyki związanej z tymże stanem (Rys. 3.8.).

Rys. 3.8. Przykład zastosowania narzędzia Experimental Protégé Explanation Heuristics dla zidentyfikowania indywidualności powiązanych ze stanem niespójności. Źródło: Opracowanie własne przy użyciu aplikacji Protégé wersja 4.2.

Wybierając ze zbioru zidentyfikowanych indywidualności powiązanych ze stanem niespójności przykładową, jedną indywidualność – framework CAP, w efekcie otrzymano szczegółowe charakterystyki powiązane z aksjomatem example CAP (Rys. 3.9.). Warto jednocześnie zwrócić uwagę na fakt oznaczenia kolorem czerwonym ontologii, w której została wykryta niespójność.

95 Rys. 3.9. Przykład zastosowania narzędzia Experimental Protégé Explanation Heuristics dla wybranej indywidualności powiązanej ze stanem niespójności. Źródło: Opracowanie własne przy użyciu aplikacji Protégé wersja 4.2.

Oprócz powiązanych ze stanem niespójnym indywidualności, zidentyfikowane zostały również niespójności występujące w poszczególnych klasach. W przypadku zidentyfikowanych klas istnieje prawdopodobieństwo, że mogą one powodować niespójność, przy czym może to nie być jedynym powodem, dla którego ontologia jest niespójna. Analogicznie jak w przypadku indywidualności, wybór jednej spośród zidentyfikowanych klas zawiera szczegółową wiedzę na temat występujących niespójności (Rys. 3.10.).

Rys. 3.10. Przykład zastosowania narzędzia Experimental Protégé Explanation Heuristics dla zidentyfikowania niespójności występujących w poszczególnych klasach. Źródło: Opracowanie własne przy użyciu aplikacji Protégé wersja 4.2.

Ponadto istnieje możliwość identyfikacji aksjomatów powiązanych ze stanem niespójności.

W przypadku, gdy ontologia nie zawiera indywidualności, wtedy jakiekolwiek wytłumaczenie stanu niespójności ontologii musi zawierać jeden z aksjomatów wyszczególniony na poniższym rysunku (Rys. 3.11.).

96 Rys. 3.11. Przykład zastosowania narzędzia Experimental Protégé Explanation Heuristics dla zidentyfikowania aksjomatów powiązanych ze stanem niespójności. Źródło: Opracowanie własne przy użyciu aplikacji Protégé wersja 4.2.