11 Web-ontologioiden perusteet Asiasanastot tarjoavat esimerkin käsitteellisestä viitekehyksestä jonka suhteen tietoa voidaan (ainakin yrittää) esittää ja jäsentää täsmällisesti. Hienosti sanottuna informaatio muuttuu tiedoksi (tai tieto tietämykseksi) vasta kun tulkinta ja päättely onnistuvat sopivan tiedon viitekehyksen varassa. Tietyn sovelluksen tiedon viitekehystä voidaan kutsua ko. sovelluksen käsitemalliksi. Laajempien käsitemallien rakentaminen johtaa tilanteeseen jossa tietyn sovelluksen keskeinen tietosisältö halutaan kuvata eri osapuolia tyydyttävässä muodossa. Paremman termin puuttuessa voidaan tällöin puhua vaikkapa ontologioista. (Huomaa kommunikoinnin osatavoite.) Seuraavaksi luonnehdimme lyhyesti Web-ontologioita. 224
11.1 Välisoitto Tietojenkäsittely ja kaikki algoritmit perustuvat sopivien tietorakenteiden käyttöön Ontologiat tarjoavat välineen sovelluksen tietosisällön jäsentämiseen käyttökelpoisessa muodossa Kyse on (taas!) hyvän tietosisällön julkaisemisesta sovittua rajapintaa käyttäen jos tieto on roskaa tai ei tiedetä mitä sillä tehtäisiin, formalisointi ei tilannetta pelasta 225
11.2 Ontologia? Ontologia tarkoittaa sanakirjan mukaan oppia olevaisen rakenteesta tai metafysiikkaa (~"mitä on olemassa") täydentävä termi epistemologia tarkoittaa tietoteoriaa (~"mitä tieto on ja mitä voidaan tietää") Sovelluksissa asiaa rajataan ja termi ontologia sovitaan esim. seuraavasti: - "An ontology is a specification of a conceptualisation." (Gruber, 2002) - "...The world can be described in terms of individuals and relationships between individuals. An ontology is a commitment to what exists in any particular task domain." (Poole et al., 1998) Käytännössä kyse on sovelluksen tiettyä tarkoitusperää palvelevasta pelkistetystä kuvauksesta, sopivaa esitystapaa käyttäen (vrt. RDFS) - alkiot (tai yksilöt, Individual), luokat sekä näiden väliset suhteet 226
11.3 Ontologioiden merkitys Kukaties yllättäen, "käytännöllinen tapa" ymmärtää ontologian käsite on tarkastella sitä (liike)toiminnan kuvauksena (nyt laajasti ymmärrettynä): - "Ontologies are business models" (Powers, 2003) - "[Business model is a] collection of related architectures or blueprints of, by, and for business people, aimed toward capturing (i.e., describing and/or prescribing) the essential workings of the business (not IT capabilities per se) from a purely business perspective. A business model provides comprehensive answers to the six basic interrogatives: What? How? Where? Who? When? Why? In doing so, the business people intend to provide a sufficient understanding of the business that may be used in a variety of ways to solve business problems as perceived by business people, one of which is providing business requirements for information systems." (Hendryx, 2003) 227
11.4 Web-ontologiat: OWL Semanttisen Webin "perustekniikat" määrittelevät OWL-standardin ontologioiden kuvaamiseen (Web Ontology Language) - ks. http://www.w3.org/2004/owl/ OWL määrittelee ontologian seuraavasti: - "An ontology formally defines a common set of terms that are used to describe and represent a domain. Ontologies can be used by automated tools to power advanced services such as more accurate web search, intelligent software agents and knowledge management." Teknisesti RDF-yhteensopiva (uusia predikaatteja), kolmitasoinen määritys: - taustalla DAML + OIL - OWL Lite OWL DL OWL Full 228
11.5 Six OWL use cases, W3C (1/3) Web Portals (ks. esim. http://www.ontoweb.org/) - '...an ontology might include terminology such as "journal paper," "publication," "person," and "author." This ontology could include definitions that state things such as "all journal papers are publications" or "the authors of all publications are people..."' Multimedia Collections (ks. esim. http://museosuomi.cs.helsinki.fi/) - '...consider an archive of images of antique furniture. An ontology of antique furniture would be of great use in searching such an archive. A taxonomy can be used to classify the different types of furniture. It would also be useful if the ontology could express definitional knowledge. For example, if an indexer selects the value "Late Georgian" for the style/period of (say) an antique chest of drawers, it should be possible to infer that the data element "date.created" should have a value between 1760 and 1811 A.D. and that the "culture" is British...' 229
11.6 Six OWL use cases, W3C (2/3) Corporate Web Site Management - '... pages concerning things like press releases, product offerings and case studies, corporate procedures, internal product briefings and comparisons, white papers, and process descriptions. -...it would be useful for each class of user to have different ontologies of terms, but have each ontology interrelated so translations can be performed automatically... queries at the right level of abstraction... A project leader looking for someone with expertise in operating systems should be able to locate an employee who is an expert with both Unix and Windows...' Design Documentation - '...design documentation for the aerospace domain,...: Maintenance engineer looking for all information relating to a particular part (e.g., "wing-spar"). Design engineer looking at constraints on re-use of a particular sub-assembly.' - constraints such as: biplane(x) => CardinalityOf(wing(X)) = 2 wingspar(x) AND wing(y) AND iscomponentof(x,y) => length(x) < length(y)' 230
11.7 Six OWL use cases, W3C (3/3) Agents and Services (ks. esim. http://www.agentcities.org/) - 'a social activities planner... agent requires domain ontologies that represent the terms for restaurants, hotels, etc. and service ontologies to represent the terms used in the actual services.... ontologies will enable the capture of information necessary for applications to discriminate and balance among user preferences. Such information may be provided by a number of sources, such as portals, service-specific sites, reservation sites and the general Web'. Ubiquitous Computing (ks. esim. http://www.w3.org/mobile/ccpp/) - 'The key issue (and goal) of ubiquitous computing is "serendipitous interoperability," interoperability under "unchoreographed" conditions, i.e., devices which weren't necessarily designed to work together (such as ones built for different purposes, by different manufacturers, at a different time, etc.) should be able to discover each others' functionality and be able to take advantage of it. Being able to "understand" other devices, and reason about their services/functionality is necessary, since full-blown ubiquitous computing scenarios will involve dozens if not hundreds of devices, and a priori standardizing the usage scenarios is an unmanageable task.' 231
11.8 Erilaisia päättelijöitä (esimerkkinä Jena 2) Transitive reasoner Provides support for storing and traversing class and property lattices. This implements just the transitive and symmetric properties of rdfs:subpropertyof and rdfs:subclassof. RDFS rule reasoner Implements a configurable subset of the RDFS entailments. OWL, OWL Mini, OWL Micro Reasoners A set of useful but incomplete implementation of the OWL/Lite subset of the OWL/Full language. DAML micro reasoner Used internally to enable the legacy DAML API to provide minimal (RDFS scale) inferencing. Generic rule reasoner A rule based reasoner that supports user defined rules. Forward chaining, tabled backward chaining and hybrid execution strategies are supported. 232
11.9 Esimerkki (1/3): Jena 2 & PeliKoneet Pieni ontologia - "The schema file shows a simple, artificial ontology concerning computers which defines a GamingComputer as a Computer which includes at least one bundle of type GameBundle and a component with the value gaminggraphics. - The data file shows serveral hypothetical computer configurations including two different descriptions of the configurations "whiteboxzx" and "bigname42". - ks. http://jena.sourceforge.net/inference/ Ts. nyt sanotaan että: - "Tietokoneella on vain yksi emolevy", "hascomponent on transitiivinen.", "Ominaisuudet hasgraphics ja hasmotherboard ovat hascomponentominaisuuksia.",... "Pelikone on täsmälleen sellainen, että..." Huom. OWL-ontologia voi siis sisältää sekä ontologian "skeematiedon" (ns. Terminology) että yksilöitä kuvaavat lausumat (ns. Assertions) 233
11.10 Esimerkki (2/3): Jena 2 & päättely Kokeillaan Jena2:ssa Kysymys: Mitä tiedetään resurssista nforce? Vastaus:... eg:nforce rdf:type owl:thing. # 1 eg:nforce owl:sameas eg:unknownmb. # 2 eg:nforce owl:sameas eg:nforce. # 3 eg:nforce rdf:type eg:motherboard. # 4 eg:nforce rdf:type rdfs:resource. # 5 eg:nforce rdf:type a3b24:f7822755ad:-7ffd. # 6 eg:nforce eg:hasgraphics eg:gaminggraphics. # 7 eg:nforce eg:hascomponent eg:gaminggraphics. # 8 Erilaisen päättelyn tuloksia: - subclass inheritance: rivit 1 ja 4 (luokat ovat olioita ja resursseja) - property inheritance: rivi 7 (hascomponent) - cardinality reasoning: rivi 2 (käytetty emolevyn synonyyminä) - (rivi 6 viittaa hasvalue-rajoituksen tyhjään solmuun) 234
11.11 Esimerkki (3/3): Jena 2 & kysymykset Toinen kysymys (Kyllä/Ei): Onko whiteboxzx GamingComputer? Vastaus: Kyllä Päättelijää voidaan käyttää myös epäjohdonmukaisuuksien (Inconsistency) havaitsemiseen ("validointi"), tuloksena virheraportti, esim.: Conflicts - Error (conflict): Two individuals both same and different, may be due to disjoint classes or functional properties Culprit = eg:nforce2 Implicated node: eg:bignamespecialmb #... + 3 other similar reports Ko. virheen looginen syy on nyt se, että konfiguraatio bigname42 viittaa kahteen emolevyn nimeen (jotka ovat eri objekteja) ja hasmotherboardrelaation tuli olla funktionaalinen Huom. Virheen materiaalinen syy voi myös ontologian suunnitteluvirhe(!) 235
11.12 OWL ja RDF OWL käyttää RDF-tietomallin lausumarakennetta ja RDF/XML-kieltä ontologioiden esittämiseen Keskeisiä eroja: - ontologiat ajatellaan selvästi rajattujen sovellusten kuvailuksi - ontologiat ovat eksplisiittisellä identiteetillä varustettuja olioita - järkevä ontologia rajaa RDF-sanaston käyttöä (ja RDF-logiikkaa) - "OWL-kieli on ilmaisuvoimaisempi kuin esim. RDF Schema" RDF-logiikan pulmista johtuen, RDF:n ja OWL:n suhde on hieman erikoinen - OWL Full on RDF:n laajennus - OWL Lite ja OWL DL ovat sopivasti rajatun RDF-osajoukon laajennuksia - mutta: kaikki RDF-dokumentit eivät kelpaa OWL Lite/DL -dokumenteiksi 236
11.13 Ontologioiden otsikkotieto Ideaalitapauksessa ontologiat ovat selvärajaisia kokonaisuuksia joilla itsellään voi olla nimi, kuvaus ja versionumero:...<owl:ontology rdf:about=""> <rdfs:comment>an example OWL ontology</rdfs:comment> <owl:priorversion rdf:resource="http://www.w3.org/tr/2003/pr-owlguide-20031215/wine"/> <owl:imports rdf:resource="http://www.w3.org/tr/2004/rec-owl-guide- 20040210/food"/> <rdfs:label>wine Ontology</rdfs:label>... Huomioita: - ko. ontologian URI-nimi on nyt ko. dokumentin osoite (notaatio "") - ontologia voi sisältää osana toisen ontologian (imports) - myös yhteensopivuus voidaan ilmoittaa (priorversion) käytännössä tarvitaan myös muita predikaatteja (versioninfo, priorversion, backwardcompatiblewith, incompatiblewith, Deprecated...) 237
11.14 OWL Lite OWL Lite on tarkoitettu melko yksinkertaiseksi ontologiakieleksi - "luokitteluhierarkioiden määrittely ja yksinkertaiset rajoitteet" - ks. http://www.w3.org/tr/owl-features/ Keskeisiä ominaisuuksia: - luokat ja ominaisuudet erotetaan tarkasti toisistaan, - lukumääräsuhteiden esittely on rajattu arvoihin 0 ja 1 - luokkien kuvailurakenteita on rajoitettu, anonyymien luokkien käyttöä on rajoitettu, jne. Rajoitusten tarkoituksena on: - helpottaa päättelijöiden implementointia - turvata sovellusten ratkeavuus (pätee myös OWL DL-suositukselle), - yksinkertaistaa ontologioiden suunnittelua 238
11.15 OWL DL ja OWL Full (1/3) Deskriptiivinen logiikka (DL) määrittelee hyödyllisen osajoukon 1. kl. predikaattilogiikkaan (FOL): - "koska FOL ei ole ratkeava, pitää sen ilmaisuvoimaa rajoittaa sopivasti" Deskriptiivisiä logiikoita (monikko) ryhmitellään eri tavoin, sen mukaan mitä määrittelyteknisiä piirteitä ne sisältävät Perustana yleensä laajennettavat AL-kielet (Attributive Language), syntaksi: C,D A (atomic concept) (universal concept, vrt. owl:thing) (bottom concept, vrt. owl:nothing) A (atomic negation) C D (intersection) R.C (value restriction) R. (limited existential quantification). 239
11.16 OWL DL ja OWL Full (2/3) DL mahdollistaa termien määrittelyn joukko-oppia mukailevan notaation varassa (FOL-syntaksin kuorrutusta), esim. (nyt ns. ALCN-kieli [ts. C UE]) - Parent Person haschild. ~ vanhempi on henkilö joilla on (ainakin yksi) lapsi - Person haschild. ~ henkilöt joilla ei ole yhtään lasta - Person haschild.female ~ henkilöt joiden kaikki lapset naispuolisia - Person ( 1hasChild ( 3hasChild haschild.female)) ~ henkilöt joilla on korkeintaan yksi lapsi tai joilla on korkeintaan kolme lasta joista yksi on naispuolinen DL pyrkii keskeisesti esittämään erilaiseen luokitteluun tähtäävää tietämystä 240
11.17 OWL DL ja OWL Full (3/3) OWL DL määrittelee siis "mahdollisimman rikkaan" OWL-kielen: - päätelmät laskettavissa (Completeness) äärell. ajassa (Decidability) OWL Full sisältää koko OWL-kielen hintana mekaanisen päättelyn käyttökelpoisen sovellettavuuden (mahdollisesti) ylittävä monimutkaisuus Keskeinen (tekninen) ero on se, että OWL... - Full sallii että luokkia tulkitaan toisinaan myös yksilöolioina ts. esiintyminä - Lite ja DL sallivat vain aliluokka-tulkinnan ja luokat ovat alkioiden joukkoja (vrt. luokan intensio [punaisuus] vs. ekstensio [punaviini, mansikka]) 241
11.18 Laajempi esimerkki: Wine & Food Ontology Tarkastelemme seuraavaksi tyyppiesimerkkejä OWL-ontologioiden piirteistä ja esittelyrakenteista (OWL DL) - "Tell me what wines I should buy to serve with each course of the following menu. And, by the way, I don't like Sauternes." - Ks. OWL Web Ontology Language Guide, http://www.w3.org/tr/owlguide/ (n. 40s) 242
11.19 Ontologian rakentaminen ja käyttö Hyvien ontologioiden suunnittelu on melko vaikeaa puuhaa (koska pitää hahmottaa mitä ontologian X pohjalta voidaan aksiomaattisesti päätellä) - "want simple assertions about class membership & broad and useful implications" Kärjistettynä, ontologian rakentaminen sisältää kuitenkin seuraavat intuitiiviset vaiheet (Russel & Norvig, 1997): - Decide what to talk about - Decide on a vocabulary of predicates, functions, and constants - Encode general knowledge about the domain - Encode a description of the specific problem instance - Pose queries to the inference procedure and get answers Helppo sanoa, vaikeampi tehdä! - yksityiskohtaisempia ohjeita, ks. http://www.ksl.stanford.edu/people/dlm/ papers/ontology-tutorial-noy-mcguinness-abstract.html 243
11.20 Lopuksi Ontologian X käyttöönotto edellyttää käytännössä ("tekniikan" ohella) huomattavasti ko. sovelluksen informaaliin ohjeistukseen perehtymistä Hyppäys XML-skeemoista RDF-skeemojen kautta Web-ontologioihin on käsitteellisesti huomionarvoinen - XML-skeemat määrittelevät viestiformaatin (Message Format) jolla operationaalinen tulkinta - ontologiat määrittelevät tietämyskannan (Knowledge Base) esitysvälineen jolla on looginen tulkinta Konkreettisen syyn ontologioiden käyttöön tarjoavat pohjimmiltaan menetelmät ja välineet - on helpompaa rakentaa sovelluksen käsitemallia OWL-työhön nojautuen kuin "puhtaalta pöydältä" (menetelmät, tietomalli, editorit, päättelykoneet) Ontologioiden kehitystyö ja versiointi on merkittävä haaste, aina vain 244