Knowledge Engineering. Ontologies

Similar documents
Summarizing the Structure of the Pizza Ontology: Ontology Development with Partial-area Taxonomies and the Ontology Abstraction Framework

A Practical Introduction to Protégé OWL

Introduction to Protégé. Federico Chesani, 18 Febbraio 2010

Protege Tutorial Part One

OWLViz A visualisation plugin for the Protégé OWL Plugin

OWL Pizzas: Practical Experience of Teaching OWL-DL: Common Errors and Common Patterns

A Heuristic Approach to Explain the Inconsistency in OWL Ontologies Hai Wang, Matthew Horridge, Alan Rector, Nick Drummond, Julian Seidenberg

OWL a glimpse. OWL a glimpse (2) requirements for ontology languages. requirements for ontology languages

Protégé-2000: A Flexible and Extensible Ontology-Editing Environment

Ontology Building. Ontology Building - Yuhana

Description Logics and OWL

OWL and tractability. Based on slides from Ian Horrocks and Franz Baader. Combining the strengths of UMIST and The Victoria University of Manchester

Main topics: Presenter: Introduction to OWL Protégé, an ontology editor OWL 2 Semantic reasoner Summary TDT OWL

Presented By Aditya R Joshi Neha Purohit

Knowledge Representations. How else can we represent knowledge in addition to formal logic?

Web Ontology Language: OWL

Table of Contents. iii

Lightweight Semantic Web Motivated Reasoning in Prolog

Simplified Approach for Representing Part-Whole Relations in OWL-DL Ontologies

Ontologies and OWL. Riccardo Rosati. Knowledge Representation and Semantic Technologies

Logic and Reasoning in the Semantic Web (part I RDF/RDFS)

Multi-agent and Semantic Web Systems: RDF Data Structures

OWL 2 Profiles. An Introduction to Lightweight Ontology Languages. Markus Krötzsch University of Oxford. Reasoning Web 2012

Ontology Development. Qing He

University of Huddersfield Repository

Ontology Development Tools and Languages: A Review

Tania Tudorache Stanford University. - Ontolog forum invited talk04. October 2007

Bryan Smith May 2010

Semantic Web Ontologies

protege-tutorial Documentation

H1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services.

a paradigm for the Introduction to Semantic Web Semantic Web Angelica Lo Duca IIT-CNR Linked Open Data:

COMP718: Ontologies and Knowledge Bases

Ontology-based Metadata for MidArch-Styles

Local Closed World Reasoning with OWL 2

Logik für Informatiker Logic for computer scientists. Ontologies: Description Logics

UNIK Multiagent systems Lecture 3. Communication. Jonas Moen

jcel: A Modular Rule-based Reasoner

Use of the CIM Ontology. Scott Neumann, UISOL Arnold DeVos, Langdale Steve Widergren, PNNL Jay Britton, Areva

Integrating SysML and OWL

Semantic Web Test

Ontology Merging: on the confluence between theoretical and pragmatic approaches

H1 Spring C. A service-oriented architecture is frequently deployed in practice without a service registry

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services

Lecture Telecooperation. D. Fensel Leopold-Franzens- Universität Innsbruck

KWIZ, a Knowledge-Acquisition Framework

Multi-agent and Semantic Web Systems: Representation

SEMANTIC WEB LANGUAGES - STRENGTHS AND WEAKNESS

Ontological Modeling: Part 11

Smart Open Services for European Patients. Work Package 3.5 Semantic Services Definition Appendix E - Ontology Specifications

SEMANTIC WEB AND COMPARATIVE ANALYSIS OF INFERENCE ENGINES

Efficient Querying of Web Services Using Ontologies

SEMANTIC WEB LANGUAGES STRENGTHS AND WEAKNESS

What is the Semantic Web?

Structure of This Presentation

Semantic reasoning for dynamic knowledge bases. Lionel Médini M2IA Knowledge Dynamics 2018

Verifying Description Logic Ontologies based on Competency Questions and Unit Testing

The OWL API: An Introduction

Interoperability of Protégé 2.0 beta and OilEd 3.5 in the Domain Knowledge of Osteoporosis

Developing University Ontology using protégé OWL Tool: Process and Reasoning

Adding formal semantics to the Web

A Tool for Storing OWL Using Database Technology

TOWARDS ONTOLOGY DEVELOPMENT BASED ON RELATIONAL DATABASE

Extracting knowledge from Ontology using Jena for Semantic Web

Week 4. COMP62342 Sean Bechhofer, Uli Sattler

Developing Biomedical Ontologies using Protégé

Axiom Patterns. COMP60421 Robert Stevens University of Manchester

Approach for Mapping Ontologies to Relational Databases

Description Logic. Eva Mráková,

OWL Tutorial. LD4P RareMat / ARTFrame Meeting Columbia University January 11-12, 2018

A Tutorial of Viewing and Querying the Ontology of Soil Properties and Processes

COMP718: Ontologies and Knowledge Bases

Chronos: A Tool for Handling Temporal Ontologies

The Semantic Web Revisited. Nigel Shadbolt Tim Berners-Lee Wendy Hall

! Assessed assignment 1 Due 17 Feb. 3 questions Level 10 students answer Q1 and one other

DAML+OIL: an Ontology Language for the Semantic Web

MERGING BUSINESS VOCABULARIES AND RULES

l A family of logic based KR formalisms l Distinguished by: l Decidable fragments of FOL l Closely related to Propositional Modal & Dynamic Logics

GraphOnto: OWL-Based Ontology Management and Multimedia Annotation in the DS-MIRF Framework

Representing Product Designs Using a Description Graph Extension to OWL 2

CHAPTER 2. Overview of Tools and Technologies in Ontology Development

Helmi Ben Hmida Hannover University, Germany

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 95-96

Ontology mutation testing

An Introduction to the Semantic Web. Jeff Heflin Lehigh University

OntoXpl Exploration of OWL Ontologies

Ontological Modeling: Part 8

Today: RDF syntax. + conjunctive queries for OWL. KR4SW Winter 2010 Pascal Hitzler 3

Semantic Web Technologies and Automated Auctions

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

WHAT IS WEB 3.0? Abstract. While the concept of Web2.0 has made a significant impact on the

It Is What It Does: The Pragmatics of Ontology for Knowledge Sharing

On the Scalability of Description Logic Instance Retrieval

Semantic Web Fundamentals

Get my pizza right: Repairing missing is-a relations in ALC ontologies

Semantic Web. Ontology Pattern. Gerd Gröner, Matthias Thimm. Institute for Web Science and Technologies (WeST) University of Koblenz-Landau

The Semantic Planetary Data System

1 Ontology to Describe the Input and Output Data of the Method for Building Domain Ontologies from User-Generated Classification

OntoPlay a flexible user-interface for ontology-based systems

Ontological Modeling: Part 7

Transcription:

Artificial Intelligence Programming Ontologies Chris Brooks Department of Computer Science University of San Francisco Knowledge Engineering Logic provides one answer to the question of how to say things. It does not tell us what to say. Typically, this is the hard part. We want to give our agent enough knowledge to solve all of the problems we are interested in. The process of building a knowledge base is referred to as knowledge engineering Many of the same principles as software engineering. Knowledge Enginering The knowledge engineering process typically consists of the following steps. 1. Determine the queries and types of facts that are available/allowed For example, will the agent need to select actions or make conclusions, or just answer questions from a human user? Will we ask existential queries, or just universal queries? 2. Gather the relevant knowledge Interview experts and find out how the domain works. cisco p.1/?? Knowledge Enginering The knowledge engineering process typically consists of the following steps. 3. Select a vocabulary of classes, functions, predicates and constants This vocabulary is called an ontology 4. Encode general knowledge about the domain Formally represent the knowledge gathered in step 2. This may require revisiting step 3. 5. Encode specific queries or problems to be solved. This may require returning to steps 3 and 4. Ontologies An ontology is a vocabulary that describes all of the objects of interest in the domain and the relations between them. All of the relevant knowledge about a problem we are interested in. Ontolgies allow knowledge about a domain to be shared between agents (including humans). This can allow knowledge to be reused more easily. Allows an agent to perform inference with its current knowledge. Vocabulary An ontology consists of: A set of concepts or classes Guitarist(GeorgeHarrison), x Guitarist(x) Musician(x) Instances of these classes. Relations between classes of objects, sometimes called slots or properties or roles. performs(beatles, WhiteAlbum), containedon(rockyr Restrictions on properties (sometimes called constraints) x,y Artist(x) Song(y) containedon(y,z) performs(x, y) performson(x, z) cisco p.3/?? cisco p.4/??

Ontologies vs OO design Classes are a primary focus of ontology design. In many ways, this looks like object-oriented design. We have classes and subclasses, and properties of classes that look like data members. However, properties have richer semantics than data members. A property may attach to several classes at once, and have subproperties. We can specify constraints on the values in a slot s range. Properties can exist without being assigned to a class. Ontology tools An popular means for assisting in knowledge engineering is the use of GUI-based tools. Details of logic and inference are hidden from the user. Protege is one of the more well-known ontology develoment tools. OWL Web Ontology Language (OWL) is an XML-based language for representing ontologies. Built on top of RDF Encodes a description logic Decidable subset of first-order logic. We ll be using a graphical tool (Protege) that uses OWL as its underlying representation. cisco p.6/?? cisco p.7/?? Types of OWLs OWL Lite Does not allow cardinality (except 0 and 1) Primarily classes, simple constraints/rules Efficient inference mechanisms exist OWL DL Complete and decidable, but more expressive. Inference mechanisms exist. This is what we ll be using. OWL Full Allows metaclasses, richer reasoning about classes No inference mechanisms exist for all of OWL Full. Uses of OWL Organization and indexing of journals and scientific literature Human Genome Project (and bioinformatics in general) Data integration between DBs in an enterprise Automated Web Service description and composition and others... The Pizza Tutorial The pizza tutorial provides a nice tour of the issues involved in creating an ontology in Protege with OWL. We begin by asking competency questions - these are questions we d like our KB to be able to answer. What toppings are on a Margherita pizza? Is the Americana pizza vegetarian? What can I put on my pizza to make it spicy? What pizzas have Tomato on them? cisco p.9/?? cisco p.10/??

Classes As with OO design, we can work top-down, bottom-up, or in a combination of the two. Let s start by making a Pizza class. We then make PizzaBase and PizzaTopping. Make these disjoint. Classes Use the Wizard to add subclasses of PizzaBase: DeepDishBase, ThinAndCrispyBase Use the Wizard to subclass PizzaTopping: MeatTopping, VeggieTopping, CheeseTopping, SeafoodTopping Subclass these. Properties Now we can start to create Properties. Add a hasingredient property. In Protege, properties can have subproperties. Add subproperties hastopping, hasbase. We can also add inverse properties. Also functional, inverse functional, symmetric, and transitive. make hasbase functional. cisco p.12/?? cisco p.13/?? Domains and ranges We can specify that properties can only apply to certain types of objects. set the range of hastopping to be PizzaTopping Set the domain of hastopping to be Pizza. Same for hasbase Property Restrictions The primary way that we write rules in Protege is through the use of property restrictions. We can use an existential restriction to specify that a Pizza must have a PizzaBase. Types of pizzas Add a subclass of pizza called NamedPizza. Add a subclass of this: MargheritaPizza. existential restriction: has Tomato and Mozzarella toppings. Add Americana Pizza: clone Margherita, add Pepperoni Add AmericanaHotPizza: clone Americana, add jalapenos. Add SohoPizza: Margherita plus Olives, Parmesan. cisco p.15/?? cisco p.16/??

Reasoners As your ontology gets large, it can be difficult to maintain: Do you have the hierarchy right? Are there contradictions? Are there other relations that are entailed? A big advantage of using this sort of tool is the ability to perform this inference automatically. Tools for doing this are known as reasoners. We ll be using a particular reasoner known as RACER. Reasoners We can use the reasoner to: Check consistency Classify the taxonomy Infer class membership Let s add an inconsistent class: InconsistentTopping Subclass of Cheese Restriction: must be a Veggie. Run the reasoner. Necessary and Sufficient Condition So far, we ve only specificed necessary conditions. This is not enough to show that something must be a member of a particular class. Create a CheesePizza class Add a necessary and Sufficient restriction - has a Cheese topping. This is now a definition - a CheesyPizza is a Pizza with a Cheese topping. Run RACER again. cisco p.18/?? cisco p.19/?? Universal restrictions We specificed that a Margherita pizza must have Tomato and Mozzarella, but not that those were the only things it could have. To do this, we use universal restrictions. Create a VeggiePizza. Under necessary and sufficient, indicate that all toppings must be veggie or cheese. Run RACER again. Open World Reasoning Why is Margherita (and Soho) not suclassed as Veggie? Protege and OWL use open-world reasoning Can t assume something is false just because it s not stated to be true. Margherita could have other toppings. Add a closure axiom to MargheritaPizza. Use the widget to add closure axioms for Soho and Americana. Value Partitions Use the Wizard to create a SpicynessValuePartition Subclass this to get Hot, Mild, Medium Add hasspiciness property Use the PropertyRestrictions wizard. cisco p.21/?? cisco p.22/??

Cardinality We can also specify the number of toppings a pizza must have. Create a CrowdedPizza Necessary and Sufficient: minimum cardinality: 3. Individuals We can then add individuals using the individuals tab. the Forms tab lets us specify how individuals should be displayed. Add a NamedPizza that has tomato and Mozzarella Run the reasoner again. Querying the KB The query pane lets us create, save and retrieve queries We can specify either AND or OR. Try finding all pizzas that have a cheese topping. cisco p.24/?? cisco p.25/??