Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

AI & Knowledge Engineering with Protege & Ontologies at University of San Francisco - Prof, Study Guides, Projects, Research of Computer Science

An introduction to artificial intelligence programming, focusing on ontologies and protege at the university of san francisco. It covers the basics of semantic nets, inference, knowledge engineering, and creating an ontology using protege. The document also discusses the use of classes, properties, and reasoners in ontology design.

Typology: Study Guides, Projects, Research

Pre 2010

Uploaded on 07/30/2009

koofers-user-x0h
koofers-user-x0h 🇺🇸

10 documents

1 / 28

Toggle sidebar

Related documents


Partial preview of the text

Download AI & Knowledge Engineering with Protege & Ontologies at University of San Francisco - Prof and more Study Guides, Projects, Research Computer Science in PDF only on Docsity! Artificial Intelligence Programming Ontologies and Protege Chris Brooks Department of Computer Science University of San Francisco Department of Computer Science — University of San Francisco – p. 1/?? 17-2: Graphical Representations • Logic is a very powerful representation language, but it can be difficult for humans to work with. • In addition, the lack of structure between sentences in a KB can make inference difficult. • A semantic network is a way to graphically represent and reason about some logical concepts. Department of Computer Science — University of San Francisco – p. 2/?? 17-5: 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. Department of Computer Science — University of San Francisco – p. 5/?? 17-6: Knowledge Enginering • The knowledge engineering process typically consists of the following steps. ◦ 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? ◦ Gather the relevant knowledge • Interview experts and find out how the domain works. Department of Computer Science — University of San Francisco – p. 6/?? 17-7: Knowledge Enginering • Select a vocabulary of classes, functions, predicates and constants ◦ This vocabulary is called an ontology • Encode general knowledge about the domain ◦ Formally represent the knowledge gathered in step 2. ◦ This may require revisiting step 3. • Encode specific queries or problems to be solved. ◦ This may require returning to steps 3 and 4. Department of Computer Science — University of San Francisco – p. 7/?? 17-10: 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. • Properties can have subproperties • We can specify constraints on the values in a property’s range. • Slots can exist without being assigned to a class. Department of Computer Science — University of San Francisco – p. 10/?? 17-11: Protege • Protege is a Java-based graphical tool for constructing ontologies. • Has a rich set of plugins for performing inference and visualizing data. • Can export data in RDF and OWL for use with the Semantic Web. Department of Computer Science — University of San Francisco – p. 11/?? 17-12: 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 won’t be working with OWL directly in here. Department of Computer Science — University of San Francisco – p. 12/?? 17-15: Classes • Use the Wizard to add subclasses of PizzaBase: DeepDishBase, ThinAndCrispyBase • Use the Wizard to subclass PizzaTopping: MeatTopping, VeggieTopping, CheeseTopping, SeafoodTopping • Subclass these. Department of Computer Science — University of San Francisco – p. 15/?? 17-16: 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. Department of Computer Science — University of San Francisco – p. 16/?? 17-17: 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 Department of Computer Science — University of San Francisco – p. 17/?? 17-20: 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. Department of Computer Science — University of San Francisco – p. 20/?? 17-21: 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. Department of Computer Science — University of San Francisco – p. 21/?? 17-22: Necessary and Sufficient Conditions • 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. Department of Computer Science — University of San Francisco – p. 22/?? 17-25: Value Partitions • Use the Wizard to create a SpicynessValuePartition • Subclass this to get Hot, Mild, Medium • Add hasSpiciness property • Use the PropertyRestrictions wizard. Department of Computer Science — University of San Francisco – p. 25/?? 17-26: Cardinality • We can also specify the number of toppings a pizza must have. • Create a CrowdedPizza • Necessary and Sufficient: minimum cardinality: 3. Department of Computer Science — University of San Francisco – p. 26/?? 17-27: 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. Department of Computer Science — University of San Francisco – p. 27/??
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved