Ontológie a OWL

Peter Csóka

 

Slovenská technická univerzita, Fakulta informatiky a informačných technológií
Ústav informatiky a softvérového inžinierstva
Ilkovičova 3, 842 16 Bratislava, Slovenská republika
xcsoka at stuba.sk

 

Spracované podľa: Auxilio, M. Nieto, M.: An Overview of Ontologies
                                Husáková, M.: Znalostné technológie.

Abstrakt. Vyhľadávanie materiálov k určitej oblasti pomocou súčasných vyhľadávacích postupov na webe je veľmi zdĺhavé. Dôvod je ten, že web číta obrovské množstvo dokumentov. Ak vyhľadávame určité dokumenty, ktoré majú obsahovať požadované kľúčové slovo, dokumenty síce nájdeme, ale často sa v nich nami hľadaný pojem vyskytuje v úplne inom kontexte. Sémantický web sa snaží nájsť prístupy, ako si s touto situáciou poradiť. Má zabezpečiť také prostredie, v ktorom je umožnená efektívnejšia spolupráca ľudí a strojov. Web sa má stať zrozumiteľný pre obe strany, pre ľudí aj stroje. Ako možno ontológiu využiť pre sémantický web? Tento článok sa zaoberá práve touto otázkou, poskytuje základné informácie o nich a snaží sa jasne vyjadriť podstatu týchto technológií.

Abstract. Searching materials on the Web area using the current practices and search engines is very circuitous. The reason is that search engines read a huge amount of web documents. When searching for the specific documents which contain the desired keyword, although we will find many documents, but often the search term is occurred in a completely different context. Semantic web aims to present approaches about how to deal with this situation. Should provide an environment in which the cooperation of people and machines is more effective. Web has to become meaningful to both sides, for people and for machines, too. How can be ontologies used for semantic web? This article deals with this issue, provides basic information about them and tries to clearly express the essence of these technologies.

 

Obsah

 

1 Úvod

Internet počas niekoľkých rokov veľkou rýchlosťou prenikol do každodenného života ľudí. Internet môžeme nazvať ako neohraničený zdroj informácií, kde vždy nájdeme pre nás práve potrebné informácie. No z druhej strany práve neohraničenosť informácií spôsobuje, že nie vždy sa dostávame k relevantným a pre nás užitočným informáciám, vďaka obrovskému rozsahu sprístupnených informácií sa v nich ťažko orientuje. Uvedený príklad je jedným z dôvodov vytvoriť nástroje, ktoré porozumejú skutočnému obsahu zverejnených informácií a dokážu porovnať, nájsť zhody a odlišnosti a klasifikovať články podľa obsahu a tým robiť proces vyhľadávania informácií presnejším. Vízia sémantického webu predpokladá umožnenie spracovania a pochopenia informácií nielen človekom, ale aj počítačom. Prostriedkom na dosiahnutie tohto cieľa majú byť ontológie. Ontológia a ontologické inžinierstvo poskytuje technologický základ pre zrealizovanie myšlienky webu novej generácie, ktorej autorom je Tim Barners-Lee, ktorý je riaditeľom konzorcia W3C a je tiež považovaný za zakladateľa súčasného Internetu. Okrem toho, že ontológie sú považované za jednu z komponent sémantického webu, môžu zastávať úlohu tzv. metadát. Vo všeobecnej rovine metadáta sú dáta o dátach. Sú niečím, čo môže vystihnúť podstatu dokumentov a ich význam. Jedným z problémov je, ako metadáta reprezentovať, aby ich bolo možné jednoducho strojom spracovávať. Vznikajú rôzne druhy jazykov, ktoré sú určené pre ich zachytenie. Za zmienku určite stojí značkovací jazyk XML a XML Schema, RDF a RDF Schema, Damle + OIL alebo OWL.

 

2 Ontológie - História

V súčasnej dobe sa o ontológiách najviac hovorí v spojení s informačnými technológiami, ale ich pôvod pochádza z filozofie. Pojem ontológie je vo filozofii známy už veľmi dlhú dobu – od doby života filozofa Aristotela. V tých časoch sa na ontológiu pozeralo ako na oblasť bytia charakterizujúcu to, čo v našej realite existuje. Otázky, ktoré si vtedajšia ontológia kládla, sa týkali vecí našej reality, napríklad čo je existencia, čím je tvorený svet, zákonitosti, objekty sveta atď. V oblasti informačných technológií sa tento pojem zacal objavovať v 80. rokoch v odbore znalostného inžinierstva a umelej inteligencie.Význam slova ontológia sa v týchto oblastiach vyjadruje nielen zhrnutie poznatkov, ale aj metódy získavania týchto poznatkov. Ďalšie kapitoly budú venované tomuto novému chápaniu pojmu ontológia. Znalostné inžinierstvo sa zaoberá všetkými činnosťami, ktoré sú spojené s vývojom vedomostne orientovaných aplikácií. Medzi tieto aktivity možno zaradiť získavanie, reprezentáciu, uchovávanie a využívanie poznatkov. Následne vznikla úplne nová disciplína, ontologické inžinierstvo, ktorá bola nasledovníkom inžinierstva znalostného. Obrázok 1 Vývojové vetvy pojmu ontológie zobrazuje dve vývojové vetvy pojmu ontológia.


Obrázok 1. Vývojové vetvy pojmu ontológia [5]

 

3 Ontológie v informatike

V informatike sa ontológie najčastejšie prirovnávajú k taxonómiám. Taxonómie zaznamenávajú hierarchiu určitých pojmov, sú najjednoduchším vyjadrením vzťahov medzi pojmami pomocou zobrazenia nadtrieda-podtrieda. Existuje viac možností ako definovať pojem ontológia:
"Ontológia je explicitná špecifikácia konceptualizácie" (T. Gruber, 1993) [4].
Túto definíciu v roku 1997 upravil W. Borst na: "Ontológie je formálna, explicitná špecifikácia zdieľanej konceptualizácie"[2].
Iná definícia (Russel, Norving, 1995) uvádza [2]: "Ontológia je formálnym popisom konceptov a vzťahov, ktoré existujú v komunite agentov." Tu je zrejmá súvislosť ontologického inžinierstva a agentových systémov.
Swartout, 1996 [2]: "Ontológia je hierarchicky štruktúrovaná množina pojmov pre opis domény, ktorá môže byť použitá ako základ znalostnej bázy."
Fensel, 2000 [2]: "Ontológia je zdielateľný a formálny opis dôležitých konceptov v špecifickej doméne."
Formálnosť ontológií znamená možnosť využitia niektorých jazykov s presne definovanou syntaxou pre jeho tvorbu. Explicitnosť ontológie znamená, že vedomosti, ktoré sa v ontológii skrývajú, by mali byť sprístupnené. Je potom dôležitá zdieľateľnosť ontológií, pretože ontológia by mala byť vytvorená za účelom jej využitia ďalšími ľuďmi [1].
Z uvedených definícií je zrejmé, že ontológie, ktoré v súčasnej dobe chápeme skôr v spojení s informačnou vedou, nie sú až tak vzdialené od svojho pôvodného - filozofického významu. Ako filozofia, tak aj informatika vo vzťahu k ontológiám majú spoločné v tom, že sa snaží zachytiť koncepty nášho sveta a charakterizovať ich. Cieľom je zaistiť dorozumenie medzi ľuďmi navzájom, ale aj medzi ľuďmi a strojmi. Ontológia je spôsob, ako priblížiť napr. softvérovým agentom náš svet, aby potom mohli plniť špecifické úlohy. Informačné technológie nám navyše ponúkajú možnosť vytvoriť ontológie v digitálnej podobe, a ďalej ju využívať na rôzne účely.
Z pohľadu znalostného inžinierstva možno ontológiu chápať ako znalostnú štruktúru, ktorá je vybudovaná za účelom:

 

4 Členenie ontológií

Zdroj [3] uvádza možné delenie ontológií na dve skupiny - podľa historického vývoja a miery formalizácia (predmetu konceptualizácie).
Ontológia podľa historického vývoja:
Terminologické (lexikálne) ontológie
Sú charakteristické tým, že kladú dôraz hlavne na zachytenie taxonómie termínov a vzťahov medzi nimi (všeobecnejšie a špeciálnejšie pojmy). Príkladom takejto ontológie je WordNet.

Informačné ontológie
Informačné ontológie sú rozvinutím databázových konceptuálnych schém. Predstavujú nadstavbu nad základnými zdrojmi, zaisťujú vyššiu úroveň kontroly integrity, ako je to u bežných nástrojov.

Znalostné ontológie
Nadväzuje na výskum v oblasti umelej inteligencie a sú v tomto zmysle chápané ako logické teórie a ich jednotlivé prvky sú definované pomocou formálneho jazyka. Sú využívané vo väčšej miere v znalostných aplikáciách.

Ontológia podľa miery formalizácie a predmetu konceptualizácie:
Doménové ontológie
Ich záujmom je špecifikácia určitej predmetnej oblasti (domény). Príkladom je ontológia Kactus (komponenty technických systémov), UMLS (lekárska terminológia) alebo Enterprise Ontology (štruktúra a činnosť podniku).

Generické ontológie
Veľmi sa podobajú na doménové s tým rozdielom, že majú širší záber a zachytávajú všeobecnejšie koncepty reality (teda neidú príliš do hĺbky). Príkladom je možnosť reprezentácie času a vzájomných pozícií objektov. Do tejto kategórie patria ontológie vyššej úrovne (upper-level alebo top-level) usilujúce sa o zachytenie najvšeobecnejších pojmov a vzťahov, ktoré tvoria základ taxonómie napr. doménových ontológií. Príkladom tejto ontológie je CYC. Do tejto kategórie môžu patriť aj také ontológie, ktoré sa snažia zachytiť všeobecné vedomosti (vedomosti typu CommonSense) - vedomosti bežného rozumu, ktoré používame v bežnej praxi.

Úlohové ontológie
Tento typ ontológie sa zameriava na procesy odvodzovania, nie na zachytávanie poznatkov o svete. Zostavujú modely riešenia problémov, napríklad pre diagnostiku, konfiguráciu alebo plánovania.

Aplikačné ontológie
Tieto ontológie sú súčasťou konkrétnej aplikácie a obsahujú spravidla doménovú aj úlohovú zložku. Príkladom je lekárska ontológia GAMES-II.

 

5 OWL

OWL (Ontology Web Language) je značkovacím jazykom vyvinutým organizáciou W3C (World Wide Web Consorcium) pre tvorbu ontológií využiteľných v prostredí sémantického webu. Obsahuje množinu axióm opisujúce triedy, vlastnosti a vzťahy medzi nimi. Na jeho vývoji sa pracuje aj v súčasnosti. OWL jazyk je vytvorený z jazyka Damle + OIL (kombinácia vlastností jazykov Damle a OIL), ktorý ponúkal viac ako RDFS. Damle + OIL bol východiskovým bodom pre reprezentáciu znalostí v prostredí sémantického webu. Ďalším cieľom bolo vytvorenie jazyka, ktorý by mal bohatšiu sémantiku a slovník pre reprezentáciu znalostí ako Damle + OIL a pritom mal byť kompatibilný s jazykmi XML a RDF. Samozrejme malo byť možné s jeho pomocou aj odvodzovať nové skutočnosti z už existujúcich. Výsledkom bol jazyk OWL pre tvorbu webových ontológií (odporúčania pre W3C štandard). OWL je dokonalejším ako XML, RDF a RDFS.

Damle a Oil

Na webe je obrovské množstvo dokumentov. Tie sú väčšinou zapísané v jazyku HTML, ktorý sa zameriava skôr na spôsob zobrazenia webovej stránky ako na to, aby s nimi dokázali pracovať aj stroje. S pomocou HTML je ťažké odvodzovať z webových stránok niečo nové, odpovedať na špecifické otázky, atď. Aj XML má svoje nedostatky, nevie presne vystihnúť vzťahy medzi objektmi, o ktorých sa na webovej stránke hovorí a detailne ich opísať. Jazyk Damle je rozšírením XML a RDF. K jeho prínosu patria napríklad, keď chceme pracovať s nasledujúcim tvrdením: fatherOf subProperty parentOf (vlastnosť fatherOf je špeciálna vlastnosť parentOf). Ďalej máme reprezentované, že Jozef fatherOf Karol (Jozef je otcom Karola). Damle vie odvodiť aj toto: Jozef parentOf Karol (Jozef je rodičom Karola). Jazyk XML posledné tvrdenie nevie odvodiť. OIL (Ontology Inference Layer, Ontology Interface Language) je ontologickou infraštruktúrou pre sémantický web založená na logike. Práve s logikou pracuje jazyk OWL. Svoju syntax čerpá z XML a XMLS a je rozšírením RDF a RDFS. Nástupcom Damle a OIL je Damle + OIL, ktorý bol následne nahradený jazykom OWL. Nasledujúci obrázok znázorňuje túto hierarchiu jazykov. Na najvyššej úrovni je najexpresívnejší jazyk.


Obrázok 2. Hierarchia jazykov [5]

 

Tvorba ontológií pomocou OWL

Pre tvorbu ontológie v jazyku OWL môžeme využiť jednu z troch možností [3]:

OWL-Lite je syntakticky najjednoduchšia verzia OWL, ktorú je vhodné použiť v prípade, keď chceme vytvoriť menej štruktúrovanú ontológiu s jednoduchými obmedzeniami. Disponuje totiž najnižšou úrovňou zložitosti, nepoužíva niektoré elementy, ktoré sú vo vyšších verziách OWL. Nepoužíva potrebné zjednotenie (owl: unionOf), doplnok (owl: complementOf) a nepodporuje disjunkciu tried (disjointWith).

OWL-DL je zložitejšie ako OWL-Lite a založená na logike. S OWL-DL je možné realizovať odvodzovania, napríklad určiť ontologickú hierarchiu a prípadne skontrolovať, či je konzistentné. Pomocou OWL-DL môžeme vytvárať komplexnejšie opisy a definície tried. Obsahuje všetky konštrukcie OWL Full, ale ich použitie je obmedzené.

OWL-Full obsahuje všetky elementy a konštrukcie jazyka. Nemá žiadne obmedzenia, ale odvodzovanie sa ťažko robí. Dôvodom sú obmedzenia súčasných DL klasifikátorov. Túto verziu môžeme považovať za rozšírenie jazyka RDF.

 

6 Syntax a štruktúra OWL

OWL ontológia vytvorená pomocou RDF. Najvhodnejšou syntaxou, odporúčanou konzorciom W3C, pre reprezentáciu RDF je RDF / XML syntax. Prípustná je akákoľvek forma tejto syntaxe. Ako príklad je uvedená deklarácie triedy Wine v OWL, reprezentovaná pomocou syntaxe RDF / XML:
<rdf:Description rdf:about=”Wine”>
<rdf:type rdf:Resource=”http://www.w3.org/2002/07/owl#Class”/>
</rdf:Description>

Štruktúra OWL dokumentu zachytáva jednotlivé pojmy ontológie. Zvyčajne obsahuje jednu hlavičku a nasledujú definície tried, vlastností a prípadne aj inštancií. Hlavička ontológie obsahuje niektoré dôležité informácie o ontológii. Môže obsahovať aj komentáre, informácie o verziách dokumentu.
Medzi hlavné komponenty OWL patria:

Trieda

Chápanie pojmu Trieda v OWL nie je odlišná od objektovo orientovaného princípu. Ide o súbor jedincov s rovnakými vlastnosťami. Sú organizované do hierarchie – taxonómie, t.j. nadtrieda a podtrieda (superclasses a subclasses). Trieda je základným hierarchickým prvkom ontológie. Je to usporiadaná štruktúra (množina) prvkov, ktoré spolu nejakým spôsobom súvisia. Tieto prvky sa nazývajú inštanciami alebo indivíduami triedy. Triedu jednoznačne popisuje jej názov (URI) a súbor prvku. Existuje niekoľko spôsobov, ako môže byť trieda definovaná:

Vytvorením hierarchie tried dodávame ontológii štruktúru. V OWL existujú triedy preddefinované alebo nami vytvorené. Jednou z preddefinovaných je owl: Thing. Jedná sa o tzv. systémovú najvšeobecnejšiu triedu, do ktorej spadajú všetky ostatné. Je to akýsi základ všetkých tried, čo vytvoríme. Ďalšou preddefinovanou triedou je owl: Nothing, opakom čoho je owl: Thing. Príkladom triedy môže byť: Pes, Štát, odbor, Osoba, Korenie, a pod.

Jedinec (indivídua, člen, objekt, entita)

Jedinec reprezentuje určitý objekt domény, ktorý patrí určitej triede. Jedná sa o konkrétny výskyt - inštanciu triedy. Jedinec pritom môže patriť jednej alebo viacerých triedam. Je rozdiel medzi jedincom a inštancií. Jedinec je inštanciou nejakej triedy. Príkladom jedinca môže byť: Ján Šťastný, Portugalsko, Phobos, Jozef, atď.
Vlastnosti sú istým druhom binárnych relácií, vďaka ktorým je možné k triedam pridávať tvrdenia a spojenie medzi jednotlivými objektmi a dátovými typmi. Vlastnosť vytvára vzťah – reláciu medzi jednincami.
Delenie vlastností [3]:

Objektová vlastnosť vytvára spojenie medzi objektmi tried. Dátotypová vlastnosť spája jedinca s hodnotou, ktorá je určitého dátového typu. Anotačná vlastnosť pridáva ďalšie informácie k triedam, jedincom vo forme metadát. Ontologická vlastnosť vytvára vzťahy medzi ontológiami [3].

 

7 Záver

Sémantický web nemá byť chápaný ako náhrada webu súčasného. Má dodať štruktúru a význam obsahu webových dokumentov. Pojem sémantický web je už známy niekoľko rokov, ale ešte sa stále nepodarilo aplikovať do praxe všetky jeho výhody, ktoré boli prezentované vizionármi tejto oblasti internetu. Počas vývoja sémantického webu vznikla rada nových technológií a niektoré z nich sú už prakticky využívané. Tento článok sa zaoberal jednou z technológií – ontológiami, a ich spojení s informačnými technológiami.

 

Použitá literatúra

[1] GÓMEZ, A. FERNÁNDEZ-LÓPEZ, M. CORCHO, O.: Ontological Engineering. Springer, 2004. ISBN 1-85233-551-3
[2] AUXILIO, M. NIETO, M.: An Overview of Ontologies. Technical Report. March 2003. http://www.starlab.vub.ac.be/teaching/ontologies_overview.pdf
[3] LACY, L. W. OWL: Representing Information Using the Web Ontology Language. ISBN 141203448-5
[4] GRUBER, T.R.: A Translation Approach to Portable Ontology Specifications. Knowledge Acquisition. 1993. http://tomgruber.org/writing/ontolingua-kaj-1993.pdf
[5] HUSÁKOVÁ, M.: Znalostné technológie. Univerzita Hradec Kráľové. 2006.

 


Znalostné systémy
Zimný semester 2009/2010