CS 561, Sessions 14-15 1 Knowledge Representation Knowledge engineering: principles and pitfalls Ontologies Examples.

Slides:



Advertisements
Similar presentations
Knowledge Representation using First-Order Logic
Advertisements

First-Order Logic Chapter 8.
Knowledge Representation
Artificial Intelligence Knowledge Representation
Chronos: A Tool for Handling Temporal Ontologies in Protégé
Knowledge Representation
So What Does it All Mean? Geospatial Semantics and Ontologies Dr Kristin Stock.
CS 561, Sessions Knowledge Representation Knowledge engineering: principles and pitfalls Ontologies Examples.
Knowledge Representation AIMA 2 nd Ed. Chapter 10.
For Friday Finish chapter 10 No homework (get started on program 2)
CS 664, Sessions Limitations of systems reviewed so far Goal was fixed: analyze human activity; comment soccer game Vision was fixed and feedforward/bottom-up:
© Franz Kurfess Knowledge-Based Systems CSC 480: Artificial Intelligence Dr. Franz J. Kurfess Computer Science Department Cal Poly.
Knowledge Representation Reading: Chapter
Represent the following sentences in first-order logic, using a consistent vocabulary
First-Order Logic Knowledge Representation Reading: Chapter 8, , FOL Syntax and Semantics read: FOL Knowledge Engineering read:
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Dr. Samy Abu Nasser Faculty of Engineering & Information Technology Artificial Intelligence.
An Introduction to Description Logics. What Are Description Logics? A family of logic based Knowledge Representation formalisms –Descendants of semantic.
INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning.
Author: William Tunstall-Pedoe Presenter: Bahareh Sarrafzadeh CS 886 Spring 2015.
For Friday Exam 1. For Monday No reading Take home portion of exam due.
Artificial Intelligence Building Knowledge Base Chapter 8.
Understanding PML Paulo Pinheiro da Silva. PML PML is a provenance language (a language used to encode provenance knowledge) that has been proudly derived.
Building an Ontology of Semantic Web Techniques Utilizing RDF Schema and OWL 2.0 in Protégé 4.0 Presented by: Naveed Javed Nimat Umar Syed.
Events Events are abstractions. They represent time related objects in space and time. Events can be treated as similar to ”ordinary” objects, but when.
For Wednesday Read chapter 13 Homework: –Chapter 10, exercise 5 (part 1 only, don’t redo) Progress for program 2 due.
Modeling Storing and Mining Moving Object Databases Proceedings of the International Database Engineering and Applications Symposium (IDEAS’04) Sotiris.
1 Logical Agents CS 171/271 (Chapter 7) Some text and images in these slides were drawn from Russel & Norvig’s published material.
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
LOGIC AND ONTOLOGY Both logic and ontology are important areas of philosophy covering large, diverse, and active research projects. These two areas overlap.
An Introduction to Description Logics (chapter 2 of DLHB)
1 Knowledge Representation CS 171/CS How to represent reality? Use an ontology (a formal representation of reality) General/abstract domain Specific.
UNIT_2 1 DATABASE MANAGEMENT SYSTEM[DBMS] [Unit: 2] Prepared By Lavlesh Pandit SPCE MCA, Visnagar.
1 CS 2710, ISSP 2610 Chapter 12 Knowledge Representation.
1 Logical Agents CS 171/271 (Chapter 7) Some text and images in these slides were drawn from Russel & Norvig’s published material.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Some Thoughts to Consider 8 How difficult is it to get a group of people, or a group of companies, or a group of nations to agree on a particular ontology?
Lecture 7-2CS250: Intro to AI/Lisp Building Knowledge Bases Lecture 7-2 February 18 th, 1999 CS250.
For Wednesday Read chapter 13 No homework. Program 2 Any questions?
Lecture 8-2CS250: Intro to AI/Lisp What do you mean, “What do I mean?” Lecture 8-2 November 18 th, 1999 CS250.
Ontology Applying logic to the real world. D Goforth - COSC 4117, fall Real world knowledge general knowledge / common sense reasoning domain expertise.
For Monday after Spring Break Finish chapter 12 Homework –Chapter 12, exercise 7.
1 CS 2710, ISSP 2160 Chapter 12, Part 1 Knowledge Representation.
Lecture 8-2CS250: Intro to AI/Lisp What do you mean, “What do I mean?” Lecture 8-2 November 18 th, 1999 CS250.
1 CS 2710, ISSP 2160 Chapter 12 Knowledge Representation.
Artificial Intelligence Logical Agents Chapter 7.
Events Events are abstractions. They represent time related objects in space and time. Events can be treated as similar to ”ordinary” objects, but when.
Knowledge Representation Part I Ontology Jan Pettersen Nytun Knowledge Representation Part I, JPN, UiA1.
COP Introduction to Database Structures
Knowledge Representation
First-Order Logic Knowledge Representation
Knowledge Representation
Knowledge Representation
First-Order Logic Knowledge Representation
Knowledge Representation
Survey of Knowledge Base Content
First-Order Logic Knowledge Representation
Knowledge Representation
KNOWLEDGE REPRESENTATION
Knowledge Representation
First-Order Logic Knowledge Representation
Knowledge Representation I (Propositional Logic)
Knowledge Representation
Deniz Beser A Fundamental Tradeoff in Knowledge Representation and Reasoning Hector J. Levesque and Ronald J. Brachman.
CGS 2545: Database Concepts Summer 2006
Knowledge Representation
Representations & Reasoning Systems (RRS) (2.2)
Knowledge Representation
Presentation transcript:

CS 561, Sessions Knowledge Representation Knowledge engineering: principles and pitfalls Ontologies Examples

CS 561, Sessions Knowledge Engineer Populates KB with facts and relations Must study and understand domain to pick important objects and relationships Main steps: Decide what to talk about Decide on vocabulary of predicates, functions & constants Encode general knowledge about domain Encode description of specific problem instance Pose queries to inference procedure and get answers

CS 561, Sessions Knowledge engineering vs. programming Knowledge EngineeringProgramming 1.Choosing a logicChoosing programming language 2.Building knowledge baseWriting program 3.Implementing proof theoryChoosing/writing compiler 4.Inferring new factsRunning program Why knowledge engineering rather than programming? Less work: just specify objects and relationships known to be true, but leave it to the inference engine to figure out how to solve a problem using the known facts.

CS 561, Sessions Properties of good knowledge bases Expressive Concise Unambiguous Context-insensitive Effective Clear Correct … Trade-offs: e.g., sacrifice some correctness if it enhances brevity.

CS 561, Sessions Efficiency Ideally: Not the knowledge engineer’s problem The inference procedure should obtain same answers no matter how knowledge is implemented. In practice: - use automated optimization - knowledge engineer should have some understanding of how inference is done

CS 561, Sessions Pitfall: design KB for human readers KB should be designed primarily for inference procedure! e.g.,VeryLongName predicates: BearOfVerySmallBrain(Pooh) does not allow inference procedure to infer that Pooh is a bear, an animal, or that he has a very small brain, … Rather, use: Bear(Pooh)  b, Bear(b)  Animal(b)  a, Animal(a)  PhysicalThing(a) … [See AIMA pp for full example] In other words: BearOfVerySmallBrain(pooh) = x(pooh)

CS 561, Sessions Debugging In principle, easier than debugging a program, because we can look at each logic sentence in isolation and tell whether it is correct. Example:  x, Animal(x)   b, BrainOf(x) = b means “there is some object that is the value of the BrainOf function applied to an animal” and can be corrected to mean “every animal has a brain” without looking at other sentences.

CS 561, Sessions Ontology Collection of concepts and inter-relationships Widely used in the database community to “translate” queries and concepts from one database to another, so that multiple databases can be used conjointly (database federation)

CS 561, Sessions Ontology Example Khan & McLeod, 2000

CS 561, Sessions Towards a general ontology Develop good representations for: -categories -measures -composite objects -time, space and change -events and processes -physical objects -substances -mental objects and beliefs -…

CS 561, Sessions Representing Categories We interact with individual objects, but… much of reasoning takes place at the level of categories. Representing categories in FOL: - use unary predicates e.g., Tomato(x) - reification: turn a predicate or function into an object e.g., use constant symbol Tomatoes to refer to set of all tomatoes “x is a tomato” expressed as “x  Tomatoes” Strong property of reification: can make assertions about reified category itself rather than its members e.g., Population(Humans) = 5e9 -in a table form (small set of objects) -based on its properties

CS 561, Sessions Categories: inheritance Allow to organize and simplify knowledge base e.g., if all members of category Food are edible and Fruits is a subclass of Food and Apples is a subclass of Fruits then we know (through inheritance) that apples are edible. Taxonomy: hierarchy of subclasses Because categories are sets, we handle them as such. e.g., two categories are disjoint if they have no member in common a disjoint exhaustive decomposition is called a partition etc…

CS 561, Sessions Example: Taxonomy of hand/arm movements Hand/arm movement GesturesUnintentional Movements ManipulativeCommunicative ActsSymbols Mimetic DeicticReferentialModalizing Quek,1994, 1995.

CS 561, Sessions Measures Can be represented using units functions e.g.,Length(L 1 ) = Inches(1.5) = Centimeters(3.81) Measures can be used to describe objects e.g., Mass(Tomato 12 ) = Kilograms(0.16) Caution: be careful to distinguish between measures and objects e.g.,  b, b  DollarBills  CashValue(b) = $(1.00)

CS 561, Sessions Composite Objects One object can be part of another. PartOf relation is transitive and reflexive: e.g., PartOf(Bucharest, Romania) PartOf(Romania, EasternEurope) PartOf(EasternEurope, Europe) Then we can infer Part Of(Bucharest, Europe) Composite object: any object that has parts

CS 561, Sessions Composite Objects (cont.) Categories of composite objects often characterized by their structure, i.e., what the parts are and how they relate. e.g.,  a Biped(a)   ll, lr, b Leg(ll)  Leg(lr)  Body(b)  PartOf(ll, a)  PartOf(lr, a)  PartOf(b, a)  Attached(ll, b)  Attached(lr, b)  ll  lr   x Leg(x)  PartOf(x, a)  (x = ll  x = lr) Such description can be used to describe any objects, including events. We then talk about schemas and scripts.

CS 561, Sessions Events Chunks of spatio-temporal universe e.g., consider the event WorldWarII it has parts or sub-events: SubEvent(BattleOfBritain, WorldWarII) it can be a sub-event: SubEvent(WorldWarII, TwentiethCentury) Intervals: events that include as sub-events all events occurring in a given time period (thus they are temporal sections of the entire spatial universe). Cf. situation calculus: fact true in particular situation event calculus: event occurs during particular interval

CS 561, Sessions Events (cont.) Places: spatial sections of the spatio-temporal universe that extend through time Use In(x) to denote subevent relation between places; e.g. In(NewYork, USA) Location function: maps an object to the smallest place that contains it:  x,l Location(x) = l  At(x, l)   ll At(x, ll)  In(l, ll)

CS 561, Sessions Times, Intervals and Actions Time intervals can be partitioned between moments (=zero duration) and extended intervals: Absolute times can then be derived from defining a time scale (e.g., seconds since midnight GMT on Jan 1, 1900) and associating points on that scale with events. The functions Start and End then pick the earliest and latest moments in an interval. The function Duration gives the difference between end and start times.  i Interval(i)  Duration(i) = (Time(End(i) – Time(Start(i))) Time(Start(AD1900)) = Seconds(0) Time(Start(AD1991)) = Seconds( ) Time(End(AD1991)) = Seconds( ) Duration(AD1991) = Seconds( )

CS 561, Sessions Times, Intervals and Actions (cont.) Then we can define predicates on intervals such as:  i, j Meet(i, j)  Time(End(i)) = Time(Start(j))  i, j Before(i, j)  Time(End(i)) < Time(Start(j))  i, j After(j, i)  Before(i,j)  i, j During(i, j)  Time(Start(j))  Time(Start(i))  Time(End(j))  Time(End(i))  i, j Overlap(i, j)   k During(k, i)  During(k, j)

CS 561, Sessions Objects Revisited It is legitimate to describe many objects as events We can then use temporal and spatial sub-events to capture changing properties of the objects e.g., Poland event 19thCenturyPoland temporal sub-event CentralPoland spatial sub-event We call fluents objects that can change across situations.

CS 561, Sessions Substances and Objects Some objects cannot be divided into distinct parts – e.g., butter: one butter? no, some butter!  butter substance (and similarly for temporal substances) (simple rule for deciding what is a substance: if you cut it in half, you should get the same). How can we represent substances? - Start with a category e.g.,  x,y x  Butter  PartOf(y, x)  y  Butter - Then we can state properties e.g.,  x Butter(x)  MeltingPoint(x, Centigrade(30))

CS 561, Sessions Example: Activity Recognition Goal: use network of video cameras to monitor human activity Applications: surveillance, security, reactive environments Research: IRIS at USC Examples: two persons meet, one person follows another, one person steals a bag, etc…

CS 561, Sessions Human activity detection Nevatia/Medioni/Cohen

CS 561, Sessions Low-level processing

CS 561, Sessions Spatio-temporal representation

CS 561, Sessions

CS 561, Sessions Modeling Events

CS 561, Sessions Modeling Events

CS 561, Sessions