Ontologie: studijní opora
Zpracovala: Helena Kučerová
8. Metody návrhu ontologie
Již bylo konstatováno, že informatické ontologie na rozdíl od ontologií filozofických nejsou výsledkem vědeckého zkoumání, ale jsou to navrhované a konstruované artefakty. Přístup k návrhu informatických ontologií prodělal analogický vývoj jako v případě počítačových programů a znalostních systémů, jen s cca třicetiletým časovým posunem: od původního pojetí návrhu ontologie jako umění či vědy, dostupných jen několika výjimečně disponovaným jedincům, k inženýrství. Analogicky k softwarovému a znalostnímu inženýrství se zformovala nová inženýrská disciplína – ontologické inženýrství.
Jako inženýrství (angl. engineering) se označuje systematická aplikace vědeckých znalostí při návrhu a tvorbě cenově efektivních řešení praktických problémů. Uplatňuje se při tvorbě rozsáhlých, složitých a technologicky náročných artefaktů. Inženýrské řešení respektuje existující standardy a je dokumentováno. Na rozdíl od teoretického výzkumu má inženýrství vždy výrazný etický aspekt.
Obecný postup inženýrského návrhu vychází z předem určeného cíle, existujících omezení a požadované spolehlivosti. Samotnému návrhu předchází analýza problému, následuje volba metodiky a nástrojů. Klíčovým procesem je modelování a návrh řešení. Následují procesy implementace navrženého řešení (výroba, realizace, správa).
Východiskem pro metody ontologického inženýrství jsou především metody systémového a softwarového inženýrství a metody fasetové analýzy.
Ontologické inženýrství zahrnuje soubor aktivit, jež se týkají procesu vývoje, životního cyklu a metod tvorby (konstrukce) ontologií a pomůcek (například jazyků), jež tyto aktivity podporují. Kromě obvyklých obecných inženýrských procesů (analýza, návrh, testování, implementace, správa) se ontologické inženýrství zaměřuje i na specifické oblasti mapování, integrace, sdílení a opětovného použití ontologií. Analogicky ke CASE systémům v softwarovém inženýrství už jsou k dispozici i specializované softwarové nástroje podporující návrh ontologií (Protégé, Ontopia ad.).
V ontologickém inženýrství se uvažují čtyři typy aktérů. Kromě ontologického/znalostního inženýra se zpravidla vývoje účastní ještě doménový specialista / odborník a ve stále větší míře i koncový uživatel – osoba. Dalším uvažovaným subjektem je počítačová aplikace (agent) v roli uživatele ontologie.
První krok směrem ke standardizaci tvorby ontologií učinil v roce 1995 Thomas Gruber. Zformuloval obecná kritéria, jež doporučil sledovat během návrhu ontologií, a jejich použitelnost doložil dvěma případovými studiemi.[1]
1. Jasnost, srozumitelnost: Každý pojem reprezentovaný termínem má mít objektivní (jednoznačnou, přesnou a kontextově nezávislou) definici. Preferují se formální definice tvořené logickými axiomy. Definice mají být úplné, tj. mají splňovat jak logické podmínky nutnosti, tak podmínky postačitelnosti.
2. Soudržnost: Povoleno je jen takové odvozování, které je v souladu s obsahem definic termínů.
3. Rozšiřitelnost: Rozšiřování a specializace ontologie má umožnit monotónní usuzování, tj. definování nových termínů nemá vyžadovat revizi existujících definic.
4. Minimální závislost na znakovém (kódovém) systému: Konceptualizace, tj. pojmová reprezentace skutečnosti, má být provedena na úrovni znalostí a nemá být omezována zvoleným typem notace nebo kódování.
5. Minimální ontologické závazky: Termíny v ontologii mají mít svůj význam co nejméně omezen, pouze v míře nezbytně nutné pro komunikaci.
Tato kritéria patří k základním principům ontologického inženýrství. Nezapřou své kořeny v pravidlech klasické formální logiky. Dalším rysem, který zase odkazuje na principy organizace znalostí v knihovnách, je orientace na flexibilitu a jednoduchost systému. Požadavek minimálních ontologických závazků je analogický požadavku Seymoura Lubetzkyho z roku 1953 na zjednodušení katalogizačních pravidel, formulovanému slavnou otázkou: „Jsou všechna tato pravidla nezbytná?“[2]
1. Specifikace požadavků
Stejně jako v softwarovém inženýrství se aktivity ontologického inženýrství zahajují specifikací požadavků.
Podle terminologické normy ISO/IEC 2382 je požadavek (angl. requirement) „základní podmínka, kterou musí systém splňovat“.[3] Požadavky se obvykle člení na funkční a ne-funkční. Funkční požadavky stanoví, co má systém dělat a jsou specifikovány prostřednictvím případů užití. Ne-funkční požadavky určují, za jakých podmínek bude systém plnit stanovené funkce. Jsou specifikovány pomocí ontologických závazků.
Obr. 7 Struktura specifikace požadavků na ontologii
Případem užití rozumíme zaznamenaný požadavek, určující, co má systém vykonávat či jak se má chovat vzhledem ke konkrétnímu aktérovi (např. k uživateli). Případy užití se často specifikují formou scénářů pro používání systému; každý scénář obsahuje sekvenci (posloupnost) událostí, které v jeho rámci probíhají. Specifickým typem případu užití v ontologickém inženýrství je zodpovídání tzv. kompetenčních otázek (angl. competency questions). Pojem kompetenční otázky zavedli do ontologického inženýrství v rámci své metodiky TOVE Michael Grüninger a Mark S. Fox.[4] Definují je jako otázky, na něž má být ontologie schopna poskytovat odpovědi, a doporučují, aby každý objekt v ontologii byl spojen s nějakou otázkou, k jejímuž zodpovězení má přispět. Aldo Gangemi s Valentinou Presuttiovou dále upřesňují, že kompetenční otázka je „typický dotaz, který by odborník mohl chtít položit za určitým účelem znalostní bázi ze své cílové domény. Správná doménová ontologie by měla specifikovat všechny a zároveň pouze ty konceptualizace, potřebné k zodpovězení kompetenčních otázek formulovaných odborníky nebo získaných od nich.“[5]
Termín ontologické závazky (angl. ontological commitment) se používá i ve filozofii, kam jej zavedl Willard Van Orman Quine[6]. V kontextu informatických ontologií se tímto termínem označují předpoklady, pravidla a omezení uplatňovaná při konstrukci ontologie. V negativním slova smyslu se též označují jako cognitive bias (kognitivní zkreslení). V užším slova smyslu představují ontologické závazky dohodu uživatelů ontologie o významu používaných znaků (slov, termínů) pro vyjádření pojmů a jejich vztahů. Plní obdobnou úlohu jako integritní omezení a tzv. business rules (obchodní pravidla, aplikační logika) v databázových systémech.
2. Analýza a návrh
Pro analytickou a návrhovou fázi tvorby ontologie jsou k dispozici různé metodiky.[7] V této části jsou uvedeny dvě z nich - metodika Williama Dentona a Louise Spiteriové s kořeny a zamýšleným využitím v oblasti informační vědy a metodika OntoClean, jejíž autoři působí v oblasti ontologického inženýrství.
Metodika Williama Dentona a Louise Spiteriové
V oblasti informační vědy se vyprofilovala metodika, která syntetizuje vybrané teoretické kánony, postuláty a principy S. R. Ranganathana a teorie britské Skupiny pro výzkum klasifikace (CRG). Louise F. Spiteriová s jejich využitím vytvořila a v roce 1998 publikovala zjednodušenou metodiku fasetové analýzy určenou původně pro účely výuky studentů knihovní a informační vědy na Dalhousieově univerzitě v Halifaxu.[8] V roce 2003 dopracoval William Denton tuto metodiku do podoby vhodné pro tvorbu fasetové klasifikace určené pro publikování webového obsahu.[9] Dentonova metodika se stala de facto standardem tvorby jednoduchých fasetových klasifikací v prostředí webu a dočkala se i aktualizace a přepracování do podoby ontologického návrhového vzoru.[10]
Východiskem jsou čtyři fáze tvorby fasetové klasifikace, jež v roce 1960 definoval člen CRG Brian Campbell Vickery :
1. Roztřídění termínů v dané oblasti do homogenních, navzájem se vylučujících faset, z nichž každá je odvozena z nadřazeného univerza podle jednoho kritéria členění;
2. Určení pořadí, v němž budou fasety použity ke konstrukci složených hesel;
3. Vytvoření takové notace pro dané schéma, jež dovolí plně flexibilní kombinaci termínů a jež rozmístí předměty do preferovaného pořadí (angl. filling order);
4. Použití fasetového schématu takovým způsobem, že umožní jak specifické odkazy, tak požadovanou úroveň obecného průzkumu.
V metodice navržené Williamem Dentonem jsou Vickeryho fáze doplněny o další tři fáze. Ústřední fáze – vytvoření a uspořádání faset, jsou založeny na zjednodušeném modelu fasetové analýzy, který vypracovala Louise Spiteriová. Ve vodopádovém životním cyklu se uplatňují četné prvky iterace, v jednotlivých fázích se střídavě užívají postupy top-down a bottom-up. Klíčové fáze a činnosti, jež probíhají v jejich rámci, jsou znázorněny v následující tabulce.
Fáze | Rovina díla dle S. R. Ranganathana | Činnosti v rámci fáze |
Shromáždění entit | rovina idejí (idea plane) - analýza domény (věcné oblasti) | Shromáždění reprezentativního vzorku entit pro danou doménu; u malých kolekcí je doporučeno zahrnout entity z celé domény. Jaké věci ontologie zahrne? Produkt: Pojmy reprezentující věci ve zvolené doméně. |
Popis entit | rovina jazyka (verbal plane) | Vytvoření popisu jednotlivých entit. Sémantický rozklad popisů – rozdělení vět na části, přeuspořádání slov, rozpoznání základních pojmů v jednotlivých částech vět a jejich izolování. Jak vyjádříme pojmy? Jak vymezíme (definujeme) význam pojmů? Produkt: Názvy tříd (termíny) a jejich definice. |
Vytvoření faset | rovina idejí (idea plane) | Prozkoumání výsledných termínů a nalezení obecných kategorií na nejvyšší úrovni, vyskytujících se ve všech entitách. Omezení nalezených kategorií na množinu vzájemně se vylučujících a ve svém celku vyčerpávajících faset, použitelných pro všechny termíny vytvořené v předchozí fázi. V rámci výběru faset se uplatňují následující principy:
Produkt: Vzájemně se vylučující a ve svém celku vyčerpávající kategorie, použitelné pro všechny věci určené ve fázi 1. |
Uspořádání faset | rovina idejí (idea plane) rovina jazyka (verbal plane) |
Naplnění faset termíny vytvořenými ve fázi Popis entit, tak aby bylo možné zatřídit všechny shromážděné entity. Uspořádání termínů uvnitř fasety podle zvoleného principu (abecední, hierarchický, chronologický ad.). Volba preferovaných termínů, tvorba řízeného slovníku. |
Určení pořadí faset | rovina notace (notational plane) | Rozhodnutí o standardním (defaultním) uvádění pořadí faset (např. na domovské stránce). |
Klasifikace | Zatřídění celého obsahu domény. Analýza všech entit za použití faset a použití správných termínů pro popis každé entity. | |
Revize, testování, správa | Při jakýchkoli problémech zjištěných v etapě klasifikace následuje iterace – návrat k předchozí fázi, jež je relevantní k vyřešení problému. Následuje uživatelské testování a pravidelná správa klasifikace (změna terminologie, nové entity, změny v doméně). |
Metodika OntoClean
Autoři této metodiky Nicola Guarino a Christopher Welty[11] konstatují, že je založena na obecných ontologických pojmech převzatých z filozofie. Připomínají, že v praxi modelování světa pro účely návrhu informačního systému lze vidět paralely s filozofií, jež se pokouší popsat svět formalizovaným a logickým způsobem. Lze konstatovat, že principy, na nichž je metodika založena, jsou v souladu s obecnými pravidly formálně správné analýzy, odvozenými z logiky.
Metodika je zaměřena na testování ontologie – kontroluje správnost a konzistenci navržené ontologie testováním vlastností jejích tříd. Vlastnosti jsou v rámci této metodiky chápány formalizovaně jako unární predikáty predikátové logiky prvního řádu. Autoři tedy pracují s vlastností jako s významem (intenzí) výroku o třídě typu ‚být čtenářem‘, ‚mít krevní skupinu‘. Podstata metodiky spočívá v určení čtyř metavlastností pro vlastnosti každé třídy: esencialita, rigidita, identita, jednota. Následně se tyto metavlastnosti aplikují na pravidla generické hierarchie. Přínosem metodiky je především to, že umožňuje na dostatečně formalizované úrovni zdůvodnit správnost zvolených řešení v konstrukci ontologie.
Esencialita (angl. essence) označuje takovou vlastnost, kterou entita musí mít. Přesněji řečeno, esenciální vlastnost musí mít každá instance třídy, pro niž je vlastnost definována (jež je jejím definičním oborem). Tato vlastnost je tedy v souladu s logickou podmínkou nutnosti.
Rigidita je speciální typ esenciality. Vlastnost je rigidní, pokud je esenciální ve všech svých případech. Jinými slovy, tuto vlastnost musí mít každá instance po celou dobu své existence. Rigidita koresponduje s aristotelským pojmem podstatné vlastnosti. Všechny třídy, jež mají rigidní vlastnosti, tvoří tzv. páteřní taxonomii ontologie.
Identita slouží k rozlišení instancí téže třídy. Každá entita v ontologii by měla mít určité kritérium identity a rigidní vlastnosti, které toto kritérium identity popisují. Tato vlastnost má stejnou funkci, jakou plní v prostředí relačních databází tzv. primární klíč.
Jednota určuje, v jakém vztahu jsou části určité entity k celku – slouží k rozlišení části instance od zbytku světa pomocí sjednocující relace. Třída má tuto vlastnost, pokud existují partitivní vztahy pouze mezi jejími instancemi a žádná instance není částí externího celku. Tato vlastnost je v souladu s doporučením, aby partitivní vztahy byly definovány jako monohierarchické (viz např. doporučení v normě ISO 25964-1).
Při uplatnění metodiky se postupuje následovně: V prvním kroku se každé vlastnosti přidělí metavlastnosti. Druhý krok se zaměřuje na ty vlastnosti, jež byly označeny jako rigidní, a na tvorbu páteřní taxonomie. Ve třetím kroku se na páteřní taxonomii uplatní principy stanovené pro metavlastnosti: kontrola identity a kontrola jednoty. Čtvrtý krok posuzuje nerigidní vlastnosti. V pátém kroku se do upravené páteřní taxonomie doplní další třídy a vztahy.
[1] GRUBER, Thomas R. Toward principles for the design of ontologies used for knowledge sharing. In: International journal of human-computer studies. November/December 1995, 43(5-6), 907-928. https://doi.org/10.1006/ijhc.1995.1081. ISSN 1071-5819.
[2] LUBETZKY, Seymour. Cataloging rules and principles: a critique of the A.L.A. rules for entry or entry and a proposed design for their revision. Washington: Library of Congress, 1953, s. 1.
[3] ISO/IEC 2382:2015. Information technology – Vocabulary [online]. 1st ed. Geneva: International Organization for Standardization, 2015-05 [cit. 2021-03-23]. Dostupné z: https://www.iso.org/obp/ui/#iso:std:iso-iec:2382:ed-1:v1:en:term:2122664.
[4] GRÜNINGER, Michael, FOX, Mark S. Methodology for the design and evaluation of ontologies. In: Workshop on basic ontological issues in knowledge sharing, held in conjunction with IJCAI-95 [online], Montreal, 1995, s. 1-10 [cit. 2021-03-23]. Dostupné z: http://www.eil.utoronto.ca/wp-content/uploads/enterprise-modelling/papers/gruninger-ijcai95.pdf.
[5] GANGEMI, Aldo, PRESUTTI, Valentina. Ontology design patterns. In: STAAB, Steffen, STUDER, Rudi, ed. Handbook on ontologies. 2nd ed. Dordrecht: Springer, 2009, s. 230-231. https://doi.org/10.1007/978-3-540-92673-3_10. ISBN 978-3-540-70999-2 (print). ISBN 978-3-540-92673-3 (online).
[6] Viz PEREGRIN, Jaroslav. Kapitoly z analytické filosofie. 2. vyd. Praha: Filosofia, 2014, s. 196. ISBN 978-80-7007-420-6.
[7] Přehled metod ontologického inženýrství lze najít např. v článku: KUČEROVÁ, Helena. Metodiky ontologického inženýrství. In: Ikaros [online]. 2011, 15(5) [cit. 2023-04-22]. urn:nbn:cz:ik-13630. ISSN 1212-5075. Dostupné z: http://www.ikaros.cz/node/13630.
[8] SPITERI, Louise F. A simplified model for facet analysis: Ranganathan 101. In: Canadian journal of information and library science. April-July 1998, 23(1-2), 1-30. ISSN 1195-096X (print). ISSN 1920-7239 (online).
[9] DENTON, William. How to make faceted classification and put it on the web [online]. [Personal web site]: November 2003 [cit. 2023-04-22]. Dostupné z: http://www.miskatonic.org/library/facet-web-howto.html.
[10] RODRIGUEZ-CASTRO, Bene, GLASER, Hugh, CARR, Leslie. How to reuse faceted classification and put it on the semantic web. In: Peter F. PATEL-SCHNEIDER et al., ed. The Semantic Web – ISWC 2010: 9th International Semantic Web Conference, ISWC 2010, Shanghai, China, November 7-10, 2010: Revised Selected Papers, Part I. Berlin: Springer, © 2010, s. 663-678. Lecture Notes in Computer Science, no. 6496, ISSN 0302-9743. https://doi.org/10.1007/978-3-642-17746-0_42. ISBN 978-3-642-17745-3 (print). ISBN 978-3-642-17746-0 (online).
[11] GUARINO, Nicola, WELTY, Christopher A. An overview of OntoClean. In: STAAB, Steffen, STUDER, Rudi, ed. Handbook on ontologies. 2nd ed. Dordrecht: Springer, 2009, s. 201-220. https://doi.org/10.1007/978-3-540-92673-3_9. ISBN 978-3-540-70999-2 (print). ISBN 978-3-540-92673-3 (online).