Inteligentne wnioskowanie w sieci semantycznej web 3kopel/mgr/2016.02 mgr Marek.pdf · „Sieć...
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