Inteligentne wnioskowanie w sieci semantycznej web 3kopel/mgr/2016.02 mgr Marek.pdf · „Sieć...

53
Wydział Informatyki i Zarządzania kierunek studiów: Informatyka specjalność: Systemy Informacyjne Praca dyplomowa - magisterska Inteligentne wnioskowanie w sieci semantycznej web 3.0 Filip Jarosław Marek słowa kluczowe: Sieć semantyczna Web 3.0 Wnioskowanie inteligentne Ontologie Reasonery krótkie streszczenie: Praca dotyczy zasad tworzenia sieci semantycznej jako rozwiązania dla Web 3.0. Przedstawione, zbadane i porównane zostały silniki wnioskujące. opiekun pracy dyplomowej Dr Marek Kopel ....................... ....................... Tytuł/stopień naukowy/imię i nazwisko ocena podpis Do celów archiwalnych pracę dyplomową zakwalifikowano do:* a) kategorii A (akta wieczyste) b) kategorii BE 50 (po 50 latach podlegające ekspertyzie) * niepotrzebne skreślić pieczątka wydziałowa Wrocław 2016

Transcript of Inteligentne wnioskowanie w sieci semantycznej web 3kopel/mgr/2016.02 mgr Marek.pdf · „Sieć...

Wydział Informatyki i Zarządzania

kierunek studioacutew Informatyka

specjalność Systemy Informacyjne

Praca dyplomowa - magisterska

Inteligentne wnioskowanie w sieci

semantycznej web 30

Filip Jarosław Marek

słowa kluczowe

Sieć semantyczna

Web 30

Wnioskowanie inteligentne

Ontologie

Reasonery

kroacutetkie streszczenie Praca dotyczy zasad tworzenia sieci semantycznej jako rozwiązania dla Web 30

Przedstawione zbadane i poroacutewnane zostały silniki wnioskujące

opiekun pracy

dyplomowej

Dr Marek Kopel

Tytułstopień naukowyimię i nazwisko ocena podpis

Do celoacutew archiwalnych pracę dyplomową zakwalifikowano do

a) kategorii A (akta wieczyste)

b) kategorii BE 50 (po 50 latach podlegające ekspertyzie) niepotrzebne skreślić

pieczątka wydziałowa

Wrocław 2016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

1

Spis treści

1 Streszczenie 3

2 Abstract 4

3 Wnioskowanie inteligentne 5

Wnioskowanie 5

Definicja rozumowania 5

Definicja wnioskowania 5

31 Inteligencja inteligentnego wnioskowania 6

32 Rodzaje wnioskowania 6

4 Sieć semantyczna 7

41 Semantyka 7

42 Sieć semantyczna 7

43 Zastosowania Sieci Semantycznej 8

44 Linked Data 8

45 Standardy techniczne sieci semantycznej 10

46 RDF ndash Resource Description Framework 10

47 RDFS ndash RDF Schema 11

471 Struktura RDFS ndash podstawowe konstruktory 12

48 OWL ndash Web Ontology Language 13

49 SPARQL Protocol i RDF Query Language 14

5 Web 30 14

51 Pojęcie 14

6 Wnioskowanie semantyczne 17

61 Własności i konkstruktory w języku OWL dla wnioskowania 17

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady 17

621 Dziedziczenie typu przez podklasę - rdfssubclassOf 18

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

18

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain 18

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

18

63 OWL Własności umożliwiające wnioskowanie - Przykłady 19

631 Przechodniość - owlTransitiveProperty 19

632 Symetria - owlSymmetricProperty 19

633 Dziedziczenie rozdzielności - owldisjointWith 19

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

19

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

2

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf 20

636 Ograniczenie wartości - owlRestriction 20

64 Reasonery 21

641 Działanie reasonera 21

642 Podział reasoneroacutew 21

65 Przegląd istniejących reasoneroacutew 23

651 Pellet 23

652 HermiT 23

653 FacT++ 23

654 jcel 23

655 Zestawienie 24

7 Przykłady obecnego zastosowania sieci semantycznych 25

71 DBpedia 25

72 BBC 25

73 GeoNames 26

8 Podsumowanie zebranej wiedzy 27

9 Środowisko badawcze 28

91 Oprogramowanie - Proteacutegeacute 28

92 Instalacja reasoneroacutew 28

93 OWLViz ndash Wizualizacja OWL 29

94 Ontologie w Proteacutegeacute 29

10 Przykładowy przebieg testu wnioskowania ndash ontologia bdquofamily_exampleowlrdquo 31

101 Hierarchia klas 31

1011 Klasy 31

1012 Właściwości 31

1013 Instancje 31

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla reasonera

Pellet 32

1021 Roacuteżnice w jednostkach 33

1022 Roacuteżnice w strukturze hierarchii klas 34

1023 Roacuteżnice dla instancji 34

11 Zbioacuter ontologii wybranych do wykonania testoacutew 36

111 Tabela informacji o użytych plikach 36

12 Wyniki przeprowadzonych testoacutew 37

121 Wyniki testoacutew na ontologii 1 ndash factsrdf 37

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl 39

123 Wyniki testoacutew na ontologii 3 ndash wineowl 42

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

3

124 Wyniki testoacutew na ontologii 4 ndash doidowl 44

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl 45

13 Podsumowanie wynikoacutew 47

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe 47

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe 48

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe 49

134 Podsumowanie 49

14 Zainteresowanie tematem Sieci Semantycznych 50

141 Wykresy Google Trends 50

15 Wnioski 51

16 Bibliografia 52

1 Streszczenie

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

4

Celem pracy jest rozpoznanie i przedstawienie wnioskowania inteligentnego w kontekście

budowania i działania Sieci Semantyczniej roacuteżnic pomiędzy Web 30 a poprzednimi

generacjami możliwych zastosowań ww rozwiązań obecnie i w przyszłości Pierwsza część

pracy definiuje rozważane zagadnienia oraz opisuje przykłady aktualnego zastosowania

technologii W drugiej części przedstawiony jest przebieg i wyniki badań nad działaniem

aktualnie dostępnych silnikoacutew wnioskowania (reasoneroacutew) dla ontologii w języku OWL Testy

wyłaniają najlepszy z nich według kryterioacutew jakości wydajności i ilości

2 Abstract

The aim of this paper is to identify and present intelligent inferencing in the context of

building and work of the Semantic Web differences between Web 30 and previous

generations the possible applications of the above solutions now and in the future The first

part defines the issues under consideration and describes examples of current use of these

technologies The second part shows the process and results of studies on effects of currently

available reasoners for the OWL ontology language Tests were to emerge the best of them

according to criteria of quality performance and quantity

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

5

3 Wnioskowanie inteligentne

Wnioskowanie patrząć przez pryzmat nauki o logice jest częścią rozumowania czyli procesu

polegającego na stwierdzaniu poprawności pewnego zdania

Definicja rozumowania wg Encyklopedii PWN

bdquorozumowanie log proces myślowy w ktoacuterym uznaje się za prawdziwe jakieś

sądy (lub ich reprezentacje językowe mdash zdania) na podstawie innych już

uznanych za prawdziwe sądoacutew (zdań)

wśroacuted rodzajoacutew rozumowań zwykle rozroacuteżnia się wnioskowanie dowodzenie

sprawdzanie (weryfikację) i wyjaśnianie[]rdquoCytat 1 (1)

Jak widać przy wnioskowaniu skupiamy się na wyciągnięciu wniosku a pozostawiamy jego

werifikację sprawdzanie poprawności i dowoacuted

Definicja wnioskowania wg Encyklopedii PWN

bdquownioskowanie log jeden z podstawowych rodzajoacutew rozumowania

proces myślowy polegający na tym że na podstawie zdań uznanych za

prawdziwe (twierdzeń uzasadnionych) dochodzi do uznania nowego

twierdzenia ktoacutere wyprowadza się z owych zdań na podstawie praw log oraz

zgodnie z odpowiednimi regułami wnioskowania Zdania stanowiące punkt

wyjściowy tego rozumowania i podstawę uznawania innych nazywa się

przesłankami zdanie uznane w rezultacie procesu wnioskowania nazywa się

wnioskiem (konkluzją) Wnioskowanie nawiązuje do istniejącego między

zdaniami obiektywnego stosunku wynikania a także do probabilistycznych

związkoacutew między zdaniami Proces wnioskowania przebiega zwykle wg

schematu bdquoponieważ p więc qrdquo Wszelkie wnioskowania dzielą się na

niezawodne i zawodne czyli uprawdopodobniające Do niezawodnych należy

wnioskowanie dedukcyjne (dedukcja) szczegoacutelną jego odmianą jest

wnioskowanie sylogistyczne (sylogizm) z dwoacutech przesłanek Wśroacuted roacuteżnych

rodzajoacutew wnioskowań zawodnych wyroacuteżnia się wnioskowanie redukcyjne

(redukcja) wnioskowanie indukcyjne (indukcja) wnioskowanie przez analogię

(analogia)rdquoCytat 2 (2)

Wnioskowanie jest implikacją

Przesłanki (twierdzenia uzasadnione) --(prawa logiczne)--gt twierdzenie (wniosekkonkluzja)

Rodzaje niezawodnego wnioskowania to

Dedukcja ndash wniosek wynika z przesłanek

Oraz rodzaje wnioskowania zawodnego

Redukcja ndash do zdania uznanego za prawdziwe dobieramy przesłankę z ktoacuterej to zdanie

wynika

Indukcja ndash wniosek nie wynika logicznie z przesłanek ale stwierdza występującą

prawidłowość

Analogia ndash wnioskowanie o cechach obiektu na podstawie 2 przykładoacutew analogicznego

obiektu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

6

31 Inteligencja inteligentnego wnioskowania Przymiotnik bdquointeligentnerdquo w przypadku wnioskowania o ktoacuterym jest mowa w pracy pochodzi

od zautomatyzowanych metod wnioskowania ndash działu Sztucznej Inteligencji Potwierdza to

definicja Słownika Języka Polskiego PWN dot sztucznej inteligencji

bdquosztuczna inteligencja laquodział informatyki badający reguły rządzące

zachowaniami umysłowymi człowieka i tworzący programy lub systemy

komputerowe symulujące ludzkie myślenieraquordquoCytat 3 (3)

Należy więc rozpatrzeć możliwie zautomatyzowane metody wnioskowania ktoacutere działają bez

ingerencji człowieka Łączy się to z założeniem że fakty przesłanki i wnioski będą

przetwarzane i rozumiane przez komputer

32 Rodzaje wnioskowania Wnioskowanie można podzielić na 3 metody

Wnioskowanie w przoacuted

Wnioskowanie wsteczne

Wnioskowanie mieszane

Podsumowanie

Wymienione powyżej sposoby i rodzaje wnioskowania mogą mieć swoje zastosowanie dla

technologii użytych w sieciach semantycznych Należy rozpatrzeć na czym taka sieć się opiera

aby zbadać adektwatny sposoacuteb wnioskowania

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

7

4 Sieć semantyczna

41 Semantyka Semantyka jest działem logiki odpowiadającym za przypisanie znaczenia symbolom i

elementom języka oraz sensu zbiorom tych symboli Definicja wg Encyklopedii PWN

bdquoW celu określenia semantyk formalnego języka używana jest technika

nazywana teorią modelowania Teoria modelowania zakłada że język odnosi

się do bdquoświatardquo i opisuje warunki ktoacutere ten bdquoświatrdquo musi spełnić w celu

przekazywania poprawnego znaczenia dla każdego wyrażenia w języku

Konkretny bdquoświatrdquo jest nazywany interpretacją więc teoria modelowania może

być nazywana teorią interpretacji Najważniejszą ideą jest zapewnienie

abstrakcyjnego matematycznego opisu właściwości ktoacutere posiada każda taka

interpretacja poprzez tworzenie możliwie dużej liczby założeń o właściwej

naturze lub wewnętrznej strukturze zachowując w ten sposoacuteb tak dużo

ogoacutelności jak to możliwe Najważniejszym wykorzystaniem formalnych

semantyk jest zapewnienie technicznego sposobu determinowania kiedy

procesy wnioskowania są uzasadnione czyli np kiedy zachowują

prawdęrdquoCytat 4 (4)

42 Sieć semantyczna Definicja

bdquoSieć Semantyczna pozwoli w systematyczny sposoacuteb przypisać znaczenie

elementom stron WWW dzięki czemu odczytujące je specjalne programy zwane

agentami będą mogły wykonywać skomplikowane zadania zlecone przez

użytkownikoacutew Agent odwiedzający witrynę kliniki rehabilitacji nie tylko

rozpoznaje zawiera ona słowa kluczowe terapia medycyna rehabilitacja (co

jest możliwe już dzisiaj) lecz będzie w stanie stwierdzić że doktor Hartmann

przyjmuje w tej klinice w poniedziałki środy i piątki Zorientuje się także że

umieszczony w tej witrynie skrypt do wyznaczania wolnych terminoacutew przyjmuje

zakresy dat w formacie dd-mm-rrrr Program ten będzie wiedziałcedil to wszystko

nie mając bynajmniej inteligencji superkomputera[hellip]rdquoCytat 5 (5)

Sieć semantyczną dla Web 30 najprościej jest przedstawić jako rozwinięcie internetu w

powszechnym tego słowa znaczeniu Działanie takiej sieci odroacuteżnia zrozumienie intencji

użytkownika na podstawie haseł i czynności ktoacutere w niej wykonuje Co więcej agent

(maszyna) po stronie użytkownika jest w stanie porozumieć się z agentem po stronie innego

klienta i wyciągnąć na tej podstawie konkretne informacje związane z zapytaniem Autorem

wizji sieci semantycznej jest Tim Berners-Lee (twoacuterca World Wide Web) Wymaganymi

standardami Sieci Semantycznej są sposoby opisu zasoboacutew sieciowych aby były one

zrozumiałe dla silnikoacutew wnioskujących Wynikiem tworzenia sieci semantycznej jest

ustrukturyzowanie zasoboacutew i połączenie ich w logiczną sieć Najistotniejszą informacją

dotyczącą sieci semantycznej jest to że przy zachowaniu takich standardoacutew można prowadzić

wnioskowanie Umożliwia to zrozumienie maszynowe treści trzymanych w sieci tworząc

olbrzymią dynamiczną bazę wiedzy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

8

Sieć Semantyczną dobrze opisują standardy ustalone przez W3C ndash Konsorcjum organizacja

nadająca kształt World Wide Web założona przez Timrsquoa Bernersrsquoa Lee Standardy założone

przez W3C dotyczą

Struktur stron WWW

Narzędzi do generowania stron i obsługi po stronie użytkownika

Protokołoacutew przesyłu danych

Celem W3C jest osiągnięcie ustrukturyzowanej poukładanej architektonicznie sieci co ułatwia

weryfikację i analizę zawartości jednocześnie zapewniając dobrą obsługę techniczną - stron

przez przeglądarki i inne narzędzia internetowe

43 Zastosowania Sieci Semantycznej

bdquowyszukiwanie informacji na podstawie znaczenia haseł wpisywanych w

wyszukiwarce a nie tylko po słowach kluczowych co często skutkuje

błędnymi odpowiedziami i uniemożliwia

korzystanie z synonimoacutew

rozroacuteżnianie danych na podstawie kontekstu ich znaczenia

ekstrahowanie informacji z roacuteżnych źroacutedeł i ich automatyczna integracja

prezentowanie tylko istotnych danych z punktu widzenia użytkownika

wraz z możliwością

wyjaśnienia podjętych przez komputer działańwnioskoacutew

przeprowadzanie wnioskowania na danych opisanych semantycznie co

skutkuje uzyskaniem nowych informacji (ktoacutere nie były dotychczas

jawnie zapisane) a te z kolei poddane procesom wnioskowania mogą

prowadzić do uzyskania kolejnych nowych faktoacutew itd

wprowadzanie wiedzy zawartej w dokumentach danego typu przez co

ułatwiłoby to zarządzanie dokumentami oraz informacją a także

prowadziło do utrzymywania niesprzeczności i aktualności

gromadzonych danych

automatyczną generację dokumentoacutew opisanych semantycznie

automatyczną generację stron WWW opisanych semantycznie bez

udziału użytkownika (wiedza służąca do opisu strony czerpana jest z

semantyki zawartej w ontologii)rdquoCytat 6 (6)

44 Linked Data Linked Data to dane powiązane czyli sposoacuteb opisywania danych zaproponowany przez Timrsquoa

Bernersrsquoa Lee w swoim artykule z 2007 roku Poprzez wiązanie danych ze sobą można

utworzyć ich sieć a żeby to zrobić należy zamieszczając coś w sieci WWW postępować wg 4

krokoacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

9

Rys 1ndash bdquoLinked Datardquo ndash opracowano na podstawie artykułu Linked Data autorstwa Tima

Bernersrsquoa Lee (7)

Ma to na celu umożliwić ustrukturyzowanie rzeczy w sieci w postaci meta-danych ndash czyli

danych-informacji o elementach ktoacuterych dotyczą Berners Lee utworzył też 5-stopniowy

model oceny zamieszczonych danych

ndash Jedna gwiazdka należy się gdy dane dostępne są w sieci na zasadzie otwartej

licencji

ndash Dwie gwiazdki gdy dane są w postaci czytelnej dla maszyn Np tabelka

ndash Trzy gwiazdki gdy te dane są w postaci czytelnej dla maszyn i obsługiwanym

formacie

ndash Cztery gwiazdki gdy zastosowane są standardy W3C Metadane w postaci RDF

dzięki ktoacuterej inni użytkownicy mogą wykorzystać URI do powiązania swoich danych

ndash Pięć gwiazdek gdy powiązano swoje dane z innymi innych użytkownikoacutew sieci

(7)

Pięciogwiazdkowy przykład użycia Linked Data

Poniżej przedstawiony przykład pochodzi ze strony informującej o zasadach Linked Data (8) Dotyczy on

prognozy pogody dla Galway w Irlandii Zasoacuteb został zatytuowany znacznikiem dctitle twoacuterca jest powiązany

za pomocą dctermscreator są też informacje o datach utworzenia i modyfikacji

bdquorarr dctitle rarr Temperature forecast for Galway Ireland

rarr xhtmlstylesheet rarr http5stardatainfocssstylecss

rarr dctermstitle rarr Temperature forecast for Galway Ireland

rarr dctermscreated rarr 2012-01-22^^xsddate

1 Używaj URI jako nazw dla rzeczy

2 Używaj URI Http aby ludzie mogli podejrzeć zawartość nazw

3 Gdy ktoś wejdzie przez Twoje URI zapewnij informacje o danych w postaci RDF (SPARQL)

4 Podłączaj inne URI aby można było odkryć więcej powiązanych rzeczy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

10

rarr dctermscreator rarr httpmhausenblasinfoi

rarr dctermsmodified rarr 2015-08-31^^xsddate

rarr dctermscontributor rarr httpjaygme

rarr dctermslicense rarr httpcreativecommonsorgpublicdomainzero10rdquo (8)

45 Standardy techniczne sieci semantycznej Sieć semantyczna będzie rozwinięciem aktualnej sieci WWW poprzez warstwowe dodawanie

stadardoacutew i technologii umożliwiających opisywanie i analizowanie zasoboacutew poprzez

tworzenie metadanych ndash danych o danych Proces taki jest tworzeniem stosu semantycznego

Rys2 - bdquoStos semantycznyrdquo ndash autor Tim Berners-Lee źroacutedło

httpwwww3org2000Talks1206-xml2k-tblslide10-0html data pobrania 23062015

46 RDF ndash Resource Description Framework RDF jest modelem opisu zasoboacutew i związkoacutew między nimi gdzie zasoacuteb to wszystko co można

zidentyfikować za pomocą URI

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

11

RDF jest sposobem opisywania zasoboacutew sieci Web bazującym na XML lecz jego rozszenie to

rdf

Rys 3 - bdquoPrzykład opisu w modelu RDFrdquo źroacutedło

httpsplwikipediaorgwikiResource_Description_FrameworkmediaFileModel_RDF_-

_diagram_wyraC5BCeC584png data pobrania 23062015

RDF Składa się z 3 głownych elementoacutew tworzących całość ndash Zasoacuteb właściwość wartość

Każdy element takiej troacutejki jest reprezentowany przez URI Graficzną reprezentacją RDF byłby

graf złożony z 3 wierzchołkoacutew i krawędzi Wnioskowanie w przypadku RDF polega na

tworzeniu nowych troacutejek na podstawie tych ktoacutere są już znane

Rys 4 ndash bdquoLogo rdf symbolizujące troacutejkęrdquo Źroacutedło httpstsisswordpresscomtagrdf data

pobrania 23062015

Sposoacuteb zapisu jest analogiczny do XML rozszerzony o znaczniki rdf

ltxml version=10gt

ltrdfRDF

xmlnsrdf=httpwwww3org19990222-rdf-syntax-ns

xmlnssi=httpwwww3schoolscomrdfgt

ltrdfDescription rdfabout=httpwwww3schoolscomgt

ltsititlegtW3Schoolscomltsititlegt

ltsiauthorgtJan Egil Refsnesltsiauthorgt

ltrdfDescriptiongt

ltrdfRDFgt

Przykład RDF źroacutedło httpwwww3schoolscomwebservicesws_rdf_exampleasp data

pobrania 23062015

47 RDFS ndash RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danychndash słownikoacutew RDF RDFS

umożliwia definiowanie własnych klas do ktoacuterych należą wierzchołki grafoacutew i ich

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

1

Spis treści

1 Streszczenie 3

2 Abstract 4

3 Wnioskowanie inteligentne 5

Wnioskowanie 5

Definicja rozumowania 5

Definicja wnioskowania 5

31 Inteligencja inteligentnego wnioskowania 6

32 Rodzaje wnioskowania 6

4 Sieć semantyczna 7

41 Semantyka 7

42 Sieć semantyczna 7

43 Zastosowania Sieci Semantycznej 8

44 Linked Data 8

45 Standardy techniczne sieci semantycznej 10

46 RDF ndash Resource Description Framework 10

47 RDFS ndash RDF Schema 11

471 Struktura RDFS ndash podstawowe konstruktory 12

48 OWL ndash Web Ontology Language 13

49 SPARQL Protocol i RDF Query Language 14

5 Web 30 14

51 Pojęcie 14

6 Wnioskowanie semantyczne 17

61 Własności i konkstruktory w języku OWL dla wnioskowania 17

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady 17

621 Dziedziczenie typu przez podklasę - rdfssubclassOf 18

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

18

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain 18

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

18

63 OWL Własności umożliwiające wnioskowanie - Przykłady 19

631 Przechodniość - owlTransitiveProperty 19

632 Symetria - owlSymmetricProperty 19

633 Dziedziczenie rozdzielności - owldisjointWith 19

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

19

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

2

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf 20

636 Ograniczenie wartości - owlRestriction 20

64 Reasonery 21

641 Działanie reasonera 21

642 Podział reasoneroacutew 21

65 Przegląd istniejących reasoneroacutew 23

651 Pellet 23

652 HermiT 23

653 FacT++ 23

654 jcel 23

655 Zestawienie 24

7 Przykłady obecnego zastosowania sieci semantycznych 25

71 DBpedia 25

72 BBC 25

73 GeoNames 26

8 Podsumowanie zebranej wiedzy 27

9 Środowisko badawcze 28

91 Oprogramowanie - Proteacutegeacute 28

92 Instalacja reasoneroacutew 28

93 OWLViz ndash Wizualizacja OWL 29

94 Ontologie w Proteacutegeacute 29

10 Przykładowy przebieg testu wnioskowania ndash ontologia bdquofamily_exampleowlrdquo 31

101 Hierarchia klas 31

1011 Klasy 31

1012 Właściwości 31

1013 Instancje 31

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla reasonera

Pellet 32

1021 Roacuteżnice w jednostkach 33

1022 Roacuteżnice w strukturze hierarchii klas 34

1023 Roacuteżnice dla instancji 34

11 Zbioacuter ontologii wybranych do wykonania testoacutew 36

111 Tabela informacji o użytych plikach 36

12 Wyniki przeprowadzonych testoacutew 37

121 Wyniki testoacutew na ontologii 1 ndash factsrdf 37

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl 39

123 Wyniki testoacutew na ontologii 3 ndash wineowl 42

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

3

124 Wyniki testoacutew na ontologii 4 ndash doidowl 44

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl 45

13 Podsumowanie wynikoacutew 47

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe 47

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe 48

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe 49

134 Podsumowanie 49

14 Zainteresowanie tematem Sieci Semantycznych 50

141 Wykresy Google Trends 50

15 Wnioski 51

16 Bibliografia 52

1 Streszczenie

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

4

Celem pracy jest rozpoznanie i przedstawienie wnioskowania inteligentnego w kontekście

budowania i działania Sieci Semantyczniej roacuteżnic pomiędzy Web 30 a poprzednimi

generacjami możliwych zastosowań ww rozwiązań obecnie i w przyszłości Pierwsza część

pracy definiuje rozważane zagadnienia oraz opisuje przykłady aktualnego zastosowania

technologii W drugiej części przedstawiony jest przebieg i wyniki badań nad działaniem

aktualnie dostępnych silnikoacutew wnioskowania (reasoneroacutew) dla ontologii w języku OWL Testy

wyłaniają najlepszy z nich według kryterioacutew jakości wydajności i ilości

2 Abstract

The aim of this paper is to identify and present intelligent inferencing in the context of

building and work of the Semantic Web differences between Web 30 and previous

generations the possible applications of the above solutions now and in the future The first

part defines the issues under consideration and describes examples of current use of these

technologies The second part shows the process and results of studies on effects of currently

available reasoners for the OWL ontology language Tests were to emerge the best of them

according to criteria of quality performance and quantity

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

5

3 Wnioskowanie inteligentne

Wnioskowanie patrząć przez pryzmat nauki o logice jest częścią rozumowania czyli procesu

polegającego na stwierdzaniu poprawności pewnego zdania

Definicja rozumowania wg Encyklopedii PWN

bdquorozumowanie log proces myślowy w ktoacuterym uznaje się za prawdziwe jakieś

sądy (lub ich reprezentacje językowe mdash zdania) na podstawie innych już

uznanych za prawdziwe sądoacutew (zdań)

wśroacuted rodzajoacutew rozumowań zwykle rozroacuteżnia się wnioskowanie dowodzenie

sprawdzanie (weryfikację) i wyjaśnianie[]rdquoCytat 1 (1)

Jak widać przy wnioskowaniu skupiamy się na wyciągnięciu wniosku a pozostawiamy jego

werifikację sprawdzanie poprawności i dowoacuted

Definicja wnioskowania wg Encyklopedii PWN

bdquownioskowanie log jeden z podstawowych rodzajoacutew rozumowania

proces myślowy polegający na tym że na podstawie zdań uznanych za

prawdziwe (twierdzeń uzasadnionych) dochodzi do uznania nowego

twierdzenia ktoacutere wyprowadza się z owych zdań na podstawie praw log oraz

zgodnie z odpowiednimi regułami wnioskowania Zdania stanowiące punkt

wyjściowy tego rozumowania i podstawę uznawania innych nazywa się

przesłankami zdanie uznane w rezultacie procesu wnioskowania nazywa się

wnioskiem (konkluzją) Wnioskowanie nawiązuje do istniejącego między

zdaniami obiektywnego stosunku wynikania a także do probabilistycznych

związkoacutew między zdaniami Proces wnioskowania przebiega zwykle wg

schematu bdquoponieważ p więc qrdquo Wszelkie wnioskowania dzielą się na

niezawodne i zawodne czyli uprawdopodobniające Do niezawodnych należy

wnioskowanie dedukcyjne (dedukcja) szczegoacutelną jego odmianą jest

wnioskowanie sylogistyczne (sylogizm) z dwoacutech przesłanek Wśroacuted roacuteżnych

rodzajoacutew wnioskowań zawodnych wyroacuteżnia się wnioskowanie redukcyjne

(redukcja) wnioskowanie indukcyjne (indukcja) wnioskowanie przez analogię

(analogia)rdquoCytat 2 (2)

Wnioskowanie jest implikacją

Przesłanki (twierdzenia uzasadnione) --(prawa logiczne)--gt twierdzenie (wniosekkonkluzja)

Rodzaje niezawodnego wnioskowania to

Dedukcja ndash wniosek wynika z przesłanek

Oraz rodzaje wnioskowania zawodnego

Redukcja ndash do zdania uznanego za prawdziwe dobieramy przesłankę z ktoacuterej to zdanie

wynika

Indukcja ndash wniosek nie wynika logicznie z przesłanek ale stwierdza występującą

prawidłowość

Analogia ndash wnioskowanie o cechach obiektu na podstawie 2 przykładoacutew analogicznego

obiektu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

6

31 Inteligencja inteligentnego wnioskowania Przymiotnik bdquointeligentnerdquo w przypadku wnioskowania o ktoacuterym jest mowa w pracy pochodzi

od zautomatyzowanych metod wnioskowania ndash działu Sztucznej Inteligencji Potwierdza to

definicja Słownika Języka Polskiego PWN dot sztucznej inteligencji

bdquosztuczna inteligencja laquodział informatyki badający reguły rządzące

zachowaniami umysłowymi człowieka i tworzący programy lub systemy

komputerowe symulujące ludzkie myślenieraquordquoCytat 3 (3)

Należy więc rozpatrzeć możliwie zautomatyzowane metody wnioskowania ktoacutere działają bez

ingerencji człowieka Łączy się to z założeniem że fakty przesłanki i wnioski będą

przetwarzane i rozumiane przez komputer

32 Rodzaje wnioskowania Wnioskowanie można podzielić na 3 metody

Wnioskowanie w przoacuted

Wnioskowanie wsteczne

Wnioskowanie mieszane

Podsumowanie

Wymienione powyżej sposoby i rodzaje wnioskowania mogą mieć swoje zastosowanie dla

technologii użytych w sieciach semantycznych Należy rozpatrzeć na czym taka sieć się opiera

aby zbadać adektwatny sposoacuteb wnioskowania

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

7

4 Sieć semantyczna

41 Semantyka Semantyka jest działem logiki odpowiadającym za przypisanie znaczenia symbolom i

elementom języka oraz sensu zbiorom tych symboli Definicja wg Encyklopedii PWN

bdquoW celu określenia semantyk formalnego języka używana jest technika

nazywana teorią modelowania Teoria modelowania zakłada że język odnosi

się do bdquoświatardquo i opisuje warunki ktoacutere ten bdquoświatrdquo musi spełnić w celu

przekazywania poprawnego znaczenia dla każdego wyrażenia w języku

Konkretny bdquoświatrdquo jest nazywany interpretacją więc teoria modelowania może

być nazywana teorią interpretacji Najważniejszą ideą jest zapewnienie

abstrakcyjnego matematycznego opisu właściwości ktoacutere posiada każda taka

interpretacja poprzez tworzenie możliwie dużej liczby założeń o właściwej

naturze lub wewnętrznej strukturze zachowując w ten sposoacuteb tak dużo

ogoacutelności jak to możliwe Najważniejszym wykorzystaniem formalnych

semantyk jest zapewnienie technicznego sposobu determinowania kiedy

procesy wnioskowania są uzasadnione czyli np kiedy zachowują

prawdęrdquoCytat 4 (4)

42 Sieć semantyczna Definicja

bdquoSieć Semantyczna pozwoli w systematyczny sposoacuteb przypisać znaczenie

elementom stron WWW dzięki czemu odczytujące je specjalne programy zwane

agentami będą mogły wykonywać skomplikowane zadania zlecone przez

użytkownikoacutew Agent odwiedzający witrynę kliniki rehabilitacji nie tylko

rozpoznaje zawiera ona słowa kluczowe terapia medycyna rehabilitacja (co

jest możliwe już dzisiaj) lecz będzie w stanie stwierdzić że doktor Hartmann

przyjmuje w tej klinice w poniedziałki środy i piątki Zorientuje się także że

umieszczony w tej witrynie skrypt do wyznaczania wolnych terminoacutew przyjmuje

zakresy dat w formacie dd-mm-rrrr Program ten będzie wiedziałcedil to wszystko

nie mając bynajmniej inteligencji superkomputera[hellip]rdquoCytat 5 (5)

Sieć semantyczną dla Web 30 najprościej jest przedstawić jako rozwinięcie internetu w

powszechnym tego słowa znaczeniu Działanie takiej sieci odroacuteżnia zrozumienie intencji

użytkownika na podstawie haseł i czynności ktoacutere w niej wykonuje Co więcej agent

(maszyna) po stronie użytkownika jest w stanie porozumieć się z agentem po stronie innego

klienta i wyciągnąć na tej podstawie konkretne informacje związane z zapytaniem Autorem

wizji sieci semantycznej jest Tim Berners-Lee (twoacuterca World Wide Web) Wymaganymi

standardami Sieci Semantycznej są sposoby opisu zasoboacutew sieciowych aby były one

zrozumiałe dla silnikoacutew wnioskujących Wynikiem tworzenia sieci semantycznej jest

ustrukturyzowanie zasoboacutew i połączenie ich w logiczną sieć Najistotniejszą informacją

dotyczącą sieci semantycznej jest to że przy zachowaniu takich standardoacutew można prowadzić

wnioskowanie Umożliwia to zrozumienie maszynowe treści trzymanych w sieci tworząc

olbrzymią dynamiczną bazę wiedzy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

8

Sieć Semantyczną dobrze opisują standardy ustalone przez W3C ndash Konsorcjum organizacja

nadająca kształt World Wide Web założona przez Timrsquoa Bernersrsquoa Lee Standardy założone

przez W3C dotyczą

Struktur stron WWW

Narzędzi do generowania stron i obsługi po stronie użytkownika

Protokołoacutew przesyłu danych

Celem W3C jest osiągnięcie ustrukturyzowanej poukładanej architektonicznie sieci co ułatwia

weryfikację i analizę zawartości jednocześnie zapewniając dobrą obsługę techniczną - stron

przez przeglądarki i inne narzędzia internetowe

43 Zastosowania Sieci Semantycznej

bdquowyszukiwanie informacji na podstawie znaczenia haseł wpisywanych w

wyszukiwarce a nie tylko po słowach kluczowych co często skutkuje

błędnymi odpowiedziami i uniemożliwia

korzystanie z synonimoacutew

rozroacuteżnianie danych na podstawie kontekstu ich znaczenia

ekstrahowanie informacji z roacuteżnych źroacutedeł i ich automatyczna integracja

prezentowanie tylko istotnych danych z punktu widzenia użytkownika

wraz z możliwością

wyjaśnienia podjętych przez komputer działańwnioskoacutew

przeprowadzanie wnioskowania na danych opisanych semantycznie co

skutkuje uzyskaniem nowych informacji (ktoacutere nie były dotychczas

jawnie zapisane) a te z kolei poddane procesom wnioskowania mogą

prowadzić do uzyskania kolejnych nowych faktoacutew itd

wprowadzanie wiedzy zawartej w dokumentach danego typu przez co

ułatwiłoby to zarządzanie dokumentami oraz informacją a także

prowadziło do utrzymywania niesprzeczności i aktualności

gromadzonych danych

automatyczną generację dokumentoacutew opisanych semantycznie

automatyczną generację stron WWW opisanych semantycznie bez

udziału użytkownika (wiedza służąca do opisu strony czerpana jest z

semantyki zawartej w ontologii)rdquoCytat 6 (6)

44 Linked Data Linked Data to dane powiązane czyli sposoacuteb opisywania danych zaproponowany przez Timrsquoa

Bernersrsquoa Lee w swoim artykule z 2007 roku Poprzez wiązanie danych ze sobą można

utworzyć ich sieć a żeby to zrobić należy zamieszczając coś w sieci WWW postępować wg 4

krokoacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

9

Rys 1ndash bdquoLinked Datardquo ndash opracowano na podstawie artykułu Linked Data autorstwa Tima

Bernersrsquoa Lee (7)

Ma to na celu umożliwić ustrukturyzowanie rzeczy w sieci w postaci meta-danych ndash czyli

danych-informacji o elementach ktoacuterych dotyczą Berners Lee utworzył też 5-stopniowy

model oceny zamieszczonych danych

ndash Jedna gwiazdka należy się gdy dane dostępne są w sieci na zasadzie otwartej

licencji

ndash Dwie gwiazdki gdy dane są w postaci czytelnej dla maszyn Np tabelka

ndash Trzy gwiazdki gdy te dane są w postaci czytelnej dla maszyn i obsługiwanym

formacie

ndash Cztery gwiazdki gdy zastosowane są standardy W3C Metadane w postaci RDF

dzięki ktoacuterej inni użytkownicy mogą wykorzystać URI do powiązania swoich danych

ndash Pięć gwiazdek gdy powiązano swoje dane z innymi innych użytkownikoacutew sieci

(7)

Pięciogwiazdkowy przykład użycia Linked Data

Poniżej przedstawiony przykład pochodzi ze strony informującej o zasadach Linked Data (8) Dotyczy on

prognozy pogody dla Galway w Irlandii Zasoacuteb został zatytuowany znacznikiem dctitle twoacuterca jest powiązany

za pomocą dctermscreator są też informacje o datach utworzenia i modyfikacji

bdquorarr dctitle rarr Temperature forecast for Galway Ireland

rarr xhtmlstylesheet rarr http5stardatainfocssstylecss

rarr dctermstitle rarr Temperature forecast for Galway Ireland

rarr dctermscreated rarr 2012-01-22^^xsddate

1 Używaj URI jako nazw dla rzeczy

2 Używaj URI Http aby ludzie mogli podejrzeć zawartość nazw

3 Gdy ktoś wejdzie przez Twoje URI zapewnij informacje o danych w postaci RDF (SPARQL)

4 Podłączaj inne URI aby można było odkryć więcej powiązanych rzeczy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

10

rarr dctermscreator rarr httpmhausenblasinfoi

rarr dctermsmodified rarr 2015-08-31^^xsddate

rarr dctermscontributor rarr httpjaygme

rarr dctermslicense rarr httpcreativecommonsorgpublicdomainzero10rdquo (8)

45 Standardy techniczne sieci semantycznej Sieć semantyczna będzie rozwinięciem aktualnej sieci WWW poprzez warstwowe dodawanie

stadardoacutew i technologii umożliwiających opisywanie i analizowanie zasoboacutew poprzez

tworzenie metadanych ndash danych o danych Proces taki jest tworzeniem stosu semantycznego

Rys2 - bdquoStos semantycznyrdquo ndash autor Tim Berners-Lee źroacutedło

httpwwww3org2000Talks1206-xml2k-tblslide10-0html data pobrania 23062015

46 RDF ndash Resource Description Framework RDF jest modelem opisu zasoboacutew i związkoacutew między nimi gdzie zasoacuteb to wszystko co można

zidentyfikować za pomocą URI

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

11

RDF jest sposobem opisywania zasoboacutew sieci Web bazującym na XML lecz jego rozszenie to

rdf

Rys 3 - bdquoPrzykład opisu w modelu RDFrdquo źroacutedło

httpsplwikipediaorgwikiResource_Description_FrameworkmediaFileModel_RDF_-

_diagram_wyraC5BCeC584png data pobrania 23062015

RDF Składa się z 3 głownych elementoacutew tworzących całość ndash Zasoacuteb właściwość wartość

Każdy element takiej troacutejki jest reprezentowany przez URI Graficzną reprezentacją RDF byłby

graf złożony z 3 wierzchołkoacutew i krawędzi Wnioskowanie w przypadku RDF polega na

tworzeniu nowych troacutejek na podstawie tych ktoacutere są już znane

Rys 4 ndash bdquoLogo rdf symbolizujące troacutejkęrdquo Źroacutedło httpstsisswordpresscomtagrdf data

pobrania 23062015

Sposoacuteb zapisu jest analogiczny do XML rozszerzony o znaczniki rdf

ltxml version=10gt

ltrdfRDF

xmlnsrdf=httpwwww3org19990222-rdf-syntax-ns

xmlnssi=httpwwww3schoolscomrdfgt

ltrdfDescription rdfabout=httpwwww3schoolscomgt

ltsititlegtW3Schoolscomltsititlegt

ltsiauthorgtJan Egil Refsnesltsiauthorgt

ltrdfDescriptiongt

ltrdfRDFgt

Przykład RDF źroacutedło httpwwww3schoolscomwebservicesws_rdf_exampleasp data

pobrania 23062015

47 RDFS ndash RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danychndash słownikoacutew RDF RDFS

umożliwia definiowanie własnych klas do ktoacuterych należą wierzchołki grafoacutew i ich

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

2

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf 20

636 Ograniczenie wartości - owlRestriction 20

64 Reasonery 21

641 Działanie reasonera 21

642 Podział reasoneroacutew 21

65 Przegląd istniejących reasoneroacutew 23

651 Pellet 23

652 HermiT 23

653 FacT++ 23

654 jcel 23

655 Zestawienie 24

7 Przykłady obecnego zastosowania sieci semantycznych 25

71 DBpedia 25

72 BBC 25

73 GeoNames 26

8 Podsumowanie zebranej wiedzy 27

9 Środowisko badawcze 28

91 Oprogramowanie - Proteacutegeacute 28

92 Instalacja reasoneroacutew 28

93 OWLViz ndash Wizualizacja OWL 29

94 Ontologie w Proteacutegeacute 29

10 Przykładowy przebieg testu wnioskowania ndash ontologia bdquofamily_exampleowlrdquo 31

101 Hierarchia klas 31

1011 Klasy 31

1012 Właściwości 31

1013 Instancje 31

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla reasonera

Pellet 32

1021 Roacuteżnice w jednostkach 33

1022 Roacuteżnice w strukturze hierarchii klas 34

1023 Roacuteżnice dla instancji 34

11 Zbioacuter ontologii wybranych do wykonania testoacutew 36

111 Tabela informacji o użytych plikach 36

12 Wyniki przeprowadzonych testoacutew 37

121 Wyniki testoacutew na ontologii 1 ndash factsrdf 37

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl 39

123 Wyniki testoacutew na ontologii 3 ndash wineowl 42

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

3

124 Wyniki testoacutew na ontologii 4 ndash doidowl 44

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl 45

13 Podsumowanie wynikoacutew 47

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe 47

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe 48

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe 49

134 Podsumowanie 49

14 Zainteresowanie tematem Sieci Semantycznych 50

141 Wykresy Google Trends 50

15 Wnioski 51

16 Bibliografia 52

1 Streszczenie

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

4

Celem pracy jest rozpoznanie i przedstawienie wnioskowania inteligentnego w kontekście

budowania i działania Sieci Semantyczniej roacuteżnic pomiędzy Web 30 a poprzednimi

generacjami możliwych zastosowań ww rozwiązań obecnie i w przyszłości Pierwsza część

pracy definiuje rozważane zagadnienia oraz opisuje przykłady aktualnego zastosowania

technologii W drugiej części przedstawiony jest przebieg i wyniki badań nad działaniem

aktualnie dostępnych silnikoacutew wnioskowania (reasoneroacutew) dla ontologii w języku OWL Testy

wyłaniają najlepszy z nich według kryterioacutew jakości wydajności i ilości

2 Abstract

The aim of this paper is to identify and present intelligent inferencing in the context of

building and work of the Semantic Web differences between Web 30 and previous

generations the possible applications of the above solutions now and in the future The first

part defines the issues under consideration and describes examples of current use of these

technologies The second part shows the process and results of studies on effects of currently

available reasoners for the OWL ontology language Tests were to emerge the best of them

according to criteria of quality performance and quantity

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

5

3 Wnioskowanie inteligentne

Wnioskowanie patrząć przez pryzmat nauki o logice jest częścią rozumowania czyli procesu

polegającego na stwierdzaniu poprawności pewnego zdania

Definicja rozumowania wg Encyklopedii PWN

bdquorozumowanie log proces myślowy w ktoacuterym uznaje się za prawdziwe jakieś

sądy (lub ich reprezentacje językowe mdash zdania) na podstawie innych już

uznanych za prawdziwe sądoacutew (zdań)

wśroacuted rodzajoacutew rozumowań zwykle rozroacuteżnia się wnioskowanie dowodzenie

sprawdzanie (weryfikację) i wyjaśnianie[]rdquoCytat 1 (1)

Jak widać przy wnioskowaniu skupiamy się na wyciągnięciu wniosku a pozostawiamy jego

werifikację sprawdzanie poprawności i dowoacuted

Definicja wnioskowania wg Encyklopedii PWN

bdquownioskowanie log jeden z podstawowych rodzajoacutew rozumowania

proces myślowy polegający na tym że na podstawie zdań uznanych za

prawdziwe (twierdzeń uzasadnionych) dochodzi do uznania nowego

twierdzenia ktoacutere wyprowadza się z owych zdań na podstawie praw log oraz

zgodnie z odpowiednimi regułami wnioskowania Zdania stanowiące punkt

wyjściowy tego rozumowania i podstawę uznawania innych nazywa się

przesłankami zdanie uznane w rezultacie procesu wnioskowania nazywa się

wnioskiem (konkluzją) Wnioskowanie nawiązuje do istniejącego między

zdaniami obiektywnego stosunku wynikania a także do probabilistycznych

związkoacutew między zdaniami Proces wnioskowania przebiega zwykle wg

schematu bdquoponieważ p więc qrdquo Wszelkie wnioskowania dzielą się na

niezawodne i zawodne czyli uprawdopodobniające Do niezawodnych należy

wnioskowanie dedukcyjne (dedukcja) szczegoacutelną jego odmianą jest

wnioskowanie sylogistyczne (sylogizm) z dwoacutech przesłanek Wśroacuted roacuteżnych

rodzajoacutew wnioskowań zawodnych wyroacuteżnia się wnioskowanie redukcyjne

(redukcja) wnioskowanie indukcyjne (indukcja) wnioskowanie przez analogię

(analogia)rdquoCytat 2 (2)

Wnioskowanie jest implikacją

Przesłanki (twierdzenia uzasadnione) --(prawa logiczne)--gt twierdzenie (wniosekkonkluzja)

Rodzaje niezawodnego wnioskowania to

Dedukcja ndash wniosek wynika z przesłanek

Oraz rodzaje wnioskowania zawodnego

Redukcja ndash do zdania uznanego za prawdziwe dobieramy przesłankę z ktoacuterej to zdanie

wynika

Indukcja ndash wniosek nie wynika logicznie z przesłanek ale stwierdza występującą

prawidłowość

Analogia ndash wnioskowanie o cechach obiektu na podstawie 2 przykładoacutew analogicznego

obiektu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

6

31 Inteligencja inteligentnego wnioskowania Przymiotnik bdquointeligentnerdquo w przypadku wnioskowania o ktoacuterym jest mowa w pracy pochodzi

od zautomatyzowanych metod wnioskowania ndash działu Sztucznej Inteligencji Potwierdza to

definicja Słownika Języka Polskiego PWN dot sztucznej inteligencji

bdquosztuczna inteligencja laquodział informatyki badający reguły rządzące

zachowaniami umysłowymi człowieka i tworzący programy lub systemy

komputerowe symulujące ludzkie myślenieraquordquoCytat 3 (3)

Należy więc rozpatrzeć możliwie zautomatyzowane metody wnioskowania ktoacutere działają bez

ingerencji człowieka Łączy się to z założeniem że fakty przesłanki i wnioski będą

przetwarzane i rozumiane przez komputer

32 Rodzaje wnioskowania Wnioskowanie można podzielić na 3 metody

Wnioskowanie w przoacuted

Wnioskowanie wsteczne

Wnioskowanie mieszane

Podsumowanie

Wymienione powyżej sposoby i rodzaje wnioskowania mogą mieć swoje zastosowanie dla

technologii użytych w sieciach semantycznych Należy rozpatrzeć na czym taka sieć się opiera

aby zbadać adektwatny sposoacuteb wnioskowania

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

7

4 Sieć semantyczna

41 Semantyka Semantyka jest działem logiki odpowiadającym za przypisanie znaczenia symbolom i

elementom języka oraz sensu zbiorom tych symboli Definicja wg Encyklopedii PWN

bdquoW celu określenia semantyk formalnego języka używana jest technika

nazywana teorią modelowania Teoria modelowania zakłada że język odnosi

się do bdquoświatardquo i opisuje warunki ktoacutere ten bdquoświatrdquo musi spełnić w celu

przekazywania poprawnego znaczenia dla każdego wyrażenia w języku

Konkretny bdquoświatrdquo jest nazywany interpretacją więc teoria modelowania może

być nazywana teorią interpretacji Najważniejszą ideą jest zapewnienie

abstrakcyjnego matematycznego opisu właściwości ktoacutere posiada każda taka

interpretacja poprzez tworzenie możliwie dużej liczby założeń o właściwej

naturze lub wewnętrznej strukturze zachowując w ten sposoacuteb tak dużo

ogoacutelności jak to możliwe Najważniejszym wykorzystaniem formalnych

semantyk jest zapewnienie technicznego sposobu determinowania kiedy

procesy wnioskowania są uzasadnione czyli np kiedy zachowują

prawdęrdquoCytat 4 (4)

42 Sieć semantyczna Definicja

bdquoSieć Semantyczna pozwoli w systematyczny sposoacuteb przypisać znaczenie

elementom stron WWW dzięki czemu odczytujące je specjalne programy zwane

agentami będą mogły wykonywać skomplikowane zadania zlecone przez

użytkownikoacutew Agent odwiedzający witrynę kliniki rehabilitacji nie tylko

rozpoznaje zawiera ona słowa kluczowe terapia medycyna rehabilitacja (co

jest możliwe już dzisiaj) lecz będzie w stanie stwierdzić że doktor Hartmann

przyjmuje w tej klinice w poniedziałki środy i piątki Zorientuje się także że

umieszczony w tej witrynie skrypt do wyznaczania wolnych terminoacutew przyjmuje

zakresy dat w formacie dd-mm-rrrr Program ten będzie wiedziałcedil to wszystko

nie mając bynajmniej inteligencji superkomputera[hellip]rdquoCytat 5 (5)

Sieć semantyczną dla Web 30 najprościej jest przedstawić jako rozwinięcie internetu w

powszechnym tego słowa znaczeniu Działanie takiej sieci odroacuteżnia zrozumienie intencji

użytkownika na podstawie haseł i czynności ktoacutere w niej wykonuje Co więcej agent

(maszyna) po stronie użytkownika jest w stanie porozumieć się z agentem po stronie innego

klienta i wyciągnąć na tej podstawie konkretne informacje związane z zapytaniem Autorem

wizji sieci semantycznej jest Tim Berners-Lee (twoacuterca World Wide Web) Wymaganymi

standardami Sieci Semantycznej są sposoby opisu zasoboacutew sieciowych aby były one

zrozumiałe dla silnikoacutew wnioskujących Wynikiem tworzenia sieci semantycznej jest

ustrukturyzowanie zasoboacutew i połączenie ich w logiczną sieć Najistotniejszą informacją

dotyczącą sieci semantycznej jest to że przy zachowaniu takich standardoacutew można prowadzić

wnioskowanie Umożliwia to zrozumienie maszynowe treści trzymanych w sieci tworząc

olbrzymią dynamiczną bazę wiedzy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

8

Sieć Semantyczną dobrze opisują standardy ustalone przez W3C ndash Konsorcjum organizacja

nadająca kształt World Wide Web założona przez Timrsquoa Bernersrsquoa Lee Standardy założone

przez W3C dotyczą

Struktur stron WWW

Narzędzi do generowania stron i obsługi po stronie użytkownika

Protokołoacutew przesyłu danych

Celem W3C jest osiągnięcie ustrukturyzowanej poukładanej architektonicznie sieci co ułatwia

weryfikację i analizę zawartości jednocześnie zapewniając dobrą obsługę techniczną - stron

przez przeglądarki i inne narzędzia internetowe

43 Zastosowania Sieci Semantycznej

bdquowyszukiwanie informacji na podstawie znaczenia haseł wpisywanych w

wyszukiwarce a nie tylko po słowach kluczowych co często skutkuje

błędnymi odpowiedziami i uniemożliwia

korzystanie z synonimoacutew

rozroacuteżnianie danych na podstawie kontekstu ich znaczenia

ekstrahowanie informacji z roacuteżnych źroacutedeł i ich automatyczna integracja

prezentowanie tylko istotnych danych z punktu widzenia użytkownika

wraz z możliwością

wyjaśnienia podjętych przez komputer działańwnioskoacutew

przeprowadzanie wnioskowania na danych opisanych semantycznie co

skutkuje uzyskaniem nowych informacji (ktoacutere nie były dotychczas

jawnie zapisane) a te z kolei poddane procesom wnioskowania mogą

prowadzić do uzyskania kolejnych nowych faktoacutew itd

wprowadzanie wiedzy zawartej w dokumentach danego typu przez co

ułatwiłoby to zarządzanie dokumentami oraz informacją a także

prowadziło do utrzymywania niesprzeczności i aktualności

gromadzonych danych

automatyczną generację dokumentoacutew opisanych semantycznie

automatyczną generację stron WWW opisanych semantycznie bez

udziału użytkownika (wiedza służąca do opisu strony czerpana jest z

semantyki zawartej w ontologii)rdquoCytat 6 (6)

44 Linked Data Linked Data to dane powiązane czyli sposoacuteb opisywania danych zaproponowany przez Timrsquoa

Bernersrsquoa Lee w swoim artykule z 2007 roku Poprzez wiązanie danych ze sobą można

utworzyć ich sieć a żeby to zrobić należy zamieszczając coś w sieci WWW postępować wg 4

krokoacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

9

Rys 1ndash bdquoLinked Datardquo ndash opracowano na podstawie artykułu Linked Data autorstwa Tima

Bernersrsquoa Lee (7)

Ma to na celu umożliwić ustrukturyzowanie rzeczy w sieci w postaci meta-danych ndash czyli

danych-informacji o elementach ktoacuterych dotyczą Berners Lee utworzył też 5-stopniowy

model oceny zamieszczonych danych

ndash Jedna gwiazdka należy się gdy dane dostępne są w sieci na zasadzie otwartej

licencji

ndash Dwie gwiazdki gdy dane są w postaci czytelnej dla maszyn Np tabelka

ndash Trzy gwiazdki gdy te dane są w postaci czytelnej dla maszyn i obsługiwanym

formacie

ndash Cztery gwiazdki gdy zastosowane są standardy W3C Metadane w postaci RDF

dzięki ktoacuterej inni użytkownicy mogą wykorzystać URI do powiązania swoich danych

ndash Pięć gwiazdek gdy powiązano swoje dane z innymi innych użytkownikoacutew sieci

(7)

Pięciogwiazdkowy przykład użycia Linked Data

Poniżej przedstawiony przykład pochodzi ze strony informującej o zasadach Linked Data (8) Dotyczy on

prognozy pogody dla Galway w Irlandii Zasoacuteb został zatytuowany znacznikiem dctitle twoacuterca jest powiązany

za pomocą dctermscreator są też informacje o datach utworzenia i modyfikacji

bdquorarr dctitle rarr Temperature forecast for Galway Ireland

rarr xhtmlstylesheet rarr http5stardatainfocssstylecss

rarr dctermstitle rarr Temperature forecast for Galway Ireland

rarr dctermscreated rarr 2012-01-22^^xsddate

1 Używaj URI jako nazw dla rzeczy

2 Używaj URI Http aby ludzie mogli podejrzeć zawartość nazw

3 Gdy ktoś wejdzie przez Twoje URI zapewnij informacje o danych w postaci RDF (SPARQL)

4 Podłączaj inne URI aby można było odkryć więcej powiązanych rzeczy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

10

rarr dctermscreator rarr httpmhausenblasinfoi

rarr dctermsmodified rarr 2015-08-31^^xsddate

rarr dctermscontributor rarr httpjaygme

rarr dctermslicense rarr httpcreativecommonsorgpublicdomainzero10rdquo (8)

45 Standardy techniczne sieci semantycznej Sieć semantyczna będzie rozwinięciem aktualnej sieci WWW poprzez warstwowe dodawanie

stadardoacutew i technologii umożliwiających opisywanie i analizowanie zasoboacutew poprzez

tworzenie metadanych ndash danych o danych Proces taki jest tworzeniem stosu semantycznego

Rys2 - bdquoStos semantycznyrdquo ndash autor Tim Berners-Lee źroacutedło

httpwwww3org2000Talks1206-xml2k-tblslide10-0html data pobrania 23062015

46 RDF ndash Resource Description Framework RDF jest modelem opisu zasoboacutew i związkoacutew między nimi gdzie zasoacuteb to wszystko co można

zidentyfikować za pomocą URI

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

11

RDF jest sposobem opisywania zasoboacutew sieci Web bazującym na XML lecz jego rozszenie to

rdf

Rys 3 - bdquoPrzykład opisu w modelu RDFrdquo źroacutedło

httpsplwikipediaorgwikiResource_Description_FrameworkmediaFileModel_RDF_-

_diagram_wyraC5BCeC584png data pobrania 23062015

RDF Składa się z 3 głownych elementoacutew tworzących całość ndash Zasoacuteb właściwość wartość

Każdy element takiej troacutejki jest reprezentowany przez URI Graficzną reprezentacją RDF byłby

graf złożony z 3 wierzchołkoacutew i krawędzi Wnioskowanie w przypadku RDF polega na

tworzeniu nowych troacutejek na podstawie tych ktoacutere są już znane

Rys 4 ndash bdquoLogo rdf symbolizujące troacutejkęrdquo Źroacutedło httpstsisswordpresscomtagrdf data

pobrania 23062015

Sposoacuteb zapisu jest analogiczny do XML rozszerzony o znaczniki rdf

ltxml version=10gt

ltrdfRDF

xmlnsrdf=httpwwww3org19990222-rdf-syntax-ns

xmlnssi=httpwwww3schoolscomrdfgt

ltrdfDescription rdfabout=httpwwww3schoolscomgt

ltsititlegtW3Schoolscomltsititlegt

ltsiauthorgtJan Egil Refsnesltsiauthorgt

ltrdfDescriptiongt

ltrdfRDFgt

Przykład RDF źroacutedło httpwwww3schoolscomwebservicesws_rdf_exampleasp data

pobrania 23062015

47 RDFS ndash RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danychndash słownikoacutew RDF RDFS

umożliwia definiowanie własnych klas do ktoacuterych należą wierzchołki grafoacutew i ich

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

3

124 Wyniki testoacutew na ontologii 4 ndash doidowl 44

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl 45

13 Podsumowanie wynikoacutew 47

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe 47

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe 48

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe 49

134 Podsumowanie 49

14 Zainteresowanie tematem Sieci Semantycznych 50

141 Wykresy Google Trends 50

15 Wnioski 51

16 Bibliografia 52

1 Streszczenie

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

4

Celem pracy jest rozpoznanie i przedstawienie wnioskowania inteligentnego w kontekście

budowania i działania Sieci Semantyczniej roacuteżnic pomiędzy Web 30 a poprzednimi

generacjami możliwych zastosowań ww rozwiązań obecnie i w przyszłości Pierwsza część

pracy definiuje rozważane zagadnienia oraz opisuje przykłady aktualnego zastosowania

technologii W drugiej części przedstawiony jest przebieg i wyniki badań nad działaniem

aktualnie dostępnych silnikoacutew wnioskowania (reasoneroacutew) dla ontologii w języku OWL Testy

wyłaniają najlepszy z nich według kryterioacutew jakości wydajności i ilości

2 Abstract

The aim of this paper is to identify and present intelligent inferencing in the context of

building and work of the Semantic Web differences between Web 30 and previous

generations the possible applications of the above solutions now and in the future The first

part defines the issues under consideration and describes examples of current use of these

technologies The second part shows the process and results of studies on effects of currently

available reasoners for the OWL ontology language Tests were to emerge the best of them

according to criteria of quality performance and quantity

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

5

3 Wnioskowanie inteligentne

Wnioskowanie patrząć przez pryzmat nauki o logice jest częścią rozumowania czyli procesu

polegającego na stwierdzaniu poprawności pewnego zdania

Definicja rozumowania wg Encyklopedii PWN

bdquorozumowanie log proces myślowy w ktoacuterym uznaje się za prawdziwe jakieś

sądy (lub ich reprezentacje językowe mdash zdania) na podstawie innych już

uznanych za prawdziwe sądoacutew (zdań)

wśroacuted rodzajoacutew rozumowań zwykle rozroacuteżnia się wnioskowanie dowodzenie

sprawdzanie (weryfikację) i wyjaśnianie[]rdquoCytat 1 (1)

Jak widać przy wnioskowaniu skupiamy się na wyciągnięciu wniosku a pozostawiamy jego

werifikację sprawdzanie poprawności i dowoacuted

Definicja wnioskowania wg Encyklopedii PWN

bdquownioskowanie log jeden z podstawowych rodzajoacutew rozumowania

proces myślowy polegający na tym że na podstawie zdań uznanych za

prawdziwe (twierdzeń uzasadnionych) dochodzi do uznania nowego

twierdzenia ktoacutere wyprowadza się z owych zdań na podstawie praw log oraz

zgodnie z odpowiednimi regułami wnioskowania Zdania stanowiące punkt

wyjściowy tego rozumowania i podstawę uznawania innych nazywa się

przesłankami zdanie uznane w rezultacie procesu wnioskowania nazywa się

wnioskiem (konkluzją) Wnioskowanie nawiązuje do istniejącego między

zdaniami obiektywnego stosunku wynikania a także do probabilistycznych

związkoacutew między zdaniami Proces wnioskowania przebiega zwykle wg

schematu bdquoponieważ p więc qrdquo Wszelkie wnioskowania dzielą się na

niezawodne i zawodne czyli uprawdopodobniające Do niezawodnych należy

wnioskowanie dedukcyjne (dedukcja) szczegoacutelną jego odmianą jest

wnioskowanie sylogistyczne (sylogizm) z dwoacutech przesłanek Wśroacuted roacuteżnych

rodzajoacutew wnioskowań zawodnych wyroacuteżnia się wnioskowanie redukcyjne

(redukcja) wnioskowanie indukcyjne (indukcja) wnioskowanie przez analogię

(analogia)rdquoCytat 2 (2)

Wnioskowanie jest implikacją

Przesłanki (twierdzenia uzasadnione) --(prawa logiczne)--gt twierdzenie (wniosekkonkluzja)

Rodzaje niezawodnego wnioskowania to

Dedukcja ndash wniosek wynika z przesłanek

Oraz rodzaje wnioskowania zawodnego

Redukcja ndash do zdania uznanego za prawdziwe dobieramy przesłankę z ktoacuterej to zdanie

wynika

Indukcja ndash wniosek nie wynika logicznie z przesłanek ale stwierdza występującą

prawidłowość

Analogia ndash wnioskowanie o cechach obiektu na podstawie 2 przykładoacutew analogicznego

obiektu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

6

31 Inteligencja inteligentnego wnioskowania Przymiotnik bdquointeligentnerdquo w przypadku wnioskowania o ktoacuterym jest mowa w pracy pochodzi

od zautomatyzowanych metod wnioskowania ndash działu Sztucznej Inteligencji Potwierdza to

definicja Słownika Języka Polskiego PWN dot sztucznej inteligencji

bdquosztuczna inteligencja laquodział informatyki badający reguły rządzące

zachowaniami umysłowymi człowieka i tworzący programy lub systemy

komputerowe symulujące ludzkie myślenieraquordquoCytat 3 (3)

Należy więc rozpatrzeć możliwie zautomatyzowane metody wnioskowania ktoacutere działają bez

ingerencji człowieka Łączy się to z założeniem że fakty przesłanki i wnioski będą

przetwarzane i rozumiane przez komputer

32 Rodzaje wnioskowania Wnioskowanie można podzielić na 3 metody

Wnioskowanie w przoacuted

Wnioskowanie wsteczne

Wnioskowanie mieszane

Podsumowanie

Wymienione powyżej sposoby i rodzaje wnioskowania mogą mieć swoje zastosowanie dla

technologii użytych w sieciach semantycznych Należy rozpatrzeć na czym taka sieć się opiera

aby zbadać adektwatny sposoacuteb wnioskowania

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

7

4 Sieć semantyczna

41 Semantyka Semantyka jest działem logiki odpowiadającym za przypisanie znaczenia symbolom i

elementom języka oraz sensu zbiorom tych symboli Definicja wg Encyklopedii PWN

bdquoW celu określenia semantyk formalnego języka używana jest technika

nazywana teorią modelowania Teoria modelowania zakłada że język odnosi

się do bdquoświatardquo i opisuje warunki ktoacutere ten bdquoświatrdquo musi spełnić w celu

przekazywania poprawnego znaczenia dla każdego wyrażenia w języku

Konkretny bdquoświatrdquo jest nazywany interpretacją więc teoria modelowania może

być nazywana teorią interpretacji Najważniejszą ideą jest zapewnienie

abstrakcyjnego matematycznego opisu właściwości ktoacutere posiada każda taka

interpretacja poprzez tworzenie możliwie dużej liczby założeń o właściwej

naturze lub wewnętrznej strukturze zachowując w ten sposoacuteb tak dużo

ogoacutelności jak to możliwe Najważniejszym wykorzystaniem formalnych

semantyk jest zapewnienie technicznego sposobu determinowania kiedy

procesy wnioskowania są uzasadnione czyli np kiedy zachowują

prawdęrdquoCytat 4 (4)

42 Sieć semantyczna Definicja

bdquoSieć Semantyczna pozwoli w systematyczny sposoacuteb przypisać znaczenie

elementom stron WWW dzięki czemu odczytujące je specjalne programy zwane

agentami będą mogły wykonywać skomplikowane zadania zlecone przez

użytkownikoacutew Agent odwiedzający witrynę kliniki rehabilitacji nie tylko

rozpoznaje zawiera ona słowa kluczowe terapia medycyna rehabilitacja (co

jest możliwe już dzisiaj) lecz będzie w stanie stwierdzić że doktor Hartmann

przyjmuje w tej klinice w poniedziałki środy i piątki Zorientuje się także że

umieszczony w tej witrynie skrypt do wyznaczania wolnych terminoacutew przyjmuje

zakresy dat w formacie dd-mm-rrrr Program ten będzie wiedziałcedil to wszystko

nie mając bynajmniej inteligencji superkomputera[hellip]rdquoCytat 5 (5)

Sieć semantyczną dla Web 30 najprościej jest przedstawić jako rozwinięcie internetu w

powszechnym tego słowa znaczeniu Działanie takiej sieci odroacuteżnia zrozumienie intencji

użytkownika na podstawie haseł i czynności ktoacutere w niej wykonuje Co więcej agent

(maszyna) po stronie użytkownika jest w stanie porozumieć się z agentem po stronie innego

klienta i wyciągnąć na tej podstawie konkretne informacje związane z zapytaniem Autorem

wizji sieci semantycznej jest Tim Berners-Lee (twoacuterca World Wide Web) Wymaganymi

standardami Sieci Semantycznej są sposoby opisu zasoboacutew sieciowych aby były one

zrozumiałe dla silnikoacutew wnioskujących Wynikiem tworzenia sieci semantycznej jest

ustrukturyzowanie zasoboacutew i połączenie ich w logiczną sieć Najistotniejszą informacją

dotyczącą sieci semantycznej jest to że przy zachowaniu takich standardoacutew można prowadzić

wnioskowanie Umożliwia to zrozumienie maszynowe treści trzymanych w sieci tworząc

olbrzymią dynamiczną bazę wiedzy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

8

Sieć Semantyczną dobrze opisują standardy ustalone przez W3C ndash Konsorcjum organizacja

nadająca kształt World Wide Web założona przez Timrsquoa Bernersrsquoa Lee Standardy założone

przez W3C dotyczą

Struktur stron WWW

Narzędzi do generowania stron i obsługi po stronie użytkownika

Protokołoacutew przesyłu danych

Celem W3C jest osiągnięcie ustrukturyzowanej poukładanej architektonicznie sieci co ułatwia

weryfikację i analizę zawartości jednocześnie zapewniając dobrą obsługę techniczną - stron

przez przeglądarki i inne narzędzia internetowe

43 Zastosowania Sieci Semantycznej

bdquowyszukiwanie informacji na podstawie znaczenia haseł wpisywanych w

wyszukiwarce a nie tylko po słowach kluczowych co często skutkuje

błędnymi odpowiedziami i uniemożliwia

korzystanie z synonimoacutew

rozroacuteżnianie danych na podstawie kontekstu ich znaczenia

ekstrahowanie informacji z roacuteżnych źroacutedeł i ich automatyczna integracja

prezentowanie tylko istotnych danych z punktu widzenia użytkownika

wraz z możliwością

wyjaśnienia podjętych przez komputer działańwnioskoacutew

przeprowadzanie wnioskowania na danych opisanych semantycznie co

skutkuje uzyskaniem nowych informacji (ktoacutere nie były dotychczas

jawnie zapisane) a te z kolei poddane procesom wnioskowania mogą

prowadzić do uzyskania kolejnych nowych faktoacutew itd

wprowadzanie wiedzy zawartej w dokumentach danego typu przez co

ułatwiłoby to zarządzanie dokumentami oraz informacją a także

prowadziło do utrzymywania niesprzeczności i aktualności

gromadzonych danych

automatyczną generację dokumentoacutew opisanych semantycznie

automatyczną generację stron WWW opisanych semantycznie bez

udziału użytkownika (wiedza służąca do opisu strony czerpana jest z

semantyki zawartej w ontologii)rdquoCytat 6 (6)

44 Linked Data Linked Data to dane powiązane czyli sposoacuteb opisywania danych zaproponowany przez Timrsquoa

Bernersrsquoa Lee w swoim artykule z 2007 roku Poprzez wiązanie danych ze sobą można

utworzyć ich sieć a żeby to zrobić należy zamieszczając coś w sieci WWW postępować wg 4

krokoacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

9

Rys 1ndash bdquoLinked Datardquo ndash opracowano na podstawie artykułu Linked Data autorstwa Tima

Bernersrsquoa Lee (7)

Ma to na celu umożliwić ustrukturyzowanie rzeczy w sieci w postaci meta-danych ndash czyli

danych-informacji o elementach ktoacuterych dotyczą Berners Lee utworzył też 5-stopniowy

model oceny zamieszczonych danych

ndash Jedna gwiazdka należy się gdy dane dostępne są w sieci na zasadzie otwartej

licencji

ndash Dwie gwiazdki gdy dane są w postaci czytelnej dla maszyn Np tabelka

ndash Trzy gwiazdki gdy te dane są w postaci czytelnej dla maszyn i obsługiwanym

formacie

ndash Cztery gwiazdki gdy zastosowane są standardy W3C Metadane w postaci RDF

dzięki ktoacuterej inni użytkownicy mogą wykorzystać URI do powiązania swoich danych

ndash Pięć gwiazdek gdy powiązano swoje dane z innymi innych użytkownikoacutew sieci

(7)

Pięciogwiazdkowy przykład użycia Linked Data

Poniżej przedstawiony przykład pochodzi ze strony informującej o zasadach Linked Data (8) Dotyczy on

prognozy pogody dla Galway w Irlandii Zasoacuteb został zatytuowany znacznikiem dctitle twoacuterca jest powiązany

za pomocą dctermscreator są też informacje o datach utworzenia i modyfikacji

bdquorarr dctitle rarr Temperature forecast for Galway Ireland

rarr xhtmlstylesheet rarr http5stardatainfocssstylecss

rarr dctermstitle rarr Temperature forecast for Galway Ireland

rarr dctermscreated rarr 2012-01-22^^xsddate

1 Używaj URI jako nazw dla rzeczy

2 Używaj URI Http aby ludzie mogli podejrzeć zawartość nazw

3 Gdy ktoś wejdzie przez Twoje URI zapewnij informacje o danych w postaci RDF (SPARQL)

4 Podłączaj inne URI aby można było odkryć więcej powiązanych rzeczy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

10

rarr dctermscreator rarr httpmhausenblasinfoi

rarr dctermsmodified rarr 2015-08-31^^xsddate

rarr dctermscontributor rarr httpjaygme

rarr dctermslicense rarr httpcreativecommonsorgpublicdomainzero10rdquo (8)

45 Standardy techniczne sieci semantycznej Sieć semantyczna będzie rozwinięciem aktualnej sieci WWW poprzez warstwowe dodawanie

stadardoacutew i technologii umożliwiających opisywanie i analizowanie zasoboacutew poprzez

tworzenie metadanych ndash danych o danych Proces taki jest tworzeniem stosu semantycznego

Rys2 - bdquoStos semantycznyrdquo ndash autor Tim Berners-Lee źroacutedło

httpwwww3org2000Talks1206-xml2k-tblslide10-0html data pobrania 23062015

46 RDF ndash Resource Description Framework RDF jest modelem opisu zasoboacutew i związkoacutew między nimi gdzie zasoacuteb to wszystko co można

zidentyfikować za pomocą URI

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

11

RDF jest sposobem opisywania zasoboacutew sieci Web bazującym na XML lecz jego rozszenie to

rdf

Rys 3 - bdquoPrzykład opisu w modelu RDFrdquo źroacutedło

httpsplwikipediaorgwikiResource_Description_FrameworkmediaFileModel_RDF_-

_diagram_wyraC5BCeC584png data pobrania 23062015

RDF Składa się z 3 głownych elementoacutew tworzących całość ndash Zasoacuteb właściwość wartość

Każdy element takiej troacutejki jest reprezentowany przez URI Graficzną reprezentacją RDF byłby

graf złożony z 3 wierzchołkoacutew i krawędzi Wnioskowanie w przypadku RDF polega na

tworzeniu nowych troacutejek na podstawie tych ktoacutere są już znane

Rys 4 ndash bdquoLogo rdf symbolizujące troacutejkęrdquo Źroacutedło httpstsisswordpresscomtagrdf data

pobrania 23062015

Sposoacuteb zapisu jest analogiczny do XML rozszerzony o znaczniki rdf

ltxml version=10gt

ltrdfRDF

xmlnsrdf=httpwwww3org19990222-rdf-syntax-ns

xmlnssi=httpwwww3schoolscomrdfgt

ltrdfDescription rdfabout=httpwwww3schoolscomgt

ltsititlegtW3Schoolscomltsititlegt

ltsiauthorgtJan Egil Refsnesltsiauthorgt

ltrdfDescriptiongt

ltrdfRDFgt

Przykład RDF źroacutedło httpwwww3schoolscomwebservicesws_rdf_exampleasp data

pobrania 23062015

47 RDFS ndash RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danychndash słownikoacutew RDF RDFS

umożliwia definiowanie własnych klas do ktoacuterych należą wierzchołki grafoacutew i ich

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

4

Celem pracy jest rozpoznanie i przedstawienie wnioskowania inteligentnego w kontekście

budowania i działania Sieci Semantyczniej roacuteżnic pomiędzy Web 30 a poprzednimi

generacjami możliwych zastosowań ww rozwiązań obecnie i w przyszłości Pierwsza część

pracy definiuje rozważane zagadnienia oraz opisuje przykłady aktualnego zastosowania

technologii W drugiej części przedstawiony jest przebieg i wyniki badań nad działaniem

aktualnie dostępnych silnikoacutew wnioskowania (reasoneroacutew) dla ontologii w języku OWL Testy

wyłaniają najlepszy z nich według kryterioacutew jakości wydajności i ilości

2 Abstract

The aim of this paper is to identify and present intelligent inferencing in the context of

building and work of the Semantic Web differences between Web 30 and previous

generations the possible applications of the above solutions now and in the future The first

part defines the issues under consideration and describes examples of current use of these

technologies The second part shows the process and results of studies on effects of currently

available reasoners for the OWL ontology language Tests were to emerge the best of them

according to criteria of quality performance and quantity

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

5

3 Wnioskowanie inteligentne

Wnioskowanie patrząć przez pryzmat nauki o logice jest częścią rozumowania czyli procesu

polegającego na stwierdzaniu poprawności pewnego zdania

Definicja rozumowania wg Encyklopedii PWN

bdquorozumowanie log proces myślowy w ktoacuterym uznaje się za prawdziwe jakieś

sądy (lub ich reprezentacje językowe mdash zdania) na podstawie innych już

uznanych za prawdziwe sądoacutew (zdań)

wśroacuted rodzajoacutew rozumowań zwykle rozroacuteżnia się wnioskowanie dowodzenie

sprawdzanie (weryfikację) i wyjaśnianie[]rdquoCytat 1 (1)

Jak widać przy wnioskowaniu skupiamy się na wyciągnięciu wniosku a pozostawiamy jego

werifikację sprawdzanie poprawności i dowoacuted

Definicja wnioskowania wg Encyklopedii PWN

bdquownioskowanie log jeden z podstawowych rodzajoacutew rozumowania

proces myślowy polegający na tym że na podstawie zdań uznanych za

prawdziwe (twierdzeń uzasadnionych) dochodzi do uznania nowego

twierdzenia ktoacutere wyprowadza się z owych zdań na podstawie praw log oraz

zgodnie z odpowiednimi regułami wnioskowania Zdania stanowiące punkt

wyjściowy tego rozumowania i podstawę uznawania innych nazywa się

przesłankami zdanie uznane w rezultacie procesu wnioskowania nazywa się

wnioskiem (konkluzją) Wnioskowanie nawiązuje do istniejącego między

zdaniami obiektywnego stosunku wynikania a także do probabilistycznych

związkoacutew między zdaniami Proces wnioskowania przebiega zwykle wg

schematu bdquoponieważ p więc qrdquo Wszelkie wnioskowania dzielą się na

niezawodne i zawodne czyli uprawdopodobniające Do niezawodnych należy

wnioskowanie dedukcyjne (dedukcja) szczegoacutelną jego odmianą jest

wnioskowanie sylogistyczne (sylogizm) z dwoacutech przesłanek Wśroacuted roacuteżnych

rodzajoacutew wnioskowań zawodnych wyroacuteżnia się wnioskowanie redukcyjne

(redukcja) wnioskowanie indukcyjne (indukcja) wnioskowanie przez analogię

(analogia)rdquoCytat 2 (2)

Wnioskowanie jest implikacją

Przesłanki (twierdzenia uzasadnione) --(prawa logiczne)--gt twierdzenie (wniosekkonkluzja)

Rodzaje niezawodnego wnioskowania to

Dedukcja ndash wniosek wynika z przesłanek

Oraz rodzaje wnioskowania zawodnego

Redukcja ndash do zdania uznanego za prawdziwe dobieramy przesłankę z ktoacuterej to zdanie

wynika

Indukcja ndash wniosek nie wynika logicznie z przesłanek ale stwierdza występującą

prawidłowość

Analogia ndash wnioskowanie o cechach obiektu na podstawie 2 przykładoacutew analogicznego

obiektu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

6

31 Inteligencja inteligentnego wnioskowania Przymiotnik bdquointeligentnerdquo w przypadku wnioskowania o ktoacuterym jest mowa w pracy pochodzi

od zautomatyzowanych metod wnioskowania ndash działu Sztucznej Inteligencji Potwierdza to

definicja Słownika Języka Polskiego PWN dot sztucznej inteligencji

bdquosztuczna inteligencja laquodział informatyki badający reguły rządzące

zachowaniami umysłowymi człowieka i tworzący programy lub systemy

komputerowe symulujące ludzkie myślenieraquordquoCytat 3 (3)

Należy więc rozpatrzeć możliwie zautomatyzowane metody wnioskowania ktoacutere działają bez

ingerencji człowieka Łączy się to z założeniem że fakty przesłanki i wnioski będą

przetwarzane i rozumiane przez komputer

32 Rodzaje wnioskowania Wnioskowanie można podzielić na 3 metody

Wnioskowanie w przoacuted

Wnioskowanie wsteczne

Wnioskowanie mieszane

Podsumowanie

Wymienione powyżej sposoby i rodzaje wnioskowania mogą mieć swoje zastosowanie dla

technologii użytych w sieciach semantycznych Należy rozpatrzeć na czym taka sieć się opiera

aby zbadać adektwatny sposoacuteb wnioskowania

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

7

4 Sieć semantyczna

41 Semantyka Semantyka jest działem logiki odpowiadającym za przypisanie znaczenia symbolom i

elementom języka oraz sensu zbiorom tych symboli Definicja wg Encyklopedii PWN

bdquoW celu określenia semantyk formalnego języka używana jest technika

nazywana teorią modelowania Teoria modelowania zakłada że język odnosi

się do bdquoświatardquo i opisuje warunki ktoacutere ten bdquoświatrdquo musi spełnić w celu

przekazywania poprawnego znaczenia dla każdego wyrażenia w języku

Konkretny bdquoświatrdquo jest nazywany interpretacją więc teoria modelowania może

być nazywana teorią interpretacji Najważniejszą ideą jest zapewnienie

abstrakcyjnego matematycznego opisu właściwości ktoacutere posiada każda taka

interpretacja poprzez tworzenie możliwie dużej liczby założeń o właściwej

naturze lub wewnętrznej strukturze zachowując w ten sposoacuteb tak dużo

ogoacutelności jak to możliwe Najważniejszym wykorzystaniem formalnych

semantyk jest zapewnienie technicznego sposobu determinowania kiedy

procesy wnioskowania są uzasadnione czyli np kiedy zachowują

prawdęrdquoCytat 4 (4)

42 Sieć semantyczna Definicja

bdquoSieć Semantyczna pozwoli w systematyczny sposoacuteb przypisać znaczenie

elementom stron WWW dzięki czemu odczytujące je specjalne programy zwane

agentami będą mogły wykonywać skomplikowane zadania zlecone przez

użytkownikoacutew Agent odwiedzający witrynę kliniki rehabilitacji nie tylko

rozpoznaje zawiera ona słowa kluczowe terapia medycyna rehabilitacja (co

jest możliwe już dzisiaj) lecz będzie w stanie stwierdzić że doktor Hartmann

przyjmuje w tej klinice w poniedziałki środy i piątki Zorientuje się także że

umieszczony w tej witrynie skrypt do wyznaczania wolnych terminoacutew przyjmuje

zakresy dat w formacie dd-mm-rrrr Program ten będzie wiedziałcedil to wszystko

nie mając bynajmniej inteligencji superkomputera[hellip]rdquoCytat 5 (5)

Sieć semantyczną dla Web 30 najprościej jest przedstawić jako rozwinięcie internetu w

powszechnym tego słowa znaczeniu Działanie takiej sieci odroacuteżnia zrozumienie intencji

użytkownika na podstawie haseł i czynności ktoacutere w niej wykonuje Co więcej agent

(maszyna) po stronie użytkownika jest w stanie porozumieć się z agentem po stronie innego

klienta i wyciągnąć na tej podstawie konkretne informacje związane z zapytaniem Autorem

wizji sieci semantycznej jest Tim Berners-Lee (twoacuterca World Wide Web) Wymaganymi

standardami Sieci Semantycznej są sposoby opisu zasoboacutew sieciowych aby były one

zrozumiałe dla silnikoacutew wnioskujących Wynikiem tworzenia sieci semantycznej jest

ustrukturyzowanie zasoboacutew i połączenie ich w logiczną sieć Najistotniejszą informacją

dotyczącą sieci semantycznej jest to że przy zachowaniu takich standardoacutew można prowadzić

wnioskowanie Umożliwia to zrozumienie maszynowe treści trzymanych w sieci tworząc

olbrzymią dynamiczną bazę wiedzy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

8

Sieć Semantyczną dobrze opisują standardy ustalone przez W3C ndash Konsorcjum organizacja

nadająca kształt World Wide Web założona przez Timrsquoa Bernersrsquoa Lee Standardy założone

przez W3C dotyczą

Struktur stron WWW

Narzędzi do generowania stron i obsługi po stronie użytkownika

Protokołoacutew przesyłu danych

Celem W3C jest osiągnięcie ustrukturyzowanej poukładanej architektonicznie sieci co ułatwia

weryfikację i analizę zawartości jednocześnie zapewniając dobrą obsługę techniczną - stron

przez przeglądarki i inne narzędzia internetowe

43 Zastosowania Sieci Semantycznej

bdquowyszukiwanie informacji na podstawie znaczenia haseł wpisywanych w

wyszukiwarce a nie tylko po słowach kluczowych co często skutkuje

błędnymi odpowiedziami i uniemożliwia

korzystanie z synonimoacutew

rozroacuteżnianie danych na podstawie kontekstu ich znaczenia

ekstrahowanie informacji z roacuteżnych źroacutedeł i ich automatyczna integracja

prezentowanie tylko istotnych danych z punktu widzenia użytkownika

wraz z możliwością

wyjaśnienia podjętych przez komputer działańwnioskoacutew

przeprowadzanie wnioskowania na danych opisanych semantycznie co

skutkuje uzyskaniem nowych informacji (ktoacutere nie były dotychczas

jawnie zapisane) a te z kolei poddane procesom wnioskowania mogą

prowadzić do uzyskania kolejnych nowych faktoacutew itd

wprowadzanie wiedzy zawartej w dokumentach danego typu przez co

ułatwiłoby to zarządzanie dokumentami oraz informacją a także

prowadziło do utrzymywania niesprzeczności i aktualności

gromadzonych danych

automatyczną generację dokumentoacutew opisanych semantycznie

automatyczną generację stron WWW opisanych semantycznie bez

udziału użytkownika (wiedza służąca do opisu strony czerpana jest z

semantyki zawartej w ontologii)rdquoCytat 6 (6)

44 Linked Data Linked Data to dane powiązane czyli sposoacuteb opisywania danych zaproponowany przez Timrsquoa

Bernersrsquoa Lee w swoim artykule z 2007 roku Poprzez wiązanie danych ze sobą można

utworzyć ich sieć a żeby to zrobić należy zamieszczając coś w sieci WWW postępować wg 4

krokoacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

9

Rys 1ndash bdquoLinked Datardquo ndash opracowano na podstawie artykułu Linked Data autorstwa Tima

Bernersrsquoa Lee (7)

Ma to na celu umożliwić ustrukturyzowanie rzeczy w sieci w postaci meta-danych ndash czyli

danych-informacji o elementach ktoacuterych dotyczą Berners Lee utworzył też 5-stopniowy

model oceny zamieszczonych danych

ndash Jedna gwiazdka należy się gdy dane dostępne są w sieci na zasadzie otwartej

licencji

ndash Dwie gwiazdki gdy dane są w postaci czytelnej dla maszyn Np tabelka

ndash Trzy gwiazdki gdy te dane są w postaci czytelnej dla maszyn i obsługiwanym

formacie

ndash Cztery gwiazdki gdy zastosowane są standardy W3C Metadane w postaci RDF

dzięki ktoacuterej inni użytkownicy mogą wykorzystać URI do powiązania swoich danych

ndash Pięć gwiazdek gdy powiązano swoje dane z innymi innych użytkownikoacutew sieci

(7)

Pięciogwiazdkowy przykład użycia Linked Data

Poniżej przedstawiony przykład pochodzi ze strony informującej o zasadach Linked Data (8) Dotyczy on

prognozy pogody dla Galway w Irlandii Zasoacuteb został zatytuowany znacznikiem dctitle twoacuterca jest powiązany

za pomocą dctermscreator są też informacje o datach utworzenia i modyfikacji

bdquorarr dctitle rarr Temperature forecast for Galway Ireland

rarr xhtmlstylesheet rarr http5stardatainfocssstylecss

rarr dctermstitle rarr Temperature forecast for Galway Ireland

rarr dctermscreated rarr 2012-01-22^^xsddate

1 Używaj URI jako nazw dla rzeczy

2 Używaj URI Http aby ludzie mogli podejrzeć zawartość nazw

3 Gdy ktoś wejdzie przez Twoje URI zapewnij informacje o danych w postaci RDF (SPARQL)

4 Podłączaj inne URI aby można było odkryć więcej powiązanych rzeczy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

10

rarr dctermscreator rarr httpmhausenblasinfoi

rarr dctermsmodified rarr 2015-08-31^^xsddate

rarr dctermscontributor rarr httpjaygme

rarr dctermslicense rarr httpcreativecommonsorgpublicdomainzero10rdquo (8)

45 Standardy techniczne sieci semantycznej Sieć semantyczna będzie rozwinięciem aktualnej sieci WWW poprzez warstwowe dodawanie

stadardoacutew i technologii umożliwiających opisywanie i analizowanie zasoboacutew poprzez

tworzenie metadanych ndash danych o danych Proces taki jest tworzeniem stosu semantycznego

Rys2 - bdquoStos semantycznyrdquo ndash autor Tim Berners-Lee źroacutedło

httpwwww3org2000Talks1206-xml2k-tblslide10-0html data pobrania 23062015

46 RDF ndash Resource Description Framework RDF jest modelem opisu zasoboacutew i związkoacutew między nimi gdzie zasoacuteb to wszystko co można

zidentyfikować za pomocą URI

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

11

RDF jest sposobem opisywania zasoboacutew sieci Web bazującym na XML lecz jego rozszenie to

rdf

Rys 3 - bdquoPrzykład opisu w modelu RDFrdquo źroacutedło

httpsplwikipediaorgwikiResource_Description_FrameworkmediaFileModel_RDF_-

_diagram_wyraC5BCeC584png data pobrania 23062015

RDF Składa się z 3 głownych elementoacutew tworzących całość ndash Zasoacuteb właściwość wartość

Każdy element takiej troacutejki jest reprezentowany przez URI Graficzną reprezentacją RDF byłby

graf złożony z 3 wierzchołkoacutew i krawędzi Wnioskowanie w przypadku RDF polega na

tworzeniu nowych troacutejek na podstawie tych ktoacutere są już znane

Rys 4 ndash bdquoLogo rdf symbolizujące troacutejkęrdquo Źroacutedło httpstsisswordpresscomtagrdf data

pobrania 23062015

Sposoacuteb zapisu jest analogiczny do XML rozszerzony o znaczniki rdf

ltxml version=10gt

ltrdfRDF

xmlnsrdf=httpwwww3org19990222-rdf-syntax-ns

xmlnssi=httpwwww3schoolscomrdfgt

ltrdfDescription rdfabout=httpwwww3schoolscomgt

ltsititlegtW3Schoolscomltsititlegt

ltsiauthorgtJan Egil Refsnesltsiauthorgt

ltrdfDescriptiongt

ltrdfRDFgt

Przykład RDF źroacutedło httpwwww3schoolscomwebservicesws_rdf_exampleasp data

pobrania 23062015

47 RDFS ndash RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danychndash słownikoacutew RDF RDFS

umożliwia definiowanie własnych klas do ktoacuterych należą wierzchołki grafoacutew i ich

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

5

3 Wnioskowanie inteligentne

Wnioskowanie patrząć przez pryzmat nauki o logice jest częścią rozumowania czyli procesu

polegającego na stwierdzaniu poprawności pewnego zdania

Definicja rozumowania wg Encyklopedii PWN

bdquorozumowanie log proces myślowy w ktoacuterym uznaje się za prawdziwe jakieś

sądy (lub ich reprezentacje językowe mdash zdania) na podstawie innych już

uznanych za prawdziwe sądoacutew (zdań)

wśroacuted rodzajoacutew rozumowań zwykle rozroacuteżnia się wnioskowanie dowodzenie

sprawdzanie (weryfikację) i wyjaśnianie[]rdquoCytat 1 (1)

Jak widać przy wnioskowaniu skupiamy się na wyciągnięciu wniosku a pozostawiamy jego

werifikację sprawdzanie poprawności i dowoacuted

Definicja wnioskowania wg Encyklopedii PWN

bdquownioskowanie log jeden z podstawowych rodzajoacutew rozumowania

proces myślowy polegający na tym że na podstawie zdań uznanych za

prawdziwe (twierdzeń uzasadnionych) dochodzi do uznania nowego

twierdzenia ktoacutere wyprowadza się z owych zdań na podstawie praw log oraz

zgodnie z odpowiednimi regułami wnioskowania Zdania stanowiące punkt

wyjściowy tego rozumowania i podstawę uznawania innych nazywa się

przesłankami zdanie uznane w rezultacie procesu wnioskowania nazywa się

wnioskiem (konkluzją) Wnioskowanie nawiązuje do istniejącego między

zdaniami obiektywnego stosunku wynikania a także do probabilistycznych

związkoacutew między zdaniami Proces wnioskowania przebiega zwykle wg

schematu bdquoponieważ p więc qrdquo Wszelkie wnioskowania dzielą się na

niezawodne i zawodne czyli uprawdopodobniające Do niezawodnych należy

wnioskowanie dedukcyjne (dedukcja) szczegoacutelną jego odmianą jest

wnioskowanie sylogistyczne (sylogizm) z dwoacutech przesłanek Wśroacuted roacuteżnych

rodzajoacutew wnioskowań zawodnych wyroacuteżnia się wnioskowanie redukcyjne

(redukcja) wnioskowanie indukcyjne (indukcja) wnioskowanie przez analogię

(analogia)rdquoCytat 2 (2)

Wnioskowanie jest implikacją

Przesłanki (twierdzenia uzasadnione) --(prawa logiczne)--gt twierdzenie (wniosekkonkluzja)

Rodzaje niezawodnego wnioskowania to

Dedukcja ndash wniosek wynika z przesłanek

Oraz rodzaje wnioskowania zawodnego

Redukcja ndash do zdania uznanego za prawdziwe dobieramy przesłankę z ktoacuterej to zdanie

wynika

Indukcja ndash wniosek nie wynika logicznie z przesłanek ale stwierdza występującą

prawidłowość

Analogia ndash wnioskowanie o cechach obiektu na podstawie 2 przykładoacutew analogicznego

obiektu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

6

31 Inteligencja inteligentnego wnioskowania Przymiotnik bdquointeligentnerdquo w przypadku wnioskowania o ktoacuterym jest mowa w pracy pochodzi

od zautomatyzowanych metod wnioskowania ndash działu Sztucznej Inteligencji Potwierdza to

definicja Słownika Języka Polskiego PWN dot sztucznej inteligencji

bdquosztuczna inteligencja laquodział informatyki badający reguły rządzące

zachowaniami umysłowymi człowieka i tworzący programy lub systemy

komputerowe symulujące ludzkie myślenieraquordquoCytat 3 (3)

Należy więc rozpatrzeć możliwie zautomatyzowane metody wnioskowania ktoacutere działają bez

ingerencji człowieka Łączy się to z założeniem że fakty przesłanki i wnioski będą

przetwarzane i rozumiane przez komputer

32 Rodzaje wnioskowania Wnioskowanie można podzielić na 3 metody

Wnioskowanie w przoacuted

Wnioskowanie wsteczne

Wnioskowanie mieszane

Podsumowanie

Wymienione powyżej sposoby i rodzaje wnioskowania mogą mieć swoje zastosowanie dla

technologii użytych w sieciach semantycznych Należy rozpatrzeć na czym taka sieć się opiera

aby zbadać adektwatny sposoacuteb wnioskowania

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

7

4 Sieć semantyczna

41 Semantyka Semantyka jest działem logiki odpowiadającym za przypisanie znaczenia symbolom i

elementom języka oraz sensu zbiorom tych symboli Definicja wg Encyklopedii PWN

bdquoW celu określenia semantyk formalnego języka używana jest technika

nazywana teorią modelowania Teoria modelowania zakłada że język odnosi

się do bdquoświatardquo i opisuje warunki ktoacutere ten bdquoświatrdquo musi spełnić w celu

przekazywania poprawnego znaczenia dla każdego wyrażenia w języku

Konkretny bdquoświatrdquo jest nazywany interpretacją więc teoria modelowania może

być nazywana teorią interpretacji Najważniejszą ideą jest zapewnienie

abstrakcyjnego matematycznego opisu właściwości ktoacutere posiada każda taka

interpretacja poprzez tworzenie możliwie dużej liczby założeń o właściwej

naturze lub wewnętrznej strukturze zachowując w ten sposoacuteb tak dużo

ogoacutelności jak to możliwe Najważniejszym wykorzystaniem formalnych

semantyk jest zapewnienie technicznego sposobu determinowania kiedy

procesy wnioskowania są uzasadnione czyli np kiedy zachowują

prawdęrdquoCytat 4 (4)

42 Sieć semantyczna Definicja

bdquoSieć Semantyczna pozwoli w systematyczny sposoacuteb przypisać znaczenie

elementom stron WWW dzięki czemu odczytujące je specjalne programy zwane

agentami będą mogły wykonywać skomplikowane zadania zlecone przez

użytkownikoacutew Agent odwiedzający witrynę kliniki rehabilitacji nie tylko

rozpoznaje zawiera ona słowa kluczowe terapia medycyna rehabilitacja (co

jest możliwe już dzisiaj) lecz będzie w stanie stwierdzić że doktor Hartmann

przyjmuje w tej klinice w poniedziałki środy i piątki Zorientuje się także że

umieszczony w tej witrynie skrypt do wyznaczania wolnych terminoacutew przyjmuje

zakresy dat w formacie dd-mm-rrrr Program ten będzie wiedziałcedil to wszystko

nie mając bynajmniej inteligencji superkomputera[hellip]rdquoCytat 5 (5)

Sieć semantyczną dla Web 30 najprościej jest przedstawić jako rozwinięcie internetu w

powszechnym tego słowa znaczeniu Działanie takiej sieci odroacuteżnia zrozumienie intencji

użytkownika na podstawie haseł i czynności ktoacutere w niej wykonuje Co więcej agent

(maszyna) po stronie użytkownika jest w stanie porozumieć się z agentem po stronie innego

klienta i wyciągnąć na tej podstawie konkretne informacje związane z zapytaniem Autorem

wizji sieci semantycznej jest Tim Berners-Lee (twoacuterca World Wide Web) Wymaganymi

standardami Sieci Semantycznej są sposoby opisu zasoboacutew sieciowych aby były one

zrozumiałe dla silnikoacutew wnioskujących Wynikiem tworzenia sieci semantycznej jest

ustrukturyzowanie zasoboacutew i połączenie ich w logiczną sieć Najistotniejszą informacją

dotyczącą sieci semantycznej jest to że przy zachowaniu takich standardoacutew można prowadzić

wnioskowanie Umożliwia to zrozumienie maszynowe treści trzymanych w sieci tworząc

olbrzymią dynamiczną bazę wiedzy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

8

Sieć Semantyczną dobrze opisują standardy ustalone przez W3C ndash Konsorcjum organizacja

nadająca kształt World Wide Web założona przez Timrsquoa Bernersrsquoa Lee Standardy założone

przez W3C dotyczą

Struktur stron WWW

Narzędzi do generowania stron i obsługi po stronie użytkownika

Protokołoacutew przesyłu danych

Celem W3C jest osiągnięcie ustrukturyzowanej poukładanej architektonicznie sieci co ułatwia

weryfikację i analizę zawartości jednocześnie zapewniając dobrą obsługę techniczną - stron

przez przeglądarki i inne narzędzia internetowe

43 Zastosowania Sieci Semantycznej

bdquowyszukiwanie informacji na podstawie znaczenia haseł wpisywanych w

wyszukiwarce a nie tylko po słowach kluczowych co często skutkuje

błędnymi odpowiedziami i uniemożliwia

korzystanie z synonimoacutew

rozroacuteżnianie danych na podstawie kontekstu ich znaczenia

ekstrahowanie informacji z roacuteżnych źroacutedeł i ich automatyczna integracja

prezentowanie tylko istotnych danych z punktu widzenia użytkownika

wraz z możliwością

wyjaśnienia podjętych przez komputer działańwnioskoacutew

przeprowadzanie wnioskowania na danych opisanych semantycznie co

skutkuje uzyskaniem nowych informacji (ktoacutere nie były dotychczas

jawnie zapisane) a te z kolei poddane procesom wnioskowania mogą

prowadzić do uzyskania kolejnych nowych faktoacutew itd

wprowadzanie wiedzy zawartej w dokumentach danego typu przez co

ułatwiłoby to zarządzanie dokumentami oraz informacją a także

prowadziło do utrzymywania niesprzeczności i aktualności

gromadzonych danych

automatyczną generację dokumentoacutew opisanych semantycznie

automatyczną generację stron WWW opisanych semantycznie bez

udziału użytkownika (wiedza służąca do opisu strony czerpana jest z

semantyki zawartej w ontologii)rdquoCytat 6 (6)

44 Linked Data Linked Data to dane powiązane czyli sposoacuteb opisywania danych zaproponowany przez Timrsquoa

Bernersrsquoa Lee w swoim artykule z 2007 roku Poprzez wiązanie danych ze sobą można

utworzyć ich sieć a żeby to zrobić należy zamieszczając coś w sieci WWW postępować wg 4

krokoacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

9

Rys 1ndash bdquoLinked Datardquo ndash opracowano na podstawie artykułu Linked Data autorstwa Tima

Bernersrsquoa Lee (7)

Ma to na celu umożliwić ustrukturyzowanie rzeczy w sieci w postaci meta-danych ndash czyli

danych-informacji o elementach ktoacuterych dotyczą Berners Lee utworzył też 5-stopniowy

model oceny zamieszczonych danych

ndash Jedna gwiazdka należy się gdy dane dostępne są w sieci na zasadzie otwartej

licencji

ndash Dwie gwiazdki gdy dane są w postaci czytelnej dla maszyn Np tabelka

ndash Trzy gwiazdki gdy te dane są w postaci czytelnej dla maszyn i obsługiwanym

formacie

ndash Cztery gwiazdki gdy zastosowane są standardy W3C Metadane w postaci RDF

dzięki ktoacuterej inni użytkownicy mogą wykorzystać URI do powiązania swoich danych

ndash Pięć gwiazdek gdy powiązano swoje dane z innymi innych użytkownikoacutew sieci

(7)

Pięciogwiazdkowy przykład użycia Linked Data

Poniżej przedstawiony przykład pochodzi ze strony informującej o zasadach Linked Data (8) Dotyczy on

prognozy pogody dla Galway w Irlandii Zasoacuteb został zatytuowany znacznikiem dctitle twoacuterca jest powiązany

za pomocą dctermscreator są też informacje o datach utworzenia i modyfikacji

bdquorarr dctitle rarr Temperature forecast for Galway Ireland

rarr xhtmlstylesheet rarr http5stardatainfocssstylecss

rarr dctermstitle rarr Temperature forecast for Galway Ireland

rarr dctermscreated rarr 2012-01-22^^xsddate

1 Używaj URI jako nazw dla rzeczy

2 Używaj URI Http aby ludzie mogli podejrzeć zawartość nazw

3 Gdy ktoś wejdzie przez Twoje URI zapewnij informacje o danych w postaci RDF (SPARQL)

4 Podłączaj inne URI aby można było odkryć więcej powiązanych rzeczy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

10

rarr dctermscreator rarr httpmhausenblasinfoi

rarr dctermsmodified rarr 2015-08-31^^xsddate

rarr dctermscontributor rarr httpjaygme

rarr dctermslicense rarr httpcreativecommonsorgpublicdomainzero10rdquo (8)

45 Standardy techniczne sieci semantycznej Sieć semantyczna będzie rozwinięciem aktualnej sieci WWW poprzez warstwowe dodawanie

stadardoacutew i technologii umożliwiających opisywanie i analizowanie zasoboacutew poprzez

tworzenie metadanych ndash danych o danych Proces taki jest tworzeniem stosu semantycznego

Rys2 - bdquoStos semantycznyrdquo ndash autor Tim Berners-Lee źroacutedło

httpwwww3org2000Talks1206-xml2k-tblslide10-0html data pobrania 23062015

46 RDF ndash Resource Description Framework RDF jest modelem opisu zasoboacutew i związkoacutew między nimi gdzie zasoacuteb to wszystko co można

zidentyfikować za pomocą URI

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

11

RDF jest sposobem opisywania zasoboacutew sieci Web bazującym na XML lecz jego rozszenie to

rdf

Rys 3 - bdquoPrzykład opisu w modelu RDFrdquo źroacutedło

httpsplwikipediaorgwikiResource_Description_FrameworkmediaFileModel_RDF_-

_diagram_wyraC5BCeC584png data pobrania 23062015

RDF Składa się z 3 głownych elementoacutew tworzących całość ndash Zasoacuteb właściwość wartość

Każdy element takiej troacutejki jest reprezentowany przez URI Graficzną reprezentacją RDF byłby

graf złożony z 3 wierzchołkoacutew i krawędzi Wnioskowanie w przypadku RDF polega na

tworzeniu nowych troacutejek na podstawie tych ktoacutere są już znane

Rys 4 ndash bdquoLogo rdf symbolizujące troacutejkęrdquo Źroacutedło httpstsisswordpresscomtagrdf data

pobrania 23062015

Sposoacuteb zapisu jest analogiczny do XML rozszerzony o znaczniki rdf

ltxml version=10gt

ltrdfRDF

xmlnsrdf=httpwwww3org19990222-rdf-syntax-ns

xmlnssi=httpwwww3schoolscomrdfgt

ltrdfDescription rdfabout=httpwwww3schoolscomgt

ltsititlegtW3Schoolscomltsititlegt

ltsiauthorgtJan Egil Refsnesltsiauthorgt

ltrdfDescriptiongt

ltrdfRDFgt

Przykład RDF źroacutedło httpwwww3schoolscomwebservicesws_rdf_exampleasp data

pobrania 23062015

47 RDFS ndash RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danychndash słownikoacutew RDF RDFS

umożliwia definiowanie własnych klas do ktoacuterych należą wierzchołki grafoacutew i ich

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

6

31 Inteligencja inteligentnego wnioskowania Przymiotnik bdquointeligentnerdquo w przypadku wnioskowania o ktoacuterym jest mowa w pracy pochodzi

od zautomatyzowanych metod wnioskowania ndash działu Sztucznej Inteligencji Potwierdza to

definicja Słownika Języka Polskiego PWN dot sztucznej inteligencji

bdquosztuczna inteligencja laquodział informatyki badający reguły rządzące

zachowaniami umysłowymi człowieka i tworzący programy lub systemy

komputerowe symulujące ludzkie myślenieraquordquoCytat 3 (3)

Należy więc rozpatrzeć możliwie zautomatyzowane metody wnioskowania ktoacutere działają bez

ingerencji człowieka Łączy się to z założeniem że fakty przesłanki i wnioski będą

przetwarzane i rozumiane przez komputer

32 Rodzaje wnioskowania Wnioskowanie można podzielić na 3 metody

Wnioskowanie w przoacuted

Wnioskowanie wsteczne

Wnioskowanie mieszane

Podsumowanie

Wymienione powyżej sposoby i rodzaje wnioskowania mogą mieć swoje zastosowanie dla

technologii użytych w sieciach semantycznych Należy rozpatrzeć na czym taka sieć się opiera

aby zbadać adektwatny sposoacuteb wnioskowania

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

7

4 Sieć semantyczna

41 Semantyka Semantyka jest działem logiki odpowiadającym za przypisanie znaczenia symbolom i

elementom języka oraz sensu zbiorom tych symboli Definicja wg Encyklopedii PWN

bdquoW celu określenia semantyk formalnego języka używana jest technika

nazywana teorią modelowania Teoria modelowania zakłada że język odnosi

się do bdquoświatardquo i opisuje warunki ktoacutere ten bdquoświatrdquo musi spełnić w celu

przekazywania poprawnego znaczenia dla każdego wyrażenia w języku

Konkretny bdquoświatrdquo jest nazywany interpretacją więc teoria modelowania może

być nazywana teorią interpretacji Najważniejszą ideą jest zapewnienie

abstrakcyjnego matematycznego opisu właściwości ktoacutere posiada każda taka

interpretacja poprzez tworzenie możliwie dużej liczby założeń o właściwej

naturze lub wewnętrznej strukturze zachowując w ten sposoacuteb tak dużo

ogoacutelności jak to możliwe Najważniejszym wykorzystaniem formalnych

semantyk jest zapewnienie technicznego sposobu determinowania kiedy

procesy wnioskowania są uzasadnione czyli np kiedy zachowują

prawdęrdquoCytat 4 (4)

42 Sieć semantyczna Definicja

bdquoSieć Semantyczna pozwoli w systematyczny sposoacuteb przypisać znaczenie

elementom stron WWW dzięki czemu odczytujące je specjalne programy zwane

agentami będą mogły wykonywać skomplikowane zadania zlecone przez

użytkownikoacutew Agent odwiedzający witrynę kliniki rehabilitacji nie tylko

rozpoznaje zawiera ona słowa kluczowe terapia medycyna rehabilitacja (co

jest możliwe już dzisiaj) lecz będzie w stanie stwierdzić że doktor Hartmann

przyjmuje w tej klinice w poniedziałki środy i piątki Zorientuje się także że

umieszczony w tej witrynie skrypt do wyznaczania wolnych terminoacutew przyjmuje

zakresy dat w formacie dd-mm-rrrr Program ten będzie wiedziałcedil to wszystko

nie mając bynajmniej inteligencji superkomputera[hellip]rdquoCytat 5 (5)

Sieć semantyczną dla Web 30 najprościej jest przedstawić jako rozwinięcie internetu w

powszechnym tego słowa znaczeniu Działanie takiej sieci odroacuteżnia zrozumienie intencji

użytkownika na podstawie haseł i czynności ktoacutere w niej wykonuje Co więcej agent

(maszyna) po stronie użytkownika jest w stanie porozumieć się z agentem po stronie innego

klienta i wyciągnąć na tej podstawie konkretne informacje związane z zapytaniem Autorem

wizji sieci semantycznej jest Tim Berners-Lee (twoacuterca World Wide Web) Wymaganymi

standardami Sieci Semantycznej są sposoby opisu zasoboacutew sieciowych aby były one

zrozumiałe dla silnikoacutew wnioskujących Wynikiem tworzenia sieci semantycznej jest

ustrukturyzowanie zasoboacutew i połączenie ich w logiczną sieć Najistotniejszą informacją

dotyczącą sieci semantycznej jest to że przy zachowaniu takich standardoacutew można prowadzić

wnioskowanie Umożliwia to zrozumienie maszynowe treści trzymanych w sieci tworząc

olbrzymią dynamiczną bazę wiedzy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

8

Sieć Semantyczną dobrze opisują standardy ustalone przez W3C ndash Konsorcjum organizacja

nadająca kształt World Wide Web założona przez Timrsquoa Bernersrsquoa Lee Standardy założone

przez W3C dotyczą

Struktur stron WWW

Narzędzi do generowania stron i obsługi po stronie użytkownika

Protokołoacutew przesyłu danych

Celem W3C jest osiągnięcie ustrukturyzowanej poukładanej architektonicznie sieci co ułatwia

weryfikację i analizę zawartości jednocześnie zapewniając dobrą obsługę techniczną - stron

przez przeglądarki i inne narzędzia internetowe

43 Zastosowania Sieci Semantycznej

bdquowyszukiwanie informacji na podstawie znaczenia haseł wpisywanych w

wyszukiwarce a nie tylko po słowach kluczowych co często skutkuje

błędnymi odpowiedziami i uniemożliwia

korzystanie z synonimoacutew

rozroacuteżnianie danych na podstawie kontekstu ich znaczenia

ekstrahowanie informacji z roacuteżnych źroacutedeł i ich automatyczna integracja

prezentowanie tylko istotnych danych z punktu widzenia użytkownika

wraz z możliwością

wyjaśnienia podjętych przez komputer działańwnioskoacutew

przeprowadzanie wnioskowania na danych opisanych semantycznie co

skutkuje uzyskaniem nowych informacji (ktoacutere nie były dotychczas

jawnie zapisane) a te z kolei poddane procesom wnioskowania mogą

prowadzić do uzyskania kolejnych nowych faktoacutew itd

wprowadzanie wiedzy zawartej w dokumentach danego typu przez co

ułatwiłoby to zarządzanie dokumentami oraz informacją a także

prowadziło do utrzymywania niesprzeczności i aktualności

gromadzonych danych

automatyczną generację dokumentoacutew opisanych semantycznie

automatyczną generację stron WWW opisanych semantycznie bez

udziału użytkownika (wiedza służąca do opisu strony czerpana jest z

semantyki zawartej w ontologii)rdquoCytat 6 (6)

44 Linked Data Linked Data to dane powiązane czyli sposoacuteb opisywania danych zaproponowany przez Timrsquoa

Bernersrsquoa Lee w swoim artykule z 2007 roku Poprzez wiązanie danych ze sobą można

utworzyć ich sieć a żeby to zrobić należy zamieszczając coś w sieci WWW postępować wg 4

krokoacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

9

Rys 1ndash bdquoLinked Datardquo ndash opracowano na podstawie artykułu Linked Data autorstwa Tima

Bernersrsquoa Lee (7)

Ma to na celu umożliwić ustrukturyzowanie rzeczy w sieci w postaci meta-danych ndash czyli

danych-informacji o elementach ktoacuterych dotyczą Berners Lee utworzył też 5-stopniowy

model oceny zamieszczonych danych

ndash Jedna gwiazdka należy się gdy dane dostępne są w sieci na zasadzie otwartej

licencji

ndash Dwie gwiazdki gdy dane są w postaci czytelnej dla maszyn Np tabelka

ndash Trzy gwiazdki gdy te dane są w postaci czytelnej dla maszyn i obsługiwanym

formacie

ndash Cztery gwiazdki gdy zastosowane są standardy W3C Metadane w postaci RDF

dzięki ktoacuterej inni użytkownicy mogą wykorzystać URI do powiązania swoich danych

ndash Pięć gwiazdek gdy powiązano swoje dane z innymi innych użytkownikoacutew sieci

(7)

Pięciogwiazdkowy przykład użycia Linked Data

Poniżej przedstawiony przykład pochodzi ze strony informującej o zasadach Linked Data (8) Dotyczy on

prognozy pogody dla Galway w Irlandii Zasoacuteb został zatytuowany znacznikiem dctitle twoacuterca jest powiązany

za pomocą dctermscreator są też informacje o datach utworzenia i modyfikacji

bdquorarr dctitle rarr Temperature forecast for Galway Ireland

rarr xhtmlstylesheet rarr http5stardatainfocssstylecss

rarr dctermstitle rarr Temperature forecast for Galway Ireland

rarr dctermscreated rarr 2012-01-22^^xsddate

1 Używaj URI jako nazw dla rzeczy

2 Używaj URI Http aby ludzie mogli podejrzeć zawartość nazw

3 Gdy ktoś wejdzie przez Twoje URI zapewnij informacje o danych w postaci RDF (SPARQL)

4 Podłączaj inne URI aby można było odkryć więcej powiązanych rzeczy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

10

rarr dctermscreator rarr httpmhausenblasinfoi

rarr dctermsmodified rarr 2015-08-31^^xsddate

rarr dctermscontributor rarr httpjaygme

rarr dctermslicense rarr httpcreativecommonsorgpublicdomainzero10rdquo (8)

45 Standardy techniczne sieci semantycznej Sieć semantyczna będzie rozwinięciem aktualnej sieci WWW poprzez warstwowe dodawanie

stadardoacutew i technologii umożliwiających opisywanie i analizowanie zasoboacutew poprzez

tworzenie metadanych ndash danych o danych Proces taki jest tworzeniem stosu semantycznego

Rys2 - bdquoStos semantycznyrdquo ndash autor Tim Berners-Lee źroacutedło

httpwwww3org2000Talks1206-xml2k-tblslide10-0html data pobrania 23062015

46 RDF ndash Resource Description Framework RDF jest modelem opisu zasoboacutew i związkoacutew między nimi gdzie zasoacuteb to wszystko co można

zidentyfikować za pomocą URI

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

11

RDF jest sposobem opisywania zasoboacutew sieci Web bazującym na XML lecz jego rozszenie to

rdf

Rys 3 - bdquoPrzykład opisu w modelu RDFrdquo źroacutedło

httpsplwikipediaorgwikiResource_Description_FrameworkmediaFileModel_RDF_-

_diagram_wyraC5BCeC584png data pobrania 23062015

RDF Składa się z 3 głownych elementoacutew tworzących całość ndash Zasoacuteb właściwość wartość

Każdy element takiej troacutejki jest reprezentowany przez URI Graficzną reprezentacją RDF byłby

graf złożony z 3 wierzchołkoacutew i krawędzi Wnioskowanie w przypadku RDF polega na

tworzeniu nowych troacutejek na podstawie tych ktoacutere są już znane

Rys 4 ndash bdquoLogo rdf symbolizujące troacutejkęrdquo Źroacutedło httpstsisswordpresscomtagrdf data

pobrania 23062015

Sposoacuteb zapisu jest analogiczny do XML rozszerzony o znaczniki rdf

ltxml version=10gt

ltrdfRDF

xmlnsrdf=httpwwww3org19990222-rdf-syntax-ns

xmlnssi=httpwwww3schoolscomrdfgt

ltrdfDescription rdfabout=httpwwww3schoolscomgt

ltsititlegtW3Schoolscomltsititlegt

ltsiauthorgtJan Egil Refsnesltsiauthorgt

ltrdfDescriptiongt

ltrdfRDFgt

Przykład RDF źroacutedło httpwwww3schoolscomwebservicesws_rdf_exampleasp data

pobrania 23062015

47 RDFS ndash RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danychndash słownikoacutew RDF RDFS

umożliwia definiowanie własnych klas do ktoacuterych należą wierzchołki grafoacutew i ich

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

7

4 Sieć semantyczna

41 Semantyka Semantyka jest działem logiki odpowiadającym za przypisanie znaczenia symbolom i

elementom języka oraz sensu zbiorom tych symboli Definicja wg Encyklopedii PWN

bdquoW celu określenia semantyk formalnego języka używana jest technika

nazywana teorią modelowania Teoria modelowania zakłada że język odnosi

się do bdquoświatardquo i opisuje warunki ktoacutere ten bdquoświatrdquo musi spełnić w celu

przekazywania poprawnego znaczenia dla każdego wyrażenia w języku

Konkretny bdquoświatrdquo jest nazywany interpretacją więc teoria modelowania może

być nazywana teorią interpretacji Najważniejszą ideą jest zapewnienie

abstrakcyjnego matematycznego opisu właściwości ktoacutere posiada każda taka

interpretacja poprzez tworzenie możliwie dużej liczby założeń o właściwej

naturze lub wewnętrznej strukturze zachowując w ten sposoacuteb tak dużo

ogoacutelności jak to możliwe Najważniejszym wykorzystaniem formalnych

semantyk jest zapewnienie technicznego sposobu determinowania kiedy

procesy wnioskowania są uzasadnione czyli np kiedy zachowują

prawdęrdquoCytat 4 (4)

42 Sieć semantyczna Definicja

bdquoSieć Semantyczna pozwoli w systematyczny sposoacuteb przypisać znaczenie

elementom stron WWW dzięki czemu odczytujące je specjalne programy zwane

agentami będą mogły wykonywać skomplikowane zadania zlecone przez

użytkownikoacutew Agent odwiedzający witrynę kliniki rehabilitacji nie tylko

rozpoznaje zawiera ona słowa kluczowe terapia medycyna rehabilitacja (co

jest możliwe już dzisiaj) lecz będzie w stanie stwierdzić że doktor Hartmann

przyjmuje w tej klinice w poniedziałki środy i piątki Zorientuje się także że

umieszczony w tej witrynie skrypt do wyznaczania wolnych terminoacutew przyjmuje

zakresy dat w formacie dd-mm-rrrr Program ten będzie wiedziałcedil to wszystko

nie mając bynajmniej inteligencji superkomputera[hellip]rdquoCytat 5 (5)

Sieć semantyczną dla Web 30 najprościej jest przedstawić jako rozwinięcie internetu w

powszechnym tego słowa znaczeniu Działanie takiej sieci odroacuteżnia zrozumienie intencji

użytkownika na podstawie haseł i czynności ktoacutere w niej wykonuje Co więcej agent

(maszyna) po stronie użytkownika jest w stanie porozumieć się z agentem po stronie innego

klienta i wyciągnąć na tej podstawie konkretne informacje związane z zapytaniem Autorem

wizji sieci semantycznej jest Tim Berners-Lee (twoacuterca World Wide Web) Wymaganymi

standardami Sieci Semantycznej są sposoby opisu zasoboacutew sieciowych aby były one

zrozumiałe dla silnikoacutew wnioskujących Wynikiem tworzenia sieci semantycznej jest

ustrukturyzowanie zasoboacutew i połączenie ich w logiczną sieć Najistotniejszą informacją

dotyczącą sieci semantycznej jest to że przy zachowaniu takich standardoacutew można prowadzić

wnioskowanie Umożliwia to zrozumienie maszynowe treści trzymanych w sieci tworząc

olbrzymią dynamiczną bazę wiedzy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

8

Sieć Semantyczną dobrze opisują standardy ustalone przez W3C ndash Konsorcjum organizacja

nadająca kształt World Wide Web założona przez Timrsquoa Bernersrsquoa Lee Standardy założone

przez W3C dotyczą

Struktur stron WWW

Narzędzi do generowania stron i obsługi po stronie użytkownika

Protokołoacutew przesyłu danych

Celem W3C jest osiągnięcie ustrukturyzowanej poukładanej architektonicznie sieci co ułatwia

weryfikację i analizę zawartości jednocześnie zapewniając dobrą obsługę techniczną - stron

przez przeglądarki i inne narzędzia internetowe

43 Zastosowania Sieci Semantycznej

bdquowyszukiwanie informacji na podstawie znaczenia haseł wpisywanych w

wyszukiwarce a nie tylko po słowach kluczowych co często skutkuje

błędnymi odpowiedziami i uniemożliwia

korzystanie z synonimoacutew

rozroacuteżnianie danych na podstawie kontekstu ich znaczenia

ekstrahowanie informacji z roacuteżnych źroacutedeł i ich automatyczna integracja

prezentowanie tylko istotnych danych z punktu widzenia użytkownika

wraz z możliwością

wyjaśnienia podjętych przez komputer działańwnioskoacutew

przeprowadzanie wnioskowania na danych opisanych semantycznie co

skutkuje uzyskaniem nowych informacji (ktoacutere nie były dotychczas

jawnie zapisane) a te z kolei poddane procesom wnioskowania mogą

prowadzić do uzyskania kolejnych nowych faktoacutew itd

wprowadzanie wiedzy zawartej w dokumentach danego typu przez co

ułatwiłoby to zarządzanie dokumentami oraz informacją a także

prowadziło do utrzymywania niesprzeczności i aktualności

gromadzonych danych

automatyczną generację dokumentoacutew opisanych semantycznie

automatyczną generację stron WWW opisanych semantycznie bez

udziału użytkownika (wiedza służąca do opisu strony czerpana jest z

semantyki zawartej w ontologii)rdquoCytat 6 (6)

44 Linked Data Linked Data to dane powiązane czyli sposoacuteb opisywania danych zaproponowany przez Timrsquoa

Bernersrsquoa Lee w swoim artykule z 2007 roku Poprzez wiązanie danych ze sobą można

utworzyć ich sieć a żeby to zrobić należy zamieszczając coś w sieci WWW postępować wg 4

krokoacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

9

Rys 1ndash bdquoLinked Datardquo ndash opracowano na podstawie artykułu Linked Data autorstwa Tima

Bernersrsquoa Lee (7)

Ma to na celu umożliwić ustrukturyzowanie rzeczy w sieci w postaci meta-danych ndash czyli

danych-informacji o elementach ktoacuterych dotyczą Berners Lee utworzył też 5-stopniowy

model oceny zamieszczonych danych

ndash Jedna gwiazdka należy się gdy dane dostępne są w sieci na zasadzie otwartej

licencji

ndash Dwie gwiazdki gdy dane są w postaci czytelnej dla maszyn Np tabelka

ndash Trzy gwiazdki gdy te dane są w postaci czytelnej dla maszyn i obsługiwanym

formacie

ndash Cztery gwiazdki gdy zastosowane są standardy W3C Metadane w postaci RDF

dzięki ktoacuterej inni użytkownicy mogą wykorzystać URI do powiązania swoich danych

ndash Pięć gwiazdek gdy powiązano swoje dane z innymi innych użytkownikoacutew sieci

(7)

Pięciogwiazdkowy przykład użycia Linked Data

Poniżej przedstawiony przykład pochodzi ze strony informującej o zasadach Linked Data (8) Dotyczy on

prognozy pogody dla Galway w Irlandii Zasoacuteb został zatytuowany znacznikiem dctitle twoacuterca jest powiązany

za pomocą dctermscreator są też informacje o datach utworzenia i modyfikacji

bdquorarr dctitle rarr Temperature forecast for Galway Ireland

rarr xhtmlstylesheet rarr http5stardatainfocssstylecss

rarr dctermstitle rarr Temperature forecast for Galway Ireland

rarr dctermscreated rarr 2012-01-22^^xsddate

1 Używaj URI jako nazw dla rzeczy

2 Używaj URI Http aby ludzie mogli podejrzeć zawartość nazw

3 Gdy ktoś wejdzie przez Twoje URI zapewnij informacje o danych w postaci RDF (SPARQL)

4 Podłączaj inne URI aby można było odkryć więcej powiązanych rzeczy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

10

rarr dctermscreator rarr httpmhausenblasinfoi

rarr dctermsmodified rarr 2015-08-31^^xsddate

rarr dctermscontributor rarr httpjaygme

rarr dctermslicense rarr httpcreativecommonsorgpublicdomainzero10rdquo (8)

45 Standardy techniczne sieci semantycznej Sieć semantyczna będzie rozwinięciem aktualnej sieci WWW poprzez warstwowe dodawanie

stadardoacutew i technologii umożliwiających opisywanie i analizowanie zasoboacutew poprzez

tworzenie metadanych ndash danych o danych Proces taki jest tworzeniem stosu semantycznego

Rys2 - bdquoStos semantycznyrdquo ndash autor Tim Berners-Lee źroacutedło

httpwwww3org2000Talks1206-xml2k-tblslide10-0html data pobrania 23062015

46 RDF ndash Resource Description Framework RDF jest modelem opisu zasoboacutew i związkoacutew między nimi gdzie zasoacuteb to wszystko co można

zidentyfikować za pomocą URI

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

11

RDF jest sposobem opisywania zasoboacutew sieci Web bazującym na XML lecz jego rozszenie to

rdf

Rys 3 - bdquoPrzykład opisu w modelu RDFrdquo źroacutedło

httpsplwikipediaorgwikiResource_Description_FrameworkmediaFileModel_RDF_-

_diagram_wyraC5BCeC584png data pobrania 23062015

RDF Składa się z 3 głownych elementoacutew tworzących całość ndash Zasoacuteb właściwość wartość

Każdy element takiej troacutejki jest reprezentowany przez URI Graficzną reprezentacją RDF byłby

graf złożony z 3 wierzchołkoacutew i krawędzi Wnioskowanie w przypadku RDF polega na

tworzeniu nowych troacutejek na podstawie tych ktoacutere są już znane

Rys 4 ndash bdquoLogo rdf symbolizujące troacutejkęrdquo Źroacutedło httpstsisswordpresscomtagrdf data

pobrania 23062015

Sposoacuteb zapisu jest analogiczny do XML rozszerzony o znaczniki rdf

ltxml version=10gt

ltrdfRDF

xmlnsrdf=httpwwww3org19990222-rdf-syntax-ns

xmlnssi=httpwwww3schoolscomrdfgt

ltrdfDescription rdfabout=httpwwww3schoolscomgt

ltsititlegtW3Schoolscomltsititlegt

ltsiauthorgtJan Egil Refsnesltsiauthorgt

ltrdfDescriptiongt

ltrdfRDFgt

Przykład RDF źroacutedło httpwwww3schoolscomwebservicesws_rdf_exampleasp data

pobrania 23062015

47 RDFS ndash RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danychndash słownikoacutew RDF RDFS

umożliwia definiowanie własnych klas do ktoacuterych należą wierzchołki grafoacutew i ich

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

8

Sieć Semantyczną dobrze opisują standardy ustalone przez W3C ndash Konsorcjum organizacja

nadająca kształt World Wide Web założona przez Timrsquoa Bernersrsquoa Lee Standardy założone

przez W3C dotyczą

Struktur stron WWW

Narzędzi do generowania stron i obsługi po stronie użytkownika

Protokołoacutew przesyłu danych

Celem W3C jest osiągnięcie ustrukturyzowanej poukładanej architektonicznie sieci co ułatwia

weryfikację i analizę zawartości jednocześnie zapewniając dobrą obsługę techniczną - stron

przez przeglądarki i inne narzędzia internetowe

43 Zastosowania Sieci Semantycznej

bdquowyszukiwanie informacji na podstawie znaczenia haseł wpisywanych w

wyszukiwarce a nie tylko po słowach kluczowych co często skutkuje

błędnymi odpowiedziami i uniemożliwia

korzystanie z synonimoacutew

rozroacuteżnianie danych na podstawie kontekstu ich znaczenia

ekstrahowanie informacji z roacuteżnych źroacutedeł i ich automatyczna integracja

prezentowanie tylko istotnych danych z punktu widzenia użytkownika

wraz z możliwością

wyjaśnienia podjętych przez komputer działańwnioskoacutew

przeprowadzanie wnioskowania na danych opisanych semantycznie co

skutkuje uzyskaniem nowych informacji (ktoacutere nie były dotychczas

jawnie zapisane) a te z kolei poddane procesom wnioskowania mogą

prowadzić do uzyskania kolejnych nowych faktoacutew itd

wprowadzanie wiedzy zawartej w dokumentach danego typu przez co

ułatwiłoby to zarządzanie dokumentami oraz informacją a także

prowadziło do utrzymywania niesprzeczności i aktualności

gromadzonych danych

automatyczną generację dokumentoacutew opisanych semantycznie

automatyczną generację stron WWW opisanych semantycznie bez

udziału użytkownika (wiedza służąca do opisu strony czerpana jest z

semantyki zawartej w ontologii)rdquoCytat 6 (6)

44 Linked Data Linked Data to dane powiązane czyli sposoacuteb opisywania danych zaproponowany przez Timrsquoa

Bernersrsquoa Lee w swoim artykule z 2007 roku Poprzez wiązanie danych ze sobą można

utworzyć ich sieć a żeby to zrobić należy zamieszczając coś w sieci WWW postępować wg 4

krokoacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

9

Rys 1ndash bdquoLinked Datardquo ndash opracowano na podstawie artykułu Linked Data autorstwa Tima

Bernersrsquoa Lee (7)

Ma to na celu umożliwić ustrukturyzowanie rzeczy w sieci w postaci meta-danych ndash czyli

danych-informacji o elementach ktoacuterych dotyczą Berners Lee utworzył też 5-stopniowy

model oceny zamieszczonych danych

ndash Jedna gwiazdka należy się gdy dane dostępne są w sieci na zasadzie otwartej

licencji

ndash Dwie gwiazdki gdy dane są w postaci czytelnej dla maszyn Np tabelka

ndash Trzy gwiazdki gdy te dane są w postaci czytelnej dla maszyn i obsługiwanym

formacie

ndash Cztery gwiazdki gdy zastosowane są standardy W3C Metadane w postaci RDF

dzięki ktoacuterej inni użytkownicy mogą wykorzystać URI do powiązania swoich danych

ndash Pięć gwiazdek gdy powiązano swoje dane z innymi innych użytkownikoacutew sieci

(7)

Pięciogwiazdkowy przykład użycia Linked Data

Poniżej przedstawiony przykład pochodzi ze strony informującej o zasadach Linked Data (8) Dotyczy on

prognozy pogody dla Galway w Irlandii Zasoacuteb został zatytuowany znacznikiem dctitle twoacuterca jest powiązany

za pomocą dctermscreator są też informacje o datach utworzenia i modyfikacji

bdquorarr dctitle rarr Temperature forecast for Galway Ireland

rarr xhtmlstylesheet rarr http5stardatainfocssstylecss

rarr dctermstitle rarr Temperature forecast for Galway Ireland

rarr dctermscreated rarr 2012-01-22^^xsddate

1 Używaj URI jako nazw dla rzeczy

2 Używaj URI Http aby ludzie mogli podejrzeć zawartość nazw

3 Gdy ktoś wejdzie przez Twoje URI zapewnij informacje o danych w postaci RDF (SPARQL)

4 Podłączaj inne URI aby można było odkryć więcej powiązanych rzeczy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

10

rarr dctermscreator rarr httpmhausenblasinfoi

rarr dctermsmodified rarr 2015-08-31^^xsddate

rarr dctermscontributor rarr httpjaygme

rarr dctermslicense rarr httpcreativecommonsorgpublicdomainzero10rdquo (8)

45 Standardy techniczne sieci semantycznej Sieć semantyczna będzie rozwinięciem aktualnej sieci WWW poprzez warstwowe dodawanie

stadardoacutew i technologii umożliwiających opisywanie i analizowanie zasoboacutew poprzez

tworzenie metadanych ndash danych o danych Proces taki jest tworzeniem stosu semantycznego

Rys2 - bdquoStos semantycznyrdquo ndash autor Tim Berners-Lee źroacutedło

httpwwww3org2000Talks1206-xml2k-tblslide10-0html data pobrania 23062015

46 RDF ndash Resource Description Framework RDF jest modelem opisu zasoboacutew i związkoacutew między nimi gdzie zasoacuteb to wszystko co można

zidentyfikować za pomocą URI

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

11

RDF jest sposobem opisywania zasoboacutew sieci Web bazującym na XML lecz jego rozszenie to

rdf

Rys 3 - bdquoPrzykład opisu w modelu RDFrdquo źroacutedło

httpsplwikipediaorgwikiResource_Description_FrameworkmediaFileModel_RDF_-

_diagram_wyraC5BCeC584png data pobrania 23062015

RDF Składa się z 3 głownych elementoacutew tworzących całość ndash Zasoacuteb właściwość wartość

Każdy element takiej troacutejki jest reprezentowany przez URI Graficzną reprezentacją RDF byłby

graf złożony z 3 wierzchołkoacutew i krawędzi Wnioskowanie w przypadku RDF polega na

tworzeniu nowych troacutejek na podstawie tych ktoacutere są już znane

Rys 4 ndash bdquoLogo rdf symbolizujące troacutejkęrdquo Źroacutedło httpstsisswordpresscomtagrdf data

pobrania 23062015

Sposoacuteb zapisu jest analogiczny do XML rozszerzony o znaczniki rdf

ltxml version=10gt

ltrdfRDF

xmlnsrdf=httpwwww3org19990222-rdf-syntax-ns

xmlnssi=httpwwww3schoolscomrdfgt

ltrdfDescription rdfabout=httpwwww3schoolscomgt

ltsititlegtW3Schoolscomltsititlegt

ltsiauthorgtJan Egil Refsnesltsiauthorgt

ltrdfDescriptiongt

ltrdfRDFgt

Przykład RDF źroacutedło httpwwww3schoolscomwebservicesws_rdf_exampleasp data

pobrania 23062015

47 RDFS ndash RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danychndash słownikoacutew RDF RDFS

umożliwia definiowanie własnych klas do ktoacuterych należą wierzchołki grafoacutew i ich

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

9

Rys 1ndash bdquoLinked Datardquo ndash opracowano na podstawie artykułu Linked Data autorstwa Tima

Bernersrsquoa Lee (7)

Ma to na celu umożliwić ustrukturyzowanie rzeczy w sieci w postaci meta-danych ndash czyli

danych-informacji o elementach ktoacuterych dotyczą Berners Lee utworzył też 5-stopniowy

model oceny zamieszczonych danych

ndash Jedna gwiazdka należy się gdy dane dostępne są w sieci na zasadzie otwartej

licencji

ndash Dwie gwiazdki gdy dane są w postaci czytelnej dla maszyn Np tabelka

ndash Trzy gwiazdki gdy te dane są w postaci czytelnej dla maszyn i obsługiwanym

formacie

ndash Cztery gwiazdki gdy zastosowane są standardy W3C Metadane w postaci RDF

dzięki ktoacuterej inni użytkownicy mogą wykorzystać URI do powiązania swoich danych

ndash Pięć gwiazdek gdy powiązano swoje dane z innymi innych użytkownikoacutew sieci

(7)

Pięciogwiazdkowy przykład użycia Linked Data

Poniżej przedstawiony przykład pochodzi ze strony informującej o zasadach Linked Data (8) Dotyczy on

prognozy pogody dla Galway w Irlandii Zasoacuteb został zatytuowany znacznikiem dctitle twoacuterca jest powiązany

za pomocą dctermscreator są też informacje o datach utworzenia i modyfikacji

bdquorarr dctitle rarr Temperature forecast for Galway Ireland

rarr xhtmlstylesheet rarr http5stardatainfocssstylecss

rarr dctermstitle rarr Temperature forecast for Galway Ireland

rarr dctermscreated rarr 2012-01-22^^xsddate

1 Używaj URI jako nazw dla rzeczy

2 Używaj URI Http aby ludzie mogli podejrzeć zawartość nazw

3 Gdy ktoś wejdzie przez Twoje URI zapewnij informacje o danych w postaci RDF (SPARQL)

4 Podłączaj inne URI aby można było odkryć więcej powiązanych rzeczy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

10

rarr dctermscreator rarr httpmhausenblasinfoi

rarr dctermsmodified rarr 2015-08-31^^xsddate

rarr dctermscontributor rarr httpjaygme

rarr dctermslicense rarr httpcreativecommonsorgpublicdomainzero10rdquo (8)

45 Standardy techniczne sieci semantycznej Sieć semantyczna będzie rozwinięciem aktualnej sieci WWW poprzez warstwowe dodawanie

stadardoacutew i technologii umożliwiających opisywanie i analizowanie zasoboacutew poprzez

tworzenie metadanych ndash danych o danych Proces taki jest tworzeniem stosu semantycznego

Rys2 - bdquoStos semantycznyrdquo ndash autor Tim Berners-Lee źroacutedło

httpwwww3org2000Talks1206-xml2k-tblslide10-0html data pobrania 23062015

46 RDF ndash Resource Description Framework RDF jest modelem opisu zasoboacutew i związkoacutew między nimi gdzie zasoacuteb to wszystko co można

zidentyfikować za pomocą URI

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

11

RDF jest sposobem opisywania zasoboacutew sieci Web bazującym na XML lecz jego rozszenie to

rdf

Rys 3 - bdquoPrzykład opisu w modelu RDFrdquo źroacutedło

httpsplwikipediaorgwikiResource_Description_FrameworkmediaFileModel_RDF_-

_diagram_wyraC5BCeC584png data pobrania 23062015

RDF Składa się z 3 głownych elementoacutew tworzących całość ndash Zasoacuteb właściwość wartość

Każdy element takiej troacutejki jest reprezentowany przez URI Graficzną reprezentacją RDF byłby

graf złożony z 3 wierzchołkoacutew i krawędzi Wnioskowanie w przypadku RDF polega na

tworzeniu nowych troacutejek na podstawie tych ktoacutere są już znane

Rys 4 ndash bdquoLogo rdf symbolizujące troacutejkęrdquo Źroacutedło httpstsisswordpresscomtagrdf data

pobrania 23062015

Sposoacuteb zapisu jest analogiczny do XML rozszerzony o znaczniki rdf

ltxml version=10gt

ltrdfRDF

xmlnsrdf=httpwwww3org19990222-rdf-syntax-ns

xmlnssi=httpwwww3schoolscomrdfgt

ltrdfDescription rdfabout=httpwwww3schoolscomgt

ltsititlegtW3Schoolscomltsititlegt

ltsiauthorgtJan Egil Refsnesltsiauthorgt

ltrdfDescriptiongt

ltrdfRDFgt

Przykład RDF źroacutedło httpwwww3schoolscomwebservicesws_rdf_exampleasp data

pobrania 23062015

47 RDFS ndash RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danychndash słownikoacutew RDF RDFS

umożliwia definiowanie własnych klas do ktoacuterych należą wierzchołki grafoacutew i ich

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

10

rarr dctermscreator rarr httpmhausenblasinfoi

rarr dctermsmodified rarr 2015-08-31^^xsddate

rarr dctermscontributor rarr httpjaygme

rarr dctermslicense rarr httpcreativecommonsorgpublicdomainzero10rdquo (8)

45 Standardy techniczne sieci semantycznej Sieć semantyczna będzie rozwinięciem aktualnej sieci WWW poprzez warstwowe dodawanie

stadardoacutew i technologii umożliwiających opisywanie i analizowanie zasoboacutew poprzez

tworzenie metadanych ndash danych o danych Proces taki jest tworzeniem stosu semantycznego

Rys2 - bdquoStos semantycznyrdquo ndash autor Tim Berners-Lee źroacutedło

httpwwww3org2000Talks1206-xml2k-tblslide10-0html data pobrania 23062015

46 RDF ndash Resource Description Framework RDF jest modelem opisu zasoboacutew i związkoacutew między nimi gdzie zasoacuteb to wszystko co można

zidentyfikować za pomocą URI

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

11

RDF jest sposobem opisywania zasoboacutew sieci Web bazującym na XML lecz jego rozszenie to

rdf

Rys 3 - bdquoPrzykład opisu w modelu RDFrdquo źroacutedło

httpsplwikipediaorgwikiResource_Description_FrameworkmediaFileModel_RDF_-

_diagram_wyraC5BCeC584png data pobrania 23062015

RDF Składa się z 3 głownych elementoacutew tworzących całość ndash Zasoacuteb właściwość wartość

Każdy element takiej troacutejki jest reprezentowany przez URI Graficzną reprezentacją RDF byłby

graf złożony z 3 wierzchołkoacutew i krawędzi Wnioskowanie w przypadku RDF polega na

tworzeniu nowych troacutejek na podstawie tych ktoacutere są już znane

Rys 4 ndash bdquoLogo rdf symbolizujące troacutejkęrdquo Źroacutedło httpstsisswordpresscomtagrdf data

pobrania 23062015

Sposoacuteb zapisu jest analogiczny do XML rozszerzony o znaczniki rdf

ltxml version=10gt

ltrdfRDF

xmlnsrdf=httpwwww3org19990222-rdf-syntax-ns

xmlnssi=httpwwww3schoolscomrdfgt

ltrdfDescription rdfabout=httpwwww3schoolscomgt

ltsititlegtW3Schoolscomltsititlegt

ltsiauthorgtJan Egil Refsnesltsiauthorgt

ltrdfDescriptiongt

ltrdfRDFgt

Przykład RDF źroacutedło httpwwww3schoolscomwebservicesws_rdf_exampleasp data

pobrania 23062015

47 RDFS ndash RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danychndash słownikoacutew RDF RDFS

umożliwia definiowanie własnych klas do ktoacuterych należą wierzchołki grafoacutew i ich

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

11

RDF jest sposobem opisywania zasoboacutew sieci Web bazującym na XML lecz jego rozszenie to

rdf

Rys 3 - bdquoPrzykład opisu w modelu RDFrdquo źroacutedło

httpsplwikipediaorgwikiResource_Description_FrameworkmediaFileModel_RDF_-

_diagram_wyraC5BCeC584png data pobrania 23062015

RDF Składa się z 3 głownych elementoacutew tworzących całość ndash Zasoacuteb właściwość wartość

Każdy element takiej troacutejki jest reprezentowany przez URI Graficzną reprezentacją RDF byłby

graf złożony z 3 wierzchołkoacutew i krawędzi Wnioskowanie w przypadku RDF polega na

tworzeniu nowych troacutejek na podstawie tych ktoacutere są już znane

Rys 4 ndash bdquoLogo rdf symbolizujące troacutejkęrdquo Źroacutedło httpstsisswordpresscomtagrdf data

pobrania 23062015

Sposoacuteb zapisu jest analogiczny do XML rozszerzony o znaczniki rdf

ltxml version=10gt

ltrdfRDF

xmlnsrdf=httpwwww3org19990222-rdf-syntax-ns

xmlnssi=httpwwww3schoolscomrdfgt

ltrdfDescription rdfabout=httpwwww3schoolscomgt

ltsititlegtW3Schoolscomltsititlegt

ltsiauthorgtJan Egil Refsnesltsiauthorgt

ltrdfDescriptiongt

ltrdfRDFgt

Przykład RDF źroacutedło httpwwww3schoolscomwebservicesws_rdf_exampleasp data

pobrania 23062015

47 RDFS ndash RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danychndash słownikoacutew RDF RDFS

umożliwia definiowanie własnych klas do ktoacuterych należą wierzchołki grafoacutew i ich

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

12

właściwości RDF Zależności pomiędzy wierzchołkami a właściwiościami umożliwiają

wnioskowanie

Rys 5 ndash bdquoGraf pokazujący roacuteżnice między RDF i RDFSrdquo Źroacutedło

httprhizomiknethtml~robertothesisfiguresRDFSchemapng pobrano dnia 23062015

471 Struktura RDFS ndash podstawowe konstruktory

Język RDF i RDFS posiada wiele konkstruktoroacutew dotyczących klas i ich własności Poniżej

przedstawione są te pozwalające zrozumieć zapis bazowych elementoacutew składni

bdquordfsResource ndash zasoacuteb nazywa wszystkie rzeczy opisywane przez RDF są one

instancjami tej klasy ktoacutera jest klasą wszystkiego i wszystkie inne klasy są jej

podklasami rdfsResource jest instancją rdfsClass

rdfsClass ndash jest klasą zasoboacutew będących klasami RDF

rdfsLiteral ndash jest klasą wartości liczbowo-literowych takich jak integer czy string

Wartości liczbowo-literowe mogą być proste lub mieć pewien typ Te posiadające typ

są instancjami klasy typoacutew danych rdfsLiteral jest instancją rdfsClass i podklasą

rdfsResource

rdfsDatatype ndash klasa typoacutew danych Wszystkie jej instancje korespondują z modelem

typoacutew danych RDF rdfsDatatype jest zaroacutewno instancją jak i podklasą rdfsClass

Każda jej instancja jest podklasą rdfsLiteral

rdfXMLLiteral ndash klasa wartości liczbowo-literowych XML Jest instancją

rdfsDatatype i podklasą rdfsLiteral

rdfProperty ndash klasa właściwości RDF jest instancją rdfsClassbdquo (4)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

13

48 OWL ndash Web Ontology Language

Rys 6 bdquoOWL logordquo źroacutedło - httpwebontorgowl11imagesowlpng

OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na

ich temat w postaci ontologii ndash zbioru pojęć i opisoacutew relacji zachodzącymi pomiędzy tymi

pojęciami w zakresie danej i ustalonej dziedziny Pojęciom w zależności od wspoacutelnych cech

tworzy się klasy ktoacutere ułożone są w postaci hierarchii klas Oproacutecz struktury język ten

roacutewnież umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektoacutew

co w całości daje bogatą bazę wiedzy Daje to o wiele większe możliwości w zakresie

wnioskowania dzięki łączeniu opisoacutew w spoacutejne porcje informacji dotyczące

ustrukturyzowanych istniejących zasoboacutew Semantyka (rzeczywiste znaczenie elementoacutew)

języka OWL oparta jest na logice deskrypcyjnej Forma składniowa języka oparta jest na XML

i obsługuje wiele formatoacutew z ktoacuterych czerpie rdf rdfs n3 Obecną wersją języka jest OWL

20 (10)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

14

ltDOCTYPE Ontology [

ltENTITY xsd httpwwww3org2001XMLSchema gt

ltENTITY vin httpwwwexampleorgwine gt

ltENTITY food httpwwwexampleorgfood gt ]gt

ltowlxOntology owlxname=httpwwwexampleorgwine

xmlnsowlx=httpwwww3org200305owl-xmlgt

lt-- OWL statements --gt

ltowlxOntologygt

Przykład kodu OWL ndash źroacutedło httpwwww3orgTRowl-xmlsyntaxapd-examplehtml data

pobrania 23062015

49 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokoacuteł i język zapytań dla RDF Używany jest do

wyszukiwania danych z plikoacutew rdf podobnie jak zapytania SQL dla baz danych

Przykład kodu

PREFIX dc lthttpdocsorgelementsgt

SELECT title

WHERE lthttpbooksorgbookgt dctitle title

5 Web 30

51 Pojęcie Web 30 jest następcą Web 20 czyli następcą aktualnie działającego World Wide Web poprzez

zmianę charakterystyki i sposobu korzystania z sieci internetowej

Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o roacuteżnice miedzy 20 a 30 moacutewi

bdquo[hellip]Powszechny problem ktoacutery dotyczy zasoboacutew w wersji 20 jest taki że

informacje ktoacutere oglądamy nie znajdują się na witrynie a w bazie danych Tak

naprawdę one nie są w sieci Web A więc ludzie nie mogą ich wykorzystać

ponownie i przetworzyć Możesz mieć profesjonalną stronę WWW z

informacjami o twoich przyjaciołach kolegach i ludziach z ktoacuterymi pracujesz

oraz trafić na inną stronę WWW dotyczącą innych społeczności Przy Web 20

nie masz pełnego obrazu nikt nie ma pełnego obrazu Niektoacuterzy twierdzą że

Web 30 nastąpi wtedy gdy twoja witryna pokaże dane ktoacutere możesz w

dowolny sposoacuteb dostosować do swoich potrzeb Na przykład jeśli jakiś z

serwisoacutew ktoacutere korzystają z technologii Web będzie zawierał istotne dane

dotyczące jednego z moich przyjacioacuteł to ja będę moacutegł rozkazać komputerowi

Pobierz te informacje przejrzyj je i dodaj do danych ktoacutere mam na ten temat

z innych witryn Następnie przedstaw tę osobę z szerszej perspektywy

[hellip]Cytat 7 (11)

Aby Web w wersji 30 był w stanie zrozumieć użytkownika i dopasować przeanalizować i

wyświetlić odpowiednie dla niego treści wymaga czegoś co pozwoliłoby działać na danych

Tym czymś może być właśnie sieć semantyczna Określeniem Web 30 można nazwać więc

sposoacuteb korzystania z internetu opartego o sieć semantyczną (12)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

15

ŹroacutedłoPiotr Zalewski bdquoTim Berners-Lee o potędze Sieci semantycznejrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

16

Rys 8 Oś czasu ewolucji w technologiach Web Źroacutedło ndash radarnetworkscom pobrano dnia

23062015

WEB 10 WEB 20 WEB 30

KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana

INFORMACJA Statyczna Dynamiczna Osobista

SKUPIENIE NA Organizacje Grupy ludzi Indywidualne

OSOBISTE Strony internetowe Blogi Strumienie

ZAWARTOŚĆ Własnościowa Udostępniana Asystowana

INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart

WYSZUKIWANIE Słowniki Słowa-klucze tagi Kontekst istotność

MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie

użytkownika

REKLAMA Bannery Interaktywna Behawioralna

BAZA WIEDZY Britannica Wikipedia Sieć semantyczna

TECHNOLOGIE HTMLFTP XMLRSS RDFSOWL

Tabela 1 - Tabela roacuteżnic pomiędzy Web 10 20 i 30 Opracowana na podstawie

httpsflatworldbusinessfileswordpresscom201011dia85jpg pobrano dnia 23062015

Analizując powyższą tabelę można wymienić roacuteżnice pomiędzy aktualnym stanem sieci a

oczekiwanym web 30 ktoacutery będzie przede wszystkim nastawiony na pojedynczego

użytkownika sieci nie jak w przypadku 20 ndash grupy odbiorcoacutew Korzystając z sieci można

zauważyć że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 30

lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głoacutewnym rdzeniem sieci przez

co użytkownik nie może się bdquoporozumiećrdquo z siecią w pełnym zakresie Zastanawiając się nad

sposobem korzystania z Web 30 wyobrazić można sobie uzyskiwanie wiedzy z asystentem

ktoacutery proacutebuje zrozumieć czego chcemy lub potrzebujemy a nawet o tym nie wiedząc

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

17

6 Wnioskowanie semantyczne

Znając dziedzinę ndash sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej

adekwatne Narzędziem programowym ndash silnikiem ktoacutery jest w stanie jest wnioskować na

podstawie zdań przesłanek aksjomatoacutew w standardach sieci semantycznej jest bdquoSemantic

Reasonerrdquo (13) Sposoacuteb działania takiego silnika umożliwiają semantyka językoacutew ndash ontologii

(OWL) i opisowe (RDFS) OWL jest językiem ktoacutery dzięki ontologii pozwala na więcej

możliwości wnioskowania niż RDFS

61 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji ktoacutere umożliwiają wnioskowanie Zawierają się

tutaj wszystkie własności dla RDFRDFS Część z nich jest analogiczna to matematycznych

własności relacji ktoacutere można opisać następująco

Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami )

Nazwa własności owlTransitiveProperty

Reguła (z matematyki) Jeśli zachodzi relacja pomiędzy (xy) i (yz) to zachodzi relacja

pomiędzy (xz)

Tożsamość ( Wnioskowanie że dwa węzły są takie same )

Nazwa własności owlsameAs

Reguła Jeśli 2 węzły spełniają tą samą funkcję ktoacutera może być spełniana jednorazowo

to są to są one tym samym węzłem

Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami)

Reguła Jeśli zachodzi relacja (xy) to zachodzi też relacja (yx) ndash Relacja

dwukierunkowa

Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii )

Reguła odwrotność symetrii ndash jeśli zachodzi relacja (xy) to nie zachodzi relacja (yx)

Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą )

Reguła Jeśli zachodzi relacja (xy) to zachodzi także (xx)

Bezzwrotność ( Zapobiega refleksyjności )

Reguła Jeśli zachodzi relacja (xy) to nie zachodzi relacja (xx)

Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami )

Nazwa własności owlpropertyChain

Reguła Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy

klasy

Jeśli zachodzi relacja pomiędzy R1(xy) i R1(yz) to zachodzi relacja R2(xz)

Złożona( Połączenie zwrotności przechodniości i symetrii )

Reguła Własności relacji można składać tworząc relacje złożone

62 Własności RDFRDFS umożliwiające wnioskowanie ndash Przykłady

Poniżej przedstawione są przykłady wykorzystania składni RDFRDFS dla wnioskowania (14)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

18

621 Dziedziczenie typu przez podklasę - rdfssubclassOf

Aksjomaty Pies typu Azor Pies to podklasa Ssak

(rdftype Azor Pies)

(rdfssubClassOf Pies Ssak)

Wywnioskowane Azor typu Ssak

(rdftype Azor Ssak)

622 Zwrotność przez podwłaściwość rdfssubPropertyOf i podklasę rdfssubclassOf

Dla każdej właściwości p (rdfProperty p)

Wywnioskowane (rdfssubPropertyOf p p)

Dla każdej klasy C (rdfsclass C )

Wywnioskowane (rdfssubClassOf C C)

623 Wnioskowanie typu przez zakres rdfsrange i domenę rdfsdomain

Aksjomaty domena - Nauczyciel uczy zakres - uczy Studenta Jan uczy Tomka

(rdfsdomain uczy Jan)

(rdfsrange uczy Student)

(teaches Jan Student)

Wywnioskowano Jan typu Nauczyciel Tomek typu Student (rdftype Jan Nauczyciel)

(rdftype Tomek Student)

624 Przechodniość podklasy rdfssubClassOf i podwłaściwości rdfssubPropertyOf

Aksjomaty Pies to podklasa Ssak Ssak to podklasa Zwierze

(rdfssubClassOf Pies Ssak)

(rdfssubClassOf Ssak Zwierze)

Wywnioskowane Pies to Podklasa Zwierze (rdfssubClassOf Dog Animal)

Analogicznie dla podwłaściwości (właściwości ktoacutera dziedziczy po właściwości)

(rdfssubPropertyOf rodzic przodek)

(rdfssubPropertyOf przodek krewny)

Wywnioskowano (rdfssubPropertyOf rodzic krewny)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

19

63 OWL Własności umożliwiające wnioskowanie - Przykłady

OWL dziedziczy po niższej warstwie stosu semantycznego ndash RDFS ktoacutere dziedziczy po RDF

itd Podobnie dzieje się z własnościami ktoacutere są wstecznie-zgodne ndash OWL obsługuje

wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o

poniższe własności (14)

631 Przechodniość - owlTransitiveProperty

Aksjomaty (rdftype przodek owlTransitiveProperty)

(przodek Jan Tomasz)

(przodek Tomasz Adam)

Wywnioskowano (przodek Jan Adam)

632 Symetria - owlSymmetricProperty

Symetrie można uzyskać używając własności odwrotność - owlinverseOf

Aksjomaty Odwrotnością relacji bycia rodzicem jest posiadanie rodzica Jolanta to rodzic

Marii (owlinverseOf toRodzic maRodzica)

(toRodzic Jolanta Maria)

Wywnioskowano Maria ma rodzica Jolantę

(maRodzica Maria Jolanta)

633 Dziedziczenie rozdzielności - owldisjointWith

Aksjomaty Napoacutej i Posiłek są rozdzielne Sok to podklasa Napoju

(owldisjointWith Posiłek Napoacutej)

(rdfssubClassOf Sok Napoacutej)

Wywnioskowano Klasy Posiłek i Sok są rozdzielne

(owldisjointWith Posiłek Sok)

634 Wnioskowanie o roacutewnowartości - owlequivalentClass owlequivalentProperty

Kiedy występuje relacja owlsameAs pomiędzy dwoma klasami wnioskuje się

własność owlequivalentClass pomiędzy nimi Gdy owlsameAs występuje

między dwoma własnościami to wnioskuje się własność owlequivalentProperty

Aksjomaty Człowiek to to samo co Osoba Człowiek to klasa Osoba to klasa (owlsameAs Człowiek Osoba)

(rdftype Człowiek rdfsClass)

(rdftype Osoba rdfsClass)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

20

Wywnioskowano Człowiek i Osoba to klasy roacutewnowarte (owlequivalentClass Człowiek Osoba)

635 Rozdzielność na podstawie dopełnienia klasy - owlcomplementOf

Wszystkie podklasy są rozdzielne z jej dopełniemiem

Aksjomaty Dopełnieniem Liczb dodatnich są ujemne

(owlcomplementOf Dodatnie Ujemne)

(rdfssubClassOf Dodatnie Całkowite)

Wywnioskowano Liczby całkowite i Ujemne są rodzielne (owldisjointWith Całkowite Ujemne)

636 Ograniczenie wartości - owlRestriction

Jeżeli obiekt jest instancją klasy (posiada typ) rdftype posiada

wartość owlhasValue i ograniczenie owlRestriction znaczy to że

konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem

Aksjomaty Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego

OgraniczenieSezonuŁowieckiego to Marzec Klasa SezonŁowiecki posiwada

OgraniczenieSezonuŁowieckiego

(owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Wywnioskowano Wartość właściwości miesiąc SezonuŁowieckiego to Marzec

(miesiąc SezonŁowiecki Marzec)

Działa to roacutewnież w drugą stronę ndash jeżeli obiekt posiada wartość właściwości

owlhasValue zgodną z ograniczeniem owlRestriction to wtedy typ

obiektu rdftype spełnia to ograniczenie

Aksjomaty (owlonProperty OgraniczenieSezonuŁowieckiego miesiąc)

(owlhasValue OgraniczenieSezonuŁowieckiego Marzec)

(miesiąc SezonŁowiecki Marzec)

Wywnioskowano (rdftype SezonŁowiecki OgraniczenieSezonuŁowieckiego)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

21

64 Reasonery Narzędzia programowe typu Reasoner (bdquoreasoningrdquo ndash ang Rozumowanie) to silniki

wnioskujące ndash automatyzują proces wnioskowania na podstrawie języka OWL Zbierają i

analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy ich instancje

podklasy nadklasy W wyniku zadania wnioskowania wykonują klasyfikację istniejących

obiektoacutew przypisują im właściwości modyfikują i tworzą hierarchie klas zgodnie z

własnościami regułami i ograniczeniami OWL (15)

Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są min

ELK

jcel

FaCT++

HermiT

Pellet

641 Działanie reasonera

Reasoner działa na wczytanej uprzednio ontologii z pliku OWL zbiera informacje dotyczące

aksjomatoacutew klas i ich instancji Gdy zostanie wywołana metoda klasyfikacji reasoner

wykonuje trzy kroki-testy

1 NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii ndash czyli struktura

relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami z ontologii Dodatkowo

sprawdzane są założenia dotyczące np wykluczenia istnienia instancji dwoacutech

rozdzielnych klas jednocześnie Np bdquoMariardquo nie może być jednocześnie instancją klasy

bdquomężczyznardquo i bdquokobietardquo Jeśli proacuteba udaje się bez przeszkoacuted ndash reasoner przechodzi do

następnego kroku

2 SPEŁNIALNOŚĆ - Dla każdego elementu pośroacuted klas ktoacutere występują w ontologii

reasoner sprawdza czy istnieje model ontologii w ktoacuterym znajduje się instancja

elementu i struktura relacyjna ktoacutera jest zgodna ze wszystkimi aksjomatami ontologii

Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas

3 SUBSUMCJA - Dla każdych dwoacutech klas ktoacutere znajdują się w ontologii sprawdzane

jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich

jest roacutewnież instancją drugiej Sprawdzane jest czy bardziej ogoacutelna klasa jest nadklasą

konkretnej klasy w hierarchii

642 Podział reasoneroacutew

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

22

6421 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w

postaci klas relacji i instancji Opis faktoacutew z danej dziedziny w jednolity sposoacuteb umożliwia

ich interpretację i automatyczne wnioskowanie Baza wiedzy zawartej w logice można

podzielić na

TBox (terminologia) ndash aksjomaty dotyczące klas i relacji

ABox (twierdzenia) ndash aksjomaty dotyczące konkretnych instancji

Istnieją reasonery obsługujące wyłącznie TBox lub obie części

Ponadto język ontologii i reasonery wspierają roacuteżne rozszerzenia podstawowego modelu

reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej OWL DL to SHOIN(D)

SYMBOL NAZWA

U Złączenie

AL Przecięcie

C Uzupełnienie

AL Ograniczenie wartości

E Kwantyfikator istnienia

Q Warunkowe ograniczenie liczby

F Ograniczenie funkcji

D Ograniczenie typu danych

N Ograniczenia liczby

O Instancje

I Role odwrotne

H Hierarchia relacji

S Przechodniość relacji

Tabela 2 ndash bdquoRozszerzenia DLrdquo ndash opracowano na podstawie bdquoKRR Logiki Deskrypcyjnerdquo -

httpaiiaagheduplwikipldydaktykakrrlab_dl

6422 Ze względu na algorytm działania 1 Kierowane konsekwencją (ang consequence-driven)

Opierają się na regułach dedukcji z gotowych aksjomatoacutew (16) Reasonery kierowane

konsekwencją umożliwiają wywnioskowanie o

Przynależności do klasy Jeżeli x to instacja klasy C a C to podklasa D to można

wywnioskować że x jest instancją klasy D

Roacutewnowartności klas Jeżeli klasa A jest roacutewnowarta z klasą B a B jest roacutewnowarta z

klasą C to można wywnioskować że A jest roacutewnowarta C

Zawieraniu się klas Jeżeli przyjęto że klasy C i D są rozdzielne a x jest instancją obu

C i D pojawia się sprzeczność

Klasyfikowaniu Jeżeli przyjęto że pewne pary właściwość-wartość to wystarczające

warunki do przynależności do klasy A wtedy jeśli obiekt x spełnia te warunki można

wywnioskować że x musi być instancją klasy A

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

23

2 Bazowane na tableau (ang tableau-based)

Tableau ndash zdjęcie grupy osoacuteb złożone z mniejszych zdjęć

Reasoner Tableau proacutebuje skonstruować model na podstawie powtarzania 2 pierwszych

krokoacutew (niesprzeczności i spełnialności) używając zasad rozszerzających model aby zgadzał

się ze wszystkimi aksjomatami Jeśli model jest spełnialny aksjomat zostaje przyjęty a

reasoner przystępuje do kolejnej proacuteby biorąc pod uwagę kolejny z wywnioskowanych

aksjomatoacutew

65 Przegląd istniejących reasoneroacutew Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery ktoacutere działają w

języku OWL

651 Pellet

Pellet jest popularnym darmowym dostępnym publicznie narzędziem typu reasoner opartym

na otwartej licencji (Affero General Public License) Firma Complexible Inc (USA) ktoacutera jest

odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie

GitHub

httpsgithubcomcomplexiblepellet

Pellet w wersji Incremental wspiera wnioskowanie przyrostowe ktoacutere wykorzystuje

poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała Pellet napisany jest w

języku programowania Java

652 HermiT

HermiT został stworzony przez grupę pracownikoacutew Uniwersytetu Oksfordzkiego (Wielka

Brytania) Boris Motik Rob Shearer Birte Glimm Giorgos Stoilos i Ian Horrocks Reasoner

ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji

GNU na oficjalnej stronie internetowej

httpwwwhermit-reasonercom

653 FacT++

FacT++ jest propozycją Uniwersytetu Manchester W fazie początkowej tworzony był roacutewnież

we wspoacutełpracy z Ianrsquoem Horrocks Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest

na platformie Google Code Powstał w języku C++

httpcodegooglecompfactplusplus

654 jcel

Jcel ktoacutery obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej ndash Juliana

Mendez obsługuję Logikę Deskrypcyjną EL Powstaje w języku Java i posiada licencję LGPL

Autor udostępnia go na portalu GitHub

httpsgithubcomjulianmendezjcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

24

655 Zestawienie

REASONER LOGIKA

DESKRYPCYJNA

ALGORYTM LICENCJA JĘZYK

PELLET SROIQ(D) Tableau AGPL Java

HERMIT SHOIQ+ Hypertableau GNU LGPL Java

FACT++ SROIQ(D) Tableau GNU LGPL C++

JCEL EL+ Oparty na

regułach

GNU LGPL Java

Tabela 3 ndash bdquoZestawienie reasoneroacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

25

7 Przykłady obecnego zastosowania sieci semantycznych

71 DBpedia DBpedia (httpwikidbpediaorg) jest projektem mającym na celu oznaczenie

ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej

interaktywnej encyklopedii ndash Wikipedii Rezultatem tego działania jest utworzenie wielkiego

grafu ndash reprezentacji wiedzy Zasada funkcjonowania DBpedii polega na stosowaniu złożonych

zapytań zwracających konkretne informacje używając języka SPARQL W przypadku

klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słoacutew-kluczy

Rys 9 bdquoGraf DBpediirdquo pobrano 15012016 z httpswwww3orgTalks20121108-LOD-

Rabatlod-datasets_2011-09-19_coloredpng

72 BBC Proacuteby wprowadzenia rozwiązań umożliwiających korzystanie z Web 30 podjęła się brytyjska

korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci

Semantycznej Wprowadzono stos semantyczny na danych udostępnionych na portalu

Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę

informacji dotyczących

Wiadomości

Polityki

Programoacutew

Muzyki

Sportu

Życia dzikich zwierząt

I wiele więcejhellip

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

26

Ontologie można pobrać na oficjalnej stronie BBC w dziale bdquoOntologiesrdquo

73 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktoacutew zainteresowań) na Ziemi Baza

zawiera ponad 10 milionoacutew miejsc Dane te zebrane są z ponad 73 źroacutedeł ujednolicone i

przechowane Można przeglądać je na mapie posiadają przypisane

Kategorie

Wspoacutełrzędne geograficzne

Nazwy w wielu językach

Baza ta jest otwarta i edytowalna Twoacutercy udostępniają roacutewnież darmowe API

Rys 10 ndash bdquoWrocławski Rynek w GeoNamesrdquo ndash zrzut ekranu ndash źroacutedło wwwgeonamesorg

15012016

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

27

8 Podsumowanie zebranej wiedzy

Zebrane materiały analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia

i wykorzystania sieci semantycznej

Rys 11 bdquoSieć semantyczna wnioskowanie a Web 30rdquo ndash Opracowanie własne

Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej Moim celem będzie

wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do

zbadania poroacutewnania i wybrania najlepszego z reasoneroacutew ndash silnikoacutew wnioskowania

dostępnych dla języka OWL

Sieć semantyczna

bull Zbioacuter ustrukturyzowanych połączonych danych

bull Ontologie RDF = stos semantyczny

Wnioskowanie inteligentne

bull Klasyfikacja tych danych uzyskiwanie faktoacutew

bull Reasonery

Web 30

bull Sposoacuteb korzystania z tych danych

bull WWW = personalny asystent

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

28

9 Środowisko badawcze

91 Oprogramowanie - Proteacutegeacute Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących

wnioskowania w sieci semantycznej jest Proteacutegeacute w wersji 50 Jest to otwarty i darmowy system

do zarządzania ontologią utworzony rozwijany i udostępniony przez uniwersytet Stanford

Celem moich badań jest wyproacutebowanie i poroacutewnanie działania metod wnioskowania

inteligentnego Proteacutegeacute umożliwia to poprzez instalację i konfigurację reasoneroacutew z wielu

projektoacutew i technologii jako wtyczek Funkcje odpowiadające za edycję ontologiami pozwalają

przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testoacutew

Rys 12 ndash bdquoInterfejs Proteacutegeacuterdquo ndash Zrzut ekranu 25102015

Proteacutegeacute jest oprogramowaniem napisanym w języku Java wykorzystuje OWL API do

tworzenia zarządzania i serializacji ontologii w języku OWL 20 ndash zgodnym z koncepcjami

W3C czyli standardami WWW

92 Instalacja reasoneroacutew Instalacja reasoneroacutew w Proteacutegeacute polega na użyciu odpowiadających im wtyczek w formacie

bdquojarrdquo Wybranymi przeze mnie reasonerami są

Pellet

Pellet Incremental

HermiT

Jcel

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

29

FacT++

Rys 13 ndash bdquoWtyczki Proteacutegeacuterdquo ndash Zrzut ekranu 15112015

Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twoacutercoacutew za darmo na

zasadzie otwartej licencji

93 OWLViz ndash Wizualizacja OWL Oproacutecz podstawowych funkcji Proteacutegeacute oraz funkcjonalności reasoneroacutew zrozumienie działania

ontologii ułatwia jej wizualizacja w postaci grafu Aby skorzystać z tej możliwości potrzebna

jest uruchmienie wtyczki ndash OWLViz

Wizualizacja obejmuje część TBox ndash schemat ontologii ndash klasy właściwości typy danych a

nie same instancje i wartości (ABox)

OWLViz korzysta z rozwiązań programu Graphwiz Instalacja tego programu jest wymagana

do poprawnego działania wizualizacji

94 Ontologie w Proteacutegeacute Proteacutegeacute obsługuje ontologie w standardowym rozszerzeniu owl Pliki te można wczytać z

dysku lub wprowadzić odnoszący się do nich url

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

30

Rys 14 ndash bdquoPlik OWLrdquo ndash Zrzut ekranu 15112015

Po wczytaniu ontologii można podejrzeć

Hierarchię klas

Własności klas

Hierarchię obiektoacutew ich typy własności i instancje

Oraz wywoływać zapytania języka deskrypcji (DL)

Istnieje wiele źroacutedeł ontologii w sieci web Można rozpatrywać je w zależności od ich

wielkości złożoności tematyki

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

31

10 Przykładowy przebieg testu wnioskowania ndash ontologia

bdquofamily_exampleowlrdquo

Aby reasoner moacutegł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię

klas i instancje konkretnych obiektoacutew Do przedstawienia przebiegu wykonywania testu

wnioskowania wybrałem ontologię bdquofamily_exampleowlrdquo utworzoną przez Emily Schwarz

IRI httpswikicsccalpolyeduOntologyTutorialfamily_exampleowl

101 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas Korzeniem jak

w każdej ontologii jest klasa Thing a dwoma podstawowymi jej podklasami jest Gender ndash Płeć

i Person ndash Osoba

1011 Klasy

Podklasami osoby (Person) są

Parent ndash Rodzic

Mother ndash Matka

Father ndash Ojciec

OffSpring ndash Potomstwo

Daughter - Coacuterka

Son ndash Syn

1012 Właściwości

Właściwościami obiektu są

hasGender ndash posiada Płeć

hasParent ndash posiada Rodzica

hasChild ndash posiada Dziecko

hasSibling ndash posiada Rodzeństwo

1013 Instancje

Jest utworzonych 11 instancji klas

Dla płci

MaleGender ndash męska

FemaleGender - żeńska

Dla osoacuteb ndash zawierają imiona i właściwości

Anne

Bob

Dave

Jane

Jim

Scott

Sue

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

32

Rys 15 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

102 Wyniki przebiegu wnioskowania na ontologii family_exampleowl dla

reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie

niektoacuterych klas dla danych instancji Czas trwania działania reasonera zapisany zostaje w logu

Rys 16 ndash bdquologrdquo ndash Zrzut ekranu 15112015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

33

Rys 17 ndash bdquofamily_exampleowlrdquo ndash Zrzut ekranu 15112015

1021 Roacuteżnice w jednostkach

Proteacutegeacute umożliwia eksport wywnioskowanych aksjomatoacutew do pliku jako ontologię a następnie

poroacutewnanie ontologii oryginalnej i tej wyeksportowanej

Rys 18 ndash bdquoPoroacutewnanierdquo ndash Zrzut ekranu 15122015

Efektem przebiegu działania reasonera jest 16 zmienionych jednostek ndash zaroacutewno klas i ich

instancji

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

34

1022 Roacuteżnice w strukturze hierarchii klas

Jak widać na grafie po prawej stronie klasa Person posiada teraz 2 głoacutewne podklasy ndash

OffSpring i Parent ktoacutere odpowiednio posiadają podklasy Daughter Son i Father Mother

Rys 19 ndash bdquofamily_example grafyrdquo ndash Eksport obrazu przez narzędzie OWLViz 15122015

1023 Roacuteżnice dla instancji

Instancje (Mary Anne Bob Davehellip) roacutewnież zostały zmodyfikowane a dokładniej zmianie

uległy ich typy (po ktoacuterych klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje

między członkami rodziny)

Rys 20 ndash bdquoMaryrdquo ndash Zrzut ekranu 15122015

Mary jest jedną z instancji Na skutek działania reasonera przypisane ma 2 nowe typy (klasy)

Daughter i Mother oraz 4 nowe właściwości hasChild ndash Jim hasChild ndash Tom oraz hasSibling

ndash Scott hasSibling ndash Anne

Przed

wnioskowaniem Po wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

35

Struktura ontologii wraz z instancjami po wnioskowaniu

KLASY

INSTANCJE

Rys 21 ndash bdquofamily_example po wnioskowaniurdquo ndash Eksport obrazu przez narzędzie SOVA

15122015

Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury

ontologii i uzupełnienie jej o nowe właściwości

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

36

11 Zbioacuter ontologii wybranych do wykonania testoacutew

Do przeprowadzenia testoacutew sprawności i szybkości działania reasoneroacutew wybrałem 8

istniejących ontologii zroacuteżnicowanych ze względu na

Rozmiar (ilość aksjomatoacutew klas i instancji)

Logikę Deskrypcyjną (DL)

Dziedzinę wiedzy jakiej dotyczy

111 Tabela informacji o użytych plikach

NAZWA

PLIKU

IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR

[KB]

DZIEDZINA

WIEDZY

FACTSRDF httpowlm

anacuk2003whylate

stfactsrdf

84 7 13 ALCIN 9 Socjologia

PEOPLE+

PETSOWL

wwwcsma

nacuk~ho

rrocksISW

C2003Tuto

rialpeople+

petsowlrdf

378 60 23 ALCHIN(

D)

51 Ogoacutelna

WINEOWL httpwww

w3orgTR2003PR-

owl-guide-

20031209

wine

1046 138 206 SHOIN(D) 77 Enologia

DOIDOWL httppurlo

bolibraryor

gobodoid

owl

108057 9192 0 AL 22091 Medycyna

SUMOOWL wwwadam

peaseorgO

PSUMOo

wl

587842 4558 86475 SOIF 35962 Wielo-

dziedzinowa PIZZAOWL httpsonto

huborgpiz

zapizzaow

l

940 100 5 SHOIN 124 Gastronomia

UNIV-

BENCHOWL

httpswatc

selehighed

uontouniv

-benchowl

8762 43 1555 ALEHI+(

D)

683 Akademicka

EDAM_112O

WL

httpedam

ontologyor

gEDAMowl

29724 4515 3170 ALCI 2554 Bioinformatyka

Tabela nr 4 ndash bdquoPliki użyte do testoacutewrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

37

12 Wyniki przeprowadzonych testoacutew

Poniżej przedstawione są wyniki pięciu testoacutew przeprowadzonych na ontologiach przez

reasonery

1 Pellet

2 Pellet Incremental

3 Jcel

4 HermiT 138413

5 FaCT++

Ze względu na możliwą rozbieżność wynikoacutew w zależności od używanego procesora wszystkie

badania zostały przeprowadzone na tej samej maszynie o specyfikacji

Procesor Intel Core i7-4510U 26GHz

RAM 8GB

Dysk SSD (6 Gbs)

System Operacyjny Windows 10 x64

Proteacutegeacute w wersji 500-beta-21

Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatoacutew ktoacutere zostały dodane bądź

zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami

ontologii (przed wnioskowaniem) bdquoBłądrdquo oznacza że na skutek błędu lub wyjątku program

nie moacutegł przeprowadzić wnioskowania ze względu na

Niezgodność logiki deskrypcyjnej

Przepełnienie pamięci

Błąd przy partycjonowaniu danych

121 Wyniki testoacutew na ontologii 1 ndash factsrdf Wprowadzenie

Facts jest prostą ontologią zawierającą fakty dotyczące osoacuteb na uczelni Zawiera klasy takie

jak osoba nauczyciel student i informuje o ich właściwościach i rozdzielności W wyniku

wnioskowania dowiadujemy się kto jest czyim przyjacielem

Hierarchia klas

Rys 22 ndash bdquofactsrdfrdquo ndash Eksport obrazu przez narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

38

Wyniki

FACTSRDF ORYGINALNY PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU [MS] 197 291 błąd 191 32

AKSJOMATY 84 11 11 11 11

AKSJOMATY LOGICZNE 34 5 5 5 5

KLASY 7 6 6 6 6

WŁAŚCIWOŚCI

OBIEKTOacuteW 2 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 13 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCIN

LICZBA AKSJOMATOacuteW

PODKLAS 5 5 5 5 5

AKSJOMATY KLAS

ROacuteWNOWARTYCH 0 0 0 0 0

AKSJOMATY KLAS

ROZŁĄCZNYCH 1 0 0 0 0

Tabela nr 5 ndash bdquoWyniki wnioskowania factsrdfrdquo

Wykres nr 1 ndash bdquoWyniki wnioskowania factsrdfrdquo

Komentarz

Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatoacutew Fact++ zrobił to najszybciej -

w 32ms Jcel nie zadziałał w logice deskrypcyjnej ALCIN Hierarchia klas nie uległa zmianie

197

291

191

32

11 11 11 11

0

50

100

150

200

250

300

350

Pellet Pellet Incremental HermiT Fact++

factsrdf

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

39

122 Wyniki testoacutew na ontologii 2 ndash people+petsowl Wprowadzenie

People+petsowl jest ontologią opisującą gatunki zwierząt i typoacutew oraz zawodoacutew ich

ewentualnych właścicieli W wyniku wnioskowania można otrzymać informacje dotyczące

zależności między wyżej wymienionymi grupami

Hierarchia klas przed wnioskowaniem

Rys 23 ndash bdquoHierarchia klas people+petsowl przed wnioskowaniemrdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

40

Wyniki

PEOPLE+PETSOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 566 744 błąd 709 39

AKSJOMATY 378 117 117 119 119

AKSJOMATY

LOGICZNE 109 59 59 60 60

KLASY 60 56 56 56 56

WŁAŚCIWOŚCI

OBIEKTOacuteW 14 5 5 6 6

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA

INSTANCJI 23 0 0 0 0

LOGIKA

DESKRYPCYJNA ALCHIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

33 55 55 55 55

Tabela nr 6 ndash bdquoWyniki wnioskowania people+petsowlrdquo

Wykres nr 2 ndash bdquoWyniki wnioskowania people+petsowlrdquo

566

744709

39

117 117 119 119

0

100

200

300

400

500

600

700

800

Pellet Pellet Incremental HermiT Fact++

people+petsowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

41

Rys 24 ndash bdquoHierarchia klas people+petsowl po wnioskowaniurdquo ndash Eksport obrazu przez

narzędzie OWLViz 23122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 117 aksjomatoacutew HermiT i Fact++ - 119

Fact++ zrobił to najszybciej - w 39ms Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D)

Tym razem hierarchia klas uległa zmianie ale nie roacuteżniły się jej wersje w zależności od użytego

reasonera Ciekawym przypadkiem po wnioskowaniu jest to że podklasą właściciela kotoacutew

(cat owner) stała się staruszka (old lady)

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

42

123 Wyniki testoacutew na ontologii 3 ndash wineowl Wprowadzenie

Wineowl jest ontologią opisującą wiele gatunkoacutew win regionoacutew z ktoacuterych pochodzą i

rodzajoacutew posiłkoacutew do ktoacuterych pasują W sumie posiada 138 klas Hierarchia klas przed

wnioskowaniem jest bardzo szerokim drzewem ndash posiada wiele podklas na 1 poziomie

Wyniki

WINEOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 11491 11942 błąd 28435 4336

AKSJOMATY 1046 343 343 345 345 AKSJOMATY

LOGICZNE 889 206 206 207 207

KLASY 138 132 132 132 132 WŁAŚCIWOŚCI

OBIEKTOacuteW 16 7 7 8 8

WŁAŚCIWOŚCI

DANYCH 1 0 0 0 0

LICZBA INSTANCJI 206 0 0 0 0 LOGIKA

DESKRYPCYJNA SHOIN(D)

LICZBA

AKSJOMATOacuteW

PODKLAS

228 197 197 197 197

Tabela nr 7 ndash bdquoWyniki wnioskowania wineowlrdquo

Wykres 3 ndash bdquoWyniki wnioskowania wineowlrdquo

11491 11942

28435

4336

343 343 345 345

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

wineowl

Czas przebiegu [ms] Aksjomaty

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

43

Fragmenty hierarchii klas przed i po wnioskowaniu

Rys 25 ndash bdquoFragmenty grafoacutew hierarchii klas wineowlrdquo ndash Eksport obrazu przez narzędzie

OWLViz 27122015

Komentarz

Pellet i jego wersja Incremental wywnioskowały 343 aksjomatoacutew HermiT i Fact++ po 2

więcej Fact++ zrobił to najszybciej - w 4335ms Jcel nie zadziałał w logice deskrypcyjnej

SHOIN(D) Ponownie hierarchia klas uległa zmianie i nie roacuteżniły się jej wersje w zależności od

użytego reasonera Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności

pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną

Przed

wnioskowaniem Po

wnioskowaniu

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

44

124 Wyniki testoacutew na ontologii 4 ndash doidowl Wprowadzenie

Rys 26 bdquoDOrdquo ndash pobrano 27122015 z bdquohttpobofoundryorgontologydoidhtmlrdquo

Doidowl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat choroacuteb

ludzkich Zawiera ponad 100tys aksjomatoacutew i ponad 9tys klas nie posiada natomiast ich

instancji co odroacuteżnia ją od pozostałych testowanych ontologii Hierarchia klas jest płytkim i

bardzo szerokim drzewem ndash ciężko przedstawić ją za pomocą grafu

Wyniki

DOIDOWL ORYGINALNA PELLET PELLET

INCR

JCEL HERMIT FACT++

CZAS PRZEBIEGU

[MS] 641 błąd 1132 1099 371

AKSJOMATY 108057 13853 13853 13853 13853

AKSJOMATY

LOGICZNE 7032 7032 7032 7032 7032

KLASY 9192 6821 6821 6821 6821

WŁAŚCIWOŚCI

OBIEKTOacuteW 15 0 0 0 0

WŁAŚCIWOŚCI

DANYCH 0 0 0 0 0

LICZBA INSTANCJI 0 0 0 0 0

LOGIKA

DESKRYPCYJNA AL

LICZBA

AKSJOMATOacuteW

PODKLAS

7032 7032 7032 7032 7032

Tabela nr 8 ndash bdquoWyniki wnioskowania doidowlrdquo

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

45

Wykres nr 4 ndash bdquoWyniki czasowe wnioskowania doidowlrdquo

Komentarz

Pellet HermiT Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet

Incremental przy działanie pojawił się wyjątek ndash błąd przy partycjonowaniu zebranych danych

Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim

125 Wyniki testoacutew na ontologii 5 ndash SUMOowl Wprowadzenie

SUMOowl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą

ontologią a właściwie połączeniem wielu ontologii z roacuteżnych dziedzin tj

Słownictwo (na podstawie WordNet)

Geografia

Militaria

Prawo

Muzyka

Jedzenie

I wiele więcejhellip

Posiada prawie 600tys Aksjomatoacutew i 5tys klas

641

11321099

371

0

200

400

600

800

1000

1200

Pellet jcel HermiT Fact++

doidowl - Czas przebiegu [ms]

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

46

Wyniki

SUMOOWL ORYGINALNA PELLET PELLET

INCREMENTAL

JCEL HERMIT FACT++

CZAS

PRZEBIEGU

[MS]

błąd błąd błąd błąd 301443

AKSJOMATY 587842 9789 AKSJOMATY

LOGICZNE 175208 5237

KLASY 4558 4552 WŁAŚCIWOŚCI

OBIEKTOacuteW 778 0

WŁAŚCIWOŚCI

DANYCH 0 0

LICZBA

INSTANCJI 86475 0

LOGIKA

DESKRYPCYJNA

LICZBA

AKSJOMATOacuteW

PODKLAS

5330 5225

Tabela nr 9 ndash bdquoWyniki wnioskowania SUMOowlrdquo

Komentarz

Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania W przypadku

pozostałych reasoneroacutew wystąpił błąd przepełnienia pamięci Zmodyfikowano prawie 10tys

aksjomatoacutew i niemalże wszystkie klasy

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

47

13 Podsumowanie wynikoacutew

131 Poroacutewnanie pod względem niezawodności ndash kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami ndash wszystkimi pięcioma na każdej z 5

wybranych ontologii Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło

pomyślnie

Wykres nr 5 ndash bdquoNiezawodnośćrdquo

Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania ndash zadziałał na każdej ontologii

niezależnie od jej rozmiaru formatu czy zastosowanej Logiki Deskrypcyjnej

4

3

1

4

5

1

2

4

1

0

0

10

20

30

40

50

60

70

80

90

100

Pellet Pellet Incremental jcel HermiT Fact++

Niezawodność

Zadania wykonane pomyślnie Zadania zakończone błędem

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

48

132 Poroacutewnanie pod względem ilości wywnioskowanych aksjomatoacutew ndash kryterium

ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5

reasoneroacutew Jako że jcel zadziałał tylko na jednej (diodowl - gdzie wszystkie sprawne

reasonery osiągnęły ten sam wynik) a pozostałe na zbiorze 3 ontologii postanowiłem

podsumować ilość nowych aksjomatoacutew na podstawie właśnie tych ontologii wineowl

people+petsowl factsrdf

Wykres nr 6 ndash bdquoWywnioskowane aksjomaty

Hermit i Fact++ wywnioskowały w sumie 475 aksjomatoacutew a obie wersje Pellet 343 W

przypadku ontologii wineowl roacuteżnice dotyczą aksjomatoacutew madeIntoWine (utworzone i jego

właściwości ndash odwrotność madeFromFriut (utworzone z owocoacutew) ndash trafne aksjomaty

dotyczące utworzenia wina W przypadku people+petsowl pojawił się roacutewnież wniosek że

jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość

lubi (likes) ten typ zwierząt Drugi wniosek też można ocenić jako celowy więc owe dodatkowe

aksjomaty ndash jeśli nie powodują niespoacutejności ndash wzbogacają ontologie Zwycięzcami poroacutewnania

są zatem HermiT i Fact++

343 343 345 345

117 117 119 119

11 11 11 11

0

50

100

150

200

250

300

350

400

450

500

Pellet Pellet Incremental HermiT Fact++

Wywnioskowane aksjomaty

Aksjomaty wineowl Aksjomaty people+petsowl Aksjomaty factsrdf

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

49

133 Poroacutewnanie pod względem szybkości działania ndash kryterium wydajnościowe Z tych samych powodoacutew jak w powyższym poroacutewnaniu zwycięzcę można ustalić na podstawie

poroacutewnania 3 ontologii

Wykres nr 7 ndash bdquoCzas przebiegu wnioskowaniardquo

W zestawieniu czasoacutew przebiegu wnioskowania reasoner Fact++ jest zdecydowanym

zwycięzcą ndash zaroacutewno sumując wszystkie czasy jak i biorąc pod uwagę każdy z osobna

134 Podsumowanie Zwycięzcą spośroacuted wszystkich kryterioacutew ndash jakościowego ilościowego i wydajnościowego jest

reasoner Fact++ Reasoner ten zadziałał w każdym przypadku wywnioskował najwięcej

aksjomatoacutew i zrobił to najszybciej Konkurencyjne reasonery to Hermit i Pellet w obu

wydaniach Jcel ktoacutery zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to

że jest obecnie w trakcie początkowego rozwoju Tematyka dziedziny nie miała wpływu na

wyniki Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość

instancji

197 291 191 32566 744 70939

11491 11942

28435

4336

0

5000

10000

15000

20000

25000

30000

Pellet Pellet Incremental HermiT Fact++

Czas przebiegu wnioskowania [ms]

factsrdf people+petsowl wineowl

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

50

14 Zainteresowanie tematem Sieci Semantycznych

Wiedząc że idea Sieci Semantycznej i Web 30 powstała ok 2001 roku (2001 to rok publikacji

artykułu Timrsquoa Berners-Lee ndash bdquoThe Semantic Webrdquo należy zadać pytanie na ile idea przyjęła

się pośroacuted użytkownikoacutew ktoacuterzy są obecnie największymi twoacutercami treści internetowych

141 Wykresy Google Trends Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w

wyszukiwarce Google Postanowiłem sprawdzić jak rysowało się zainteresowanie na

przestrzeni lat hasłem bdquosemantic webrdquo i bdquoweb 30rdquo

Rys 26 ndash Zrzut ekranu z aplikacji webowej bdquoGoogle Trends ndash web 30 semantic webrdquo ndash

httpswwwgooglepltrends ndash 15012016

Analizując powyższy wykres widać

Wzrost ok rok 2007 i spadek po 2011 zainteresowania hasłem bdquoweb 30rdquo ndash kolor

niebieski

Spadek zainteresowania hasłem bdquosemantic webrdquo na przestrzeni lat 2008-2015 ndash kolor

czerwony

Po roku 2009 obie linie są częściowo skorelowane

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

51

15 Wnioski

Badania nad działaniem reasoneroacutew wyłoniły jednego zdecydowanego zwycięzcę w każdym z

kryterioacutew jakościowym ilościowym i wydajnościowym ndash FacT++

Po przeprowadzeniu testoacutew wnioskowania na wielu ontologiach zauważyłem że aby wyniki

były interesujące a zmiany logiczne istotnym faktorem jest ontologia wejściowa a mianowicie

dobrze ułożona hierarchia klas i powinny występować ich instancje W tym momencie nasuwa

się pytanie ndash kto takie ontologie przygotowuje To jest właśnie największy problem sieci

semantycznych ndash potrzeba opisywania danych w jednolity i strukturalny sposoacuteb Przynajmniej

w fazie początkowej to człowiek musi przygotować klasyfikację elementoacutew jakiejś dziedziny

wiedzy i przykłady relacji pomiędzy nimi tworząc słownik semantyczny dla maszyn ktoacutere

mogą dalej przetwarzać te dane Rozwiązaniem tego może być zawężenie Sieci Semantycznej

wyłącznie do wycinkoacutew wiedzy ktoacutera jest zweryfikowana dostępna i wstępnie

uporządkowana W ten sposoacuteb powstały tematyczne ontologie np medyczne umożliwiające

zbieranie aksjomatoacutew na temat choroacuteb lub muzyczne dotyczące wykonawcoacutew albumoacutew

wydawnictw itp Idea Sieci Semantycznej dla Web 30 rozwijana w odpowiednim kierunku to

obiecująca wizja pracy z komputerem ktoacuterego nie tylko użytkownik stara się zrozumieć ale i

vice versa Zrewolucjonizowałoby to dotychczasowy sposoacuteb korzystania z sieci i

najprawdopodobniej pociągnęło za sobą wiele innych zmian Stosując wnioskowanie na

globalną skalę uzyskalibyśmy ciekawe często zaskakujące wnioski dzięki połączeniu wiedzy

z wielu dziedzin jednocześnie Łącząc te dziedziny powstaje jednak pytanie jak Sieć

Semantyczna poradziłaby sobie ze zjawiskiem nadmiaru informacji i czy i w jaki sposoacuteb można

by zapewnić obsługę dynamicznego przyrostu danych pojawiających się w sieci Przyszłość

Web 30 opartego o sieci semantyczne jest w rękach użytkownikoacutew ktoacuterych zainteresowanie

przez ostatnie lata niestety się ostudziło

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015

Inteligentne wnioskowanie w sieci semantycznej Web 30 | Filip Marek 183708

52

16 Bibliografia

1 Encyklopedia powszechna PWN Rozumowanie [Online] 23 06 2015

httpencyklopediapwnplhaslorozumowanie3969409html

2 mdash Wnioskowanie [Online] 25 06 2015 httpencyklopediapwnplhaslownioskowanie

3 Słownik Języka Polskiego PWN Sztuczna inteligencja [Online] 15 12 2015

httpsjppwnplsjpsztuczna-inteligencja2466532html

4 Laboratorium Technik Semantycznych Standardy semantyczne Laboratorium Technik

Semantycznych [Online] 2008 httplibrarylts-portalorghandle12345678920

5 Tim Berners Lee James Hendler Ora Lassila Sieć Semantyczna Świat Nauki 2001

strony 41-49

6 Semantic Web ndash technologie Jarosław Bąk Czesław Jędrzejek Kościelisko Politechnika

Poznańska 2009 XV Konferencja PLOUG str 237

7 Lee Tim Berners Linked Data [Online] 27 12 2015

httpswwww3orgDesignIssuesLinkedDatahtml

8 Hausenblas Michael 5 Star Open Data Info [Online] 31 08 2015

http5stardatainfoenexamplesgtd-5

9 J Bihun A Aniszczyk Regułowe Wsparcie Semantycznego Wnioskowania [aut książki]

Kubik Tomasz [red] Kubik Tomasz Komputerowe Przetwarzanie Wiedzy Wrocław Tomasz

Kubik 2014 strony 27-42

10 Knowledge Representation and Reasoning on the Semantic Web OWL Ian Horrocks

Peter F Patel-Schneider 2010

11 Peter Moon Tim Berners Lee Internet Standard The future of the Web as seen by its

creator - przekład Internet Standard Brazylia IDG Now

12 Rudman Riaan Bruwer Rikus Defining Web 30 opportunities and challenges

Electronic Library vol 34 Stellenbosch Emerald Group Publishing Limited 2016 strony 132

- 154

13 Elenius Daniel Denker Grit Stehr Mark-Oliver A Semantic Web Reasoner for Rules

Equations and Constraints Web Reasoning amp Rule System 2008 strony 135-149

14 Frank Gleb httpwwwkslstanfordedusoftwareJTPdocowl-reasoninghtml [Online]

20 12 2015

15 Mishra R B Kumar Sandeep Semantic web reasoners and languages The Artificial

Intelligence Review brak miejsca Springer 2011 strony 339-368

16 Jarosław Bąk Maciej Nowak Czesław Jędrzejek bdquoWnioskowanie regułowe z

ontologiami OWL 2 RLrdquo STUDIA INFORMATYKA vol 35 nr 2 2015