14. 5. 2010 PŘEDMĚT: ORGANIZACE ZNALOSTÍ PŘEDNÁŠEJÍCÍ: SILVIE KOŘÍNKOVÁ PRESOVÁ Ontologie 2. část - ontol. jazyky Jazyky pro reprezentaci ontologií —ontology languages —Formalita ontologie (tj. strojově čitelná) je založena na jazyku pro reprezentaci, který poskytuje potřebné strojově zpracovatelné kódování. —Současné výzkumné aktivity – standardizace tři kategorie jazyků (Slavic): —logic based —frame based —web based primárně určeny pro aplikace z oblasti umělé inteligence Jazyky pro reprezentaci ontologií —Jazyky spjaté s oblastí umělé inteligence – příklady (Svátek) Ontolingua http://www.ksl.stanford.edu/software/ontolingua/ - Základními konstrukty jazyka jsou definice tříd, relací a funkcí, „mezijazyk“ pro rámcové znalostní systémy. (Define-Class Sale-Offer (?X) "A For-Sale situation with a Specified-Potential-Customer" :Iff-Def (And (For-Sale ?X) (Exists (?Le) (Specified-Potential-Customer ?X ?Le)))) Jazyky pro reprezentaci ontologií —Jazyky spjaté s oblastí umělé inteligence – příklady CyCL (http://www.opencyc.org/) sloužící k tvorbě rozsáhlé všeobecné ontologie CyC http://sw.opencyc.org/ - Usiluje o shromáždění všeobecných znalostí („common sense“), které by ve znalostních systémech fungovaly komplementárně ke znalostem expertním a zabraňovaly absurdnímu chování. Webové ontologické jazyky (Svátek) —Vznikly za účelem přidání sémantiky k webovým stránkám. —vývojově starší jazyky – SHOE, Ontobroker —novější jazyky ¡RDF Schema ¡DAML, OIL ¡sloučením vzniká DAML+OIL (opírá se o deskripční logiku – podřazení tříd je vyhodnocováno na základě jejich popisů – vznik taxonomie dynamicky X apriorní vymezení vztahů) ¡OWL (Web Ontology Language) Web Ontology Language - OWL —OWL - jazyk pro definování, publikování a sdílení webových ontologií. —doporučení W3C (spolu s RDF) http://www.w3.org/2004/OWL/ —OWL je součástí W3C Semantic Web Activity. http://www.w3.org/2001/sw/ —Ontologie OWL - popis tříd, vlastností a jejich instancí. —OWL - konstruovaný pro užití aplikacemi, které zpracovávají obsah webových zdrojů. Web Ontology Language - OWL —OWL syntax a formální sémantika - součástí slovníku, který vychází z RDF. —OWL formální sémantika umožňuje specifikovat, jak odvozovat logické důsledky dané danou ontologií, např. fakta písemně neprezentovaná v ontologii, ale vyplývající z daných významů. Druhy OWL —OWL Lite - základní verze, tvorba hierarchických struktur, definování vlastností a základních omezení, vhodné při převodu tezaurů a klasifikačních systémů na ontologie (např. nelze použít operátory intersectionOf, unionOf, complementOf) —OWL DL - maximální vyjadřovací síla a realizace odvozování, obsahuje všechny konstrukce jazyka, založen na deskripční logice —OWL Full -maximální vyjadřovací síla, volná syntaxe (nezávislost na RDF), odvozování je obtížné (Důvodem jsou omezení současných DL odvozovačů (klasifikátorů)) Jak číst jazyk ontologie v OWL —Ukázky na ontologii http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine# —Lze stáhnout a otevřít pomocí textového editoru. Jak číst jazyk ontologie v OWL - deklarace typu dokumentu —V rámci ontologie se odkazuje na jednotlivé hodnoty atributů pomoci URIs. —Deklarace (definice) entity v rámci deklarace typu dokumentu - Pomocí ní lze nahradit identifikátor zkratkou. „&vin;merlot“ za "httrp://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#merlot" Příklad užití: místo Namespace - jmenný prostor —Je potřeba přesně indikovat jaké specifické slovníky byly použity. —Standardním počátečním prvekm ontologie je soubor deklarací jmenného prostoru XML (XML namespace) uzavřených tagem rdf:RDF. Záhlaví ontologie An example OWL ontology —Metadata, informace o ontologii, např. informace o verzi ontologie, komentáře, převod z jiných formátů, zahrnutí jiných ontologií, vkládají se různá metadata vycházející se standardu Dublin Core. Třídy v OWL —třídy v OWL - předdefinované, vytvořené uživatelem —Předdefinovanou třídou je owl:Thing.Každé individuum v OWL je členem třídy owl:Thing. Tudíž každá třída definovaná uživatelem je její podtřídou. Popisy tříd Typy popisů tříd : 1. identifikátor třídy (odkaz URI) 2. vyjmenování individuí (konstrukt oneOf) 3. omezení vlastností (property restriction) 4. průnik (intersection) dvou nebo více popisů tříd 5. sjednocení (union) dvou nebo více popisů tříd 6. komplement (complement) popisu třídy Popisy tříd - identifikátor třídy ....definice třídy indikace jména třídy V rámci daného dokumentu je na danou třídu, např. Wine odkazováno #Wine, např. Z vnějšku (jiné ontologie) pomocí celé formy URI, "http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#Wine". Odkaz na prvek z jiné ontologie (např. importované), pokud je deklarována v jmenném prostoru a v rámci definice entity např. rdf:resource="&food;PotableLiquid" Popisy tříd - omezení vlastností 1 —Omezuje rozsah vlastnosti ve specifických kontextech různými způsoby. —Typy omezení: allValuesFrom , someValuesFrom, owl:cardinality, hasValue Typy omezení vlastností (Property Restrictions) —allValuesFrom (Všechny hodnoty vlastnosti musí pocházet z dané třídy.), someValuesFrom (Alespoň jedna hodnota vlastnosti musí pocházet z dané třídy.) —owl:cardinality - (kardinalita viz předchozí přednáška) (OWL DL: owl:maxCardinality, owl:minCardinality) —hasValue (nelze u OWL Lite) - Omezení umožňuje specifikovat, že daná třída má konkrétní hodnotu vlastnosti (existence třídy je dána konkrétní hodnotou vlastnosti), např. bílé víno. Popisy tříd - intersectionOf —Operátor pro tvorbu tzv. komplexních tříd (spolu s unionOf, complementOf ). Slouží pro specifikaci členů třídy. —logický součin (AND), průnik dvou nebo více popisů tříd —Bílé víno = víno AND bílá barva —Konstrukce tvrdí, že členem a současně individuem třídy je to, co je víno a současně bílé. Popisy tříd - unionOf Made WineDescriptor unionType of tastes and color —Operátor pro tvorbu tzv. komplexních tříd. —logický součet (OR), sjednocení (union) dvou nebo více popisů tříd —WineDescriptor = WineTaste OR WineColor —Třída WineDescriptor zahrnuje členy obou tříd - členy třídy WineTaste a WineColor Popisy tříd - complementOf —Operátor pro tvorbu tzv. komplexních tříd. —logická negace (NOT) —Vymezení, že individua dané třídy nepatří k jiné třídě. Popisy tříd -konstrukt oneOf Specifikace třídy prostřednictvím přímého vyjmenování všech možných individuí. —Konstrukt pro tvorbu taxonomie - rdfs:subClassOf --- —Disjunktivní třídy - owl:disjointWith - Uvádí disjunktivní třídy - nemohou mít stejné individuum. —owl:equivalentClass - Spojuje popis třídy s popisem jiné třídy s tím, že se vztahují na stejná individua. —pojmenování třídy - rdfs:label, atribut lang - cizojazyčné varianty wine vin Zápis individuí —Uvedení individua deklarací členství ve třídě. nebo rdf:type - Vlastnost RDF, která váže individuum ke třídě, jejímž je členem. Definování vlastností Vlastnost - binární vztah. Dva typy vlastností —Objektová vlastnost - vytváří spojení mezi objekty tříd. Vztahy mezi individui dvou tříd. ObjectProperty —Datotypová vlastnost - spojuje jedince s hodnotou, která je určitého datového typu (RDF literals and XML Schema datatypes) . DatatypeProperty Definování objektové vlastnosti Wine hasColor WineColor (white, red...) hasSugar WineSugar (dry, sweet...) na úrovni individua Rulandské bílé vinařství Krist má barvu bílou, je suché. Definování datotypové vlastnosti —Nejčastějším zdrojem datotypové vlastnosti je XML Schema datatypes. Vlastnosti individuí 1998 Odvozování a deskripční logika —OWL DL je jazyk založený na deskripční logice (DL). —DL je teoretickým podkladem pro algoritmizované odvozování v oblasti ontologií. —DL je logika pojmů/konceptů (množina individuí). Zachycuje vztahy mezi pojmy. —Tvorba složených konceptů: ¡Muž ┌┐ Rybář (průnik) ¡Muž └┘ Rybář (sjednocení) —Role - binární relace ¡∃obíháKolem.Hvězda (koncept planety (pro každou planetu existuje hvězda, kolem které obíhá)), ¡∀jeOtcem.Muž (Koncept zahrnující všechna individua, jejichž všechny děti jsou mužského pohlaví.) Více viz Svátek, 2007 Odvozování a deskripční logika Základní odvozovací úlohy v deskripční logice jsou následující: —Kontrola konzistence znalostní báze zjišťuje, zda definice každého konceptu připouští náležení alespoň jednoho individua. —Kontrola individuí zjišťuje, zda dané individuum spadá pod daný koncept. —Realizace nalezne nejspecifičtější koncept, pod který individuum spadá. —Vyhledání nalezne všechna individua spadající pod zadaný koncept. —Kontrola subsumpce zjišťuje, zdali je jeden zadaný koncept podkonceptem druhého. Více viz Svátek, 2007 Tezaurus vers. ontologie —podobnost ¡terminologické pokrytí určité domény, vymezení vztahů mezi jednotlivými termíny, seskupení termínů do kategorií a podkategorií ¡obojí se používá pro popis a organizaci informací —rozdílnost ¡ontologie obsahuje mnohem více vztahů, které jsou formálně definovány a jsou jednoznačné, interpretovatelné strojově i lidmi ¡tezaurus – vztahy mezi termíny, ontologie – definování pojmu a vztahu mezi nimi, logický a formální popis Ukázka definice pojmu v ontologii Co byste měli znát —strukturu dokumentu obsahující ontologii (OWL Web Ontology Language Guide, 2004a, kap. 2 The Structure of Ontologies) —význam následujících prvků: owl:Class, rdfs:subClassOf, owl:Restriction, owl:hasValue, owl:intersectionOf,owl:unionOf, owl:oneOf, complementOf, rdfs:label, ObjectProperty, DatatypeProperty, rdfs:subPropertyOf, rdfs:domain, rdfs:range —zápis ¡individuí ¡hodnot vlastností individuí —Lze využít zdroje z doporučené literatury: OWL Web Ontology Language Guide, 2004a, Graphical Representations of RDF/RDFS/OWL entity types, 2010 Použitá literatura —Arano, S. 2005. Thesauruses and ontologies [online]. Hipertext.net. 2005, č. 3, [cit. 2009-02-20]. Dostupné z WWW: http://www.hipertext.net/english/pag1009.htm ISSN 1695-5498 —Graphical Representations of RDF/RDFS/OWL entity types [online]. 2010. [cit. 2010-04-27]. Dostupné z WWW: http://www.infowebml.ws/website/graphical-representations.htm#rdfsClass —Lékárnička Znalostní technologie I. Doplnění předmětu Znalostní technologie I. vyučovaného na Fakultě informatiky a managementu UHK. [online]. Datum poslední aktualizace: 27. 10. 2009 [cit. 2010-04-27]. Dostupné z WWW: http://lide.uhk.cz/fim/ucitel/fshusam2/lekarnicky/zt1/zt1_index.html —OWL Web Ontology Language Guide [online]. 2004a. W3C Recommendation 10 February 2004, Copyright © 2004 W3C [cit. 2010-04-27]. Dostupné z WWW: http://www.w3.org/TR/owl-guide/ Použitá literatura —OWL Web Ontology Language : Use Cases and Requirements [online]. 2004b. W3C Recommendation 10 February 2004, Copyright © 2004 W3C [cit. 2010-04-27]. Dostupné z WWW: http://www.w3.org/TR/2004/REC-webont-req-20040210/ —Sklenák, V. Sémantický web [online]. In Sborník konference Inforum. © 1995-2010 AiP [cit. 2010-04-27]. Dostupné z WWW: http://www.inforum.cz/archiv/inforum2003/prispevky/Sklenak_Vilem.pdf —Svátek, V., Vacura, M. 2007a. Ontologické inženýrství [online]. In DATAKON 2007, Brno, 20.-23. 10. 2007, 32 s. [cit. 2009-02-20]. Dostupné z WWW: http://nb.vse.cz/~svatek/dkon07final.pdf —Svátek, V. 2002. Ontologie a WWW [online]. In DATAKON 2002, Brno, 19.-22. 10. 2002, 35 s. Dostupné z WWW: http://nb.vse.cz/~svatek/onto-www.pdf