Knowledge Representation

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

Knowledge Representation using First-Order Logic
Knowledge Representation
Artificial Intelligence Knowledge Representation
CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
Chronos: A Tool for Handling Temporal Ontologies in Protégé
Default Reasoning the problem: in FOL, universally-quantified rules cannot have exceptions –  x bird(x)  can_fly(x) –bird(tweety) –bird(opus)  can_fly(opus)
1 A Description Logic with Concrete Domains CS848 presentation Presenter: Yongjuan Zou.
Knowledge Representation AIMA 2 nd Ed. Chapter 10.
For Friday Finish chapter 10 No homework (get started on program 2)
CS 561, Sessions Knowledge Representation Knowledge engineering: principles and pitfalls Ontologies Examples.
© Franz Kurfess Knowledge-Based Systems CSC 480: Artificial Intelligence Dr. Franz J. Kurfess Computer Science Department Cal Poly.
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
RDF (Resource Description Framework) Why?. XML XML is a metalanguage that allows users to define markup XML separates content and structure from formatting.
Dr. Samy Abu Nasser Faculty of Engineering & Information Technology Artificial Intelligence.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
An Introduction to Description Logics. What Are Description Logics? A family of logic based Knowledge Representation formalisms –Descendants of semantic.
Knowledge representation
Protege OWL Plugin Short Tutorial. OWL Usage The world wide web is a natural application area of ontologies, because ontologies could be used to describe.
Of 39 lecture 2: ontology - basics. of 39 ontology a branch of metaphysics relating to the nature and relations of being a particular theory about the.
For Friday Exam 1. For Monday No reading Take home portion of exam due.
USCISIUSCISI Background Description Logic Systems Thomas Russ.
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.
Temporal Reasoning and Planning in Medicine Frame-Based Representations and Description Logics Yuval Shahar, M.D., Ph.D.
LOGIC AND ONTOLOGY Both logic and ontology are important areas of philosophy covering large, diverse, and active research projects. These two areas overlap.
1 Knowledge Representation CS 171/CS How to represent reality? Use an ontology (a formal representation of reality) General/abstract domain Specific.
Artificial Intelligence Chapter 18. Representing Commonsense Knowledge.
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall Knowledge Representation Semantic Web - Fall 2005 Computer.
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lecture 5, Jan 23 th, 2003 Lotzi Bölöni.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
1 CS 2710, ISSP 2610 Chapter 12 Knowledge Representation.
Metadata Common Vocabulary a journey from a glossary to an ontology of statistical metadata, and back Sérgio Bacelar
Of 33 lecture 1: introduction. of 33 the semantic web vision today’s web (1) web content – for human consumption (no structural information) people search.
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?
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.
Ontology Technology applied to Catalogues Paul Kopp.
Artificial Intelligence Knowledge Representation.
1 CS 2710, ISSP 2160 Chapter 12 Knowledge Representation.
Reading literacy. Definition of reading literacy: “Reading literacy is understanding, using and reflecting on written texts, in order to achieve one’s.
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.
Proof And Strategies Chapter 2. Lecturer: Amani Mahajoub Omer Department of Computer Science and Software Engineering Discrete Structures Definition Discrete.
Knowledge Representation
Knowledge Representation Techniques
Chapter 2 Sets and Functions.
First-Order Logic Knowledge Representation
Computer Science cpsc322, Lecture 20
ece 720 intelligent web: ontology and beyond
ece 627 intelligent web: ontology and beyond
Knowledge Representation
Ontology From Wikipedia, the free encyclopedia
First-Order Logic Knowledge Representation
Survey of Knowledge Base Content
Relational Algebra 461 The slides for this text are organized into chapters. This lecture covers relational algebra, from Chapter 4. The relational calculus.
Ontology.
First-Order Logic Knowledge Representation
Knowledge Representation
Object-Oriented Knowledge Representation
First-Order Logic Knowledge Representation
Computer Science cpsc322, Lecture 20
Knowledge Representation
Deniz Beser A Fundamental Tradeoff in Knowledge Representation and Reasoning Hector J. Levesque and Ronald J. Brachman.
Knowledge Representation
Representations & Reasoning Systems (RRS) (2.2)
Knowledge Representation
Presentation transcript:

Knowledge Representation

Outline General ontology Categories and objects Events and processes Reasoning systems Internet shopping world Summary

Ontologies An ontology is a “vocabulary” and a “theory” of a certain “part of reality” Special-purpose ontologies apply to restricted domains (e.g. electronic circuits) General-purpose ontologies have wider applicability across domains, i.e.  Must include concepts that cover many subdomains  Cannot use special “short-cuts” (such as ignoring time)  Must allow unification of different types of knowledge GP ontologies are useful in widening applicability of reasoning systems, e.g. by including time

Ontological engineering Representing a general-purpose ontology is a difficult task called ontology engineering Existing GP ontologies have been created in different ways:  By team of trained ontologists  By importing concepts from database(s)  By extracting information from text documents  By inviting anybody to enter commonsense knowledge Ontological engineering has only been partially successful, and few large AI systems are based on GP ontologies (use special purpose ontologies)

Elements of a general ontology Categories of objects Measures of quantities Composite objects Time, space, and change Events and processes Physical objects Substances Mental objects and beliefs

Top-level ontology of the world Anything AbstractObjects Events Sets Numbers RepresentationObjects Intervals Places PhysicalObjects Processes Categories Sentences Measurements Moments Things Stuff Times Weights Animals Agents Solids Liquid Gas Humans

Upper Ontology The general framework of concepts is called an upper ontology because of the convention of drawing graphs with the general concepts at the top and the more specific concepts below them Of what use is an upper ontology? Consider the ontology for circuits that we studied It makes many simplifying assumptions: time is omitted completely; signals are fixed and do not propagate; the structure of the circuit remains constant. more general ontology would consider signals at particular times, and would include the wire lengths and propagation delays. This would allow us to simulate the timing properties of the circuit, and indeed such simulations are often carried out by circuit designers.

Categories and objects Categories are used to classify objects according to common properties or definitions x x Tomates  Re d (x)  Round (x) Categories can be represented by  Predicates: Tomato(x)  Objects: The constant Tomatoes represents set of tomatoes (reification) Roles of category representations  Instance relations (is-a): x1 Tomatoes  Taxonomical hierarchies (Subset): Tomatoes  Fruit  Inheritance of properties  (Exhaustive) decompositions

Categories using FOL

Properties of categories We say that two or more categories are disjoint if they have no members in common. exhaustive decomposition A disjoint exhaustive decomposition is known as a partition. The following examples illustrate these three concepts: The predicates us to define these concepts are For example, a bachelor is an unmarried adult male:

Objects and substance Need to distinguish between substance and discrete objects Substance (“stuff”)  Mass nouns - not countable  Intrinsic properties  Part of a substance is (still) the same substance Discrete objects (“things”)  Count nouns - countable  Extrinsic properties  Parts are (generally) not of same category

Composite objects A composite object is an object that has other objects as parts The PartOf relation defines the object containment, and is transitive and reflexive PartOf (x, y)  PartOf ( y, z)  PartOf (x, z) PartOf (x, x) Objects can be grouped in PartOf hierarchies, similar to Subset hierarchies The structure of the composite object describes how the parts are related

Composite objects For example, a biped has two legs attached to a body: For example, we might want to say “The apples in this bag weigh two pounds.” we need a new concept, which we will call a bunch. For example, if the apples are Apple1, Apple2, and Apple3, then BunchOf ({Apple1,Apple2,Apple3}) ∀x x∈ s ⇒ PartOf (x, BunchOf (s)) ∀ y [∀x x∈ s ⇒ PartOf (x, y)] ⇒ PartOf (BunchOf (s), y) logical minimization, which means defining an object as the smallest one satisfying certain conditions.

Measurements Need to be able to represent properties like height, mass, cost, etc. Values for such properties are measures Unit functions represent and convert measures Length( L1)  Inches(1.5)  Centimeters(3.81) l Centimeters(2.54  l)  Inches(l) Measures can be used to describe objects Mass(Tomato1)  Ki log rams(0.16) d d Days  Duration(d )  Hours(24) Non-numerical measures can also be represen- ted, but normally there is an order (e.g. >). Used in qualitative physics

Measurements Comparative difficulty e1 ∈ Exercises ∧ e2 ∈Exercises ∧ Wrote(Norvig, e1) ∧ Wrote(Russell, e2) ⇒ Difficulty(e1) > Difficulty(e2) e1 ∈ Exercises ∧ e2 ∈Exercises ∧ Difficulty(e1) > Difficulty(e2) ⇒ ExpectedScore(e1) < ExpectedScore(e2)

Objects: Things and stuff The real world can be seen as consisting of primitive objects (e.g., atomic particles) and composite objects built from them. There is, however, a significant portion of reality that seems to defy any obvious individuation—division into distinct objects. We give this portion the generic name stuff. count nouns, such as aardvarks, holes, and theorems, and mass nouns, such as butter, water, and energy. To represent stuff properly, we begin with the obvious. We need to have as objects in our ontology at least the gross “lumps” of stuff we interact with. b∈ Butter ∧ PartOf (p, b) ⇒ p ∈Butter b∈ Butter ⇒ MeltingPoint(b,Centigrade(30)) Intrinsic properties and extrinsic properties

Event calculus Event calculus: How to deal with change based on representing points of time Reifies fluents and events  A fluent: At(Bilal, Berkeley)  The fluent is true at time t: T(At(Bilal, IQRA),t) Events are instances of event categories E1  Flyings  Flyer(E1, Bilal)  Origin(E1, SF )  Destination(E1, KHI) Event E1 took place over interval i  Happens(E1, i) Time intervals represented by (start, end) pairs  i = (t1, t2)

Event calculus predicates T(f, t) Happens(e, i) Initiates(e, f, t) Fluent f is true at time t Event e happens over interval i Event e causes fluent f to start at t Terminates(e, f, t) Event e causes f to cease at t Clipped(f, t) Restored(f, i) Fluent f ceases to be true in int. i Fluent f becomes true in interval i

Events We assume a distinguished event, Start , that describes the initial state by saying which fluents are initiated or terminated at the start time. We define T by saying that a fluent holds at a point in time if the fluent was initiated by an event at some time in the past and was not made false (clipped) by an intervening event. A fluent does not hold if it was terminated by an event and not made true (restored) by another event. Happens(e, (t1, t2)) ∧ Initiates(e, f, t1) ∧ ¬Clipped(f, (t1, t)) ∧ t1 < t ⇒ T(f, t) Happens(e, (t1, t2)) ∧ Terminates(e, f, t1)∧ ¬Restored (f, (t1, t)) ∧ t1 < t ⇒ ¬T(f, t) where Clipped and Restored are defined by Clipped(f, (t1, t2)) ⇔ ∃ e, t, t3 Happens(e, (t, t3)) ∧ t1 ≤ t < t2 ∧ Terminates(e, f, t) Restored (f, (t1, t2)) ⇔ ∃ e, t, t3 Happens(e, (t, t3)) ∧ t1 ≤ t < t2 ∧ Initiates(e, f, t)

Processes The events we have seen so far are what we call discrete events Categories of events with sub-intervals are called process categories or liquid event categories

Time intervals Time intervals are partitioned into moments (zero duration) and extended intervals Partition(Moments,ExtendedIntervals,Intervals) i i Intervals  (i  Moments  Duration(i)  0) Functions Start and End delimit intervals i Interval(i)  Duration(i)  (Time(End (i))  Time(Start (i))) May use e.g. January 1, 1900 as arbitrary time 0 Time(Start(AD1900))=Seconds(0)

Relations between time intervals j Meet(i, j) i Before(i, j) After(j, i) j i Can be expressed logically, e.g. i, j Meet (i, j)  Time(End (i))  Time(Start ( j)) j During(i, j ) i Overlap(i, j) Overlap(j, i) j

Mental events and mental objects Need to represent beliefs in self and other agents, e.g. for controlling reasoning, or for planning actions that involve others How are beliefs represented?  Beliefs are reified as mental objects  Mental objects are represented as strings in a language  Inference rules for this language can be defined Rules for reasoning about logical agents’ use their beliefs a, p,q LogicalAgent (a)  Believes(a, p)  Believes(a," p  q")  Believes(a,q) a, p LogicalAgent (a)  Believes(a, p)  Believes(a,"Believes( Name(a), p)")

Knows(Lois, CanFly(Superman)) Mental events propositional attitudes that an agent can have toward mental objects: attitudes such as Believes, Knows, Wants, Intends, and Informs For example, suppose we try to assert that Lois knows that Superman can fly: Knows(Lois, CanFly(Superman)) if it is true that Superman is Clark Kent, then we must conclude that Lois knows that Clark can fly: (Superman = Clark) ∧ Knows(Lois , CanFly(Superman)) |= Knows(Lois, CanFly(Clark )) This property is called referential transparency

Modal Logic Modal logic is designed to address this problem. Regular logic is concerned with a single modality, the modality of truth, allowing us to express “P is true.” Modal logic includes special modal operators that take sentences (rather than terms) as arguments. For example, “A knows P” is represented with the notation KAP, where K is the modal operator for knowledge. It takes two arguments, an agent (written as the subscript) and a sentence.

Semantic networks Graph representation of categories, objects, relations, etc. (i.e. essentially FOL) Natural representation of inheritance and default values ∀x x∈ Persons ⇒ [∀ y HasMother (x, y) ⇒ y ∈ FemalePersons ] . ∀x x∈ Persons ⇒ Legs(x, 2) .

Semantic Network Human Is a Being Boy Is a Is a Needs Goes to Woman Joe School Is a Food Has a child Kay

Other reasoning systems for categories Description logics  Derived from semantic networks, but more formal  Supports subsumption, classification and consistency Circumscription and default logic  Formalizes reasoning about default values  Assumes default in absence of other input; must be able to retract assumption if new evidence occurs Truth maintenance systems  Supports belief revision in systems where retracting belief is permitted

Internet shopping world An agent that understands and acts in an internet shopping environment The task is to shop for a product on the Web, given the user’s product description The product description may be precise, in which case the agent should find the best price In other cases the description is only partial, and the agent has to compare products The shopping agent depends on having product knowledge, incl. category hierarchies

PEAS specification of shopping agent Performance goal  Recommend product(s) to match user’s description Environment  All of the Web Actions  Following links  Retrieve page contents Sensors  Web pages: HTML, XML

Outline of agent behavior Start at home page of known web store(s)  Must have knowledge of relevant web addresses, such as www.amazon.com etc. Spread out from home page, following links to relevant pages containing product offers  Must be able to identify page relevance, using product category ontologies, as well parse page contents to detect product offers Having located one or more product offers, agent must compare and recommend product  Comparison range from simple price ranking to complex tradeoffs in several dimensions

Following links The agent will have knowledge of a number of stores, for example: Amazon ∈OnlineStores ∧ Homepage(Amazon, “amazon.com”) . Ebay ∈OnlineStores ∧ Homepage(Ebay, “ebay.com”) . ExampleStore ∈OnlineStores ∧ Homepage(ExampleStore, “example.com”) a page is relevant to the query if it can be reached by a chain of zero or more relevant category links from a store’s home page, and then from one more link to the product offer. Relevant(page, query) ⇔ ∃ store, home store ∈OnlineStores ∧ Homepage(store, home) ∧ ∃url , url 2 RelevantChain(home, url 2, query) ∧ Link(url 2, url ) ∧ page = Contents(url ) RelevantChain(start , end, query) ⇔ (start = end) ∨ (∃ u, text LinkText(start, u, text ) ∧ RelevantCategoryName(query, text ) ∧ RelevantChain(u, end, query)) .

Following Links

Comparing offers ∃ c, offer c∈ LaptopComputers ∧ offer ∈ ProductOffers ∧ Manufacturer(c,IBM ) ∧ Model (c, ThinkBook970 ) ∧ ScreenSize(c, Inches(14)) ∧ ScreenType(c, ColorLCD) ∧ MemorySize(c,Gigabytes(2)) ∧ CPUSpeed (c,GHz (1.2)) ∧ OfferedProduct(offer, c) ∧ Store(offer , GenStore) ∧ URL(offer , “example.com/computers/34356.html”) ∧ Price(offer , $(399)) ∧ Date(offer ,Today)

Summary An ontology is an encoding of vocabulary and relationships. Special-purpose ontologies can be effective within limited domains A general-purpose ontology needs to cover a wide variety of knowledge, and is based on categories and an event calculus It covers structured objects, time and space, change, processes, substances, and beliefs The general ontology can support agent reasoning in a wide variety of domains, including the Internet shopping world