Knowledge Representation (Introduction)

Slides:



Advertisements
Similar presentations
Artificial Intelligence
Advertisements

1 Knowledge Representation Introduction KR and Logic.
Kees van Deemter Matthew Stone Formal Issues in Natural Language Generation Lecture 4 Shieber 1993; van Deemter 2002.
First Order Logic Logic is a mathematical attempt to formalize the way we think. First-order predicate calculus was created in an attempt to mechanize.
CSM6120 Introduction to Intelligent Systems Knowledge Representation 2.
1 CHAPTER 4 RELATIONAL ALGEBRA AND CALCULUS. 2 Introduction - We discuss here two mathematical formalisms which can be used as the basis for stating and.
Situation Calculus for Action Descriptions We talked about STRIPS representations for actions. Another common representation is called the Situation Calculus.
Knowledge Representation CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Knowledge Representation
Knowledge Representation
Intelligent systems Lection 7 Frames, selection of knowledge representation, its combinations.
Knowledge representation 2. Knowledge Representation using structured objects.
So What Does it All Mean? Geospatial Semantics and Ontologies Dr Kristin Stock.
CPSC 322 Introduction to Artificial Intelligence November 5, 2004.
CSM6120 Introduction to Intelligent Systems Knowledge representation.
Knowledge Representation Praveen Paritosh CogSci 207: Fall 2003: Week 1 Thu, Sep 30, 2004.
Knowledge Representation Methods
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Introduction to Semantics To be able to reason about the meanings of utterances, we need to have ways of representing the meanings of utterances. A formal.
Copyright © 2002 Cycorp Why use logic? CycL Syntax Collections and Individuals (#$isa and #$genls) Microtheories Foundations of Knowledge Representation.
Copyright © 2002 Cycorp Why use logic? CycL Syntax Collections and Individuals (#$isa and #$genls) Microtheories Foundations of Knowledge Representation.
Describing Syntax and Semantics
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
MTH 232 Section 8.1 Algebraic Expressions, Functions, & Equations.
CORE MECHANICS. WHAT ARE CORE MECHANICS? Core mechanics are the heart of a game; they generate the gameplay and implement the rules. Formal definition:
Knowledge representation methods جلسه سوم. KR is AI bottleneck The most important ingredient in any expert system is knowledge. The power of expert systems.
1 Introduction to Modeling Languages Striving for Engineering Precision in Information Systems Jim Carpenter Bureau of Labor Statistics, and President,
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Artificial Intelligence 4. Knowledge Representation Course V231 Department of Computing Imperial College, London © Simon Colton.
CMSC 202 Exceptions. Aug 7, Error Handling In the ideal world, all errors would occur when your code is compiled. That won’t happen. Errors which.
Interpreting Dictionary Definitions Dan Tecuci May 2002.
MATH 224 – Discrete Mathematics
CSE PredLogic 1 Knowledge Representation with Logic: First Order Predicate Calculus Outline –Introduction to First Order Predicate Calculus (FOPC)
Declarative vs Procedural Programming  Procedural programming requires that – the programmer tell the computer what to do. That is, how to get the output.
An Intelligent Analyzer and Understander of English Yorick Wilks 1975, ACM.
Pattern-directed inference systems
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.
1 Relational Algebra and Calculas Chapter 4, Part A.
Machine Learning Chapter 5. Artificial IntelligenceChapter 52 Learning 1. Rote learning rote( โรท ) n. วิถีทาง, ทางเดิน, วิธีการตามปกติ, (by rote จากความทรงจำ.
Albert Gatt LIN3021 Formal Semantics Lecture 4. In this lecture Compositionality in Natural Langauge revisited: The role of types The typed lambda calculus.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Knowledge Representation
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?
Machine Learning in Practice Lecture 5 Carolyn Penstein Rosé Language Technologies Institute/ Human-Computer Interaction Institute.
11 Artificial Intelligence CS 165A Thursday, October 25, 2007  Knowledge and reasoning (Ch 7) Propositional logic 1.
Wumpus World 1 Wumpus and 1 pile of gold in a pit-filled cave Starts in [1,1] facing right - Random cave Percepts: [smell, breeze, gold, bump, scream]
1 UNIT-3 KNOWLEDGE REPRESENTATION. 2 Agents that reason logically(Logical agents) A Knowledge based Agent The Wumpus world environment Representation,
Lecture 5 Frames. Associative networks, rules or logic do not provide the ability to group facts into associated clusters or to associate relevant procedural.
Artificial Intelligence Knowledge Representation.
Knowledge Representation
Knowledge Engineering. Sources of Knowledge - Books - Journals - Manuals - Reports - Films - Databases - Pictures - Audio and Video Tapes - Flow Diagram.
Definition and Technologies Knowledge Representation.
Artificial Intelligence 4. Knowledge Representation
Knowledge Representation
Knowledge Representation Techniques
Knowledge Representation
Knowledge Representation
Artificial Intelligence (CS 370D)
Computer Programming.
Ontology.
KNOWLEDGE REPRESENTATION
Knowledge Representation
Representations & Reasoning Systems (RRS) (2.2)
Habib Ullah qamar Mscs(se)
Presentation transcript:

Knowledge Representation (Introduction)

Some Representations

Elements of a Representation Represented world: about what? Representing world: using what? Representing rules: how to map? Process that uses the representation: conventions and systems that use the representations resulting from above. A representation will always be missing some property of the real world entity it is trying to model.

Marr’s levels of description Computational: What is the goal of the computation, why is it appropriate, and what is the logic of the strategy by which it can be carried out? Algorithmic: How can this computational theory be implemented? In particular, what is the representation for the input and output, and what is the algorithm for the transformation? Implementation: How can the representation and algorithm be realized physically?

Marr’s levels of description cont. Computational: a lot of cognitive psychology Algorithmic: a lot of cognitive science Implementation: neuroscience

Overview How knowledge representation works Basics of logic (connectives, model theory, meaning) Basics of knowledge representation Why use logic instead of natural language? Quantifiers Organizing large knowledge bases Ontology Microtheories Resource: OpenCyc, WordNet, UMLS

The CYC Project It now ‘knows’ a huge collection of fragments of real-world knowledge such as: Mothers are older than their children. You have to be awake to eat. You can usually know people’s noses, but not their hearts. If you cut a lump of peanut butter in half, each half is a lump of peanut butter, but if you cut a table in half, neither half is a table.

The CYC Project The ultimate objective is to give it enough knowledge to understand ordinary books, so that it can read them and expand its own knowledge. So far, it’s got to a stage where, when asked to find photos of “risky activities”, it located photos of people climbing mountains and doing white-water rafting.

How Knowledge Representation Works Intelligence requires knowledge Computational models of intelligence require models of knowledge Use formalisms to write down knowledge Expressive enough to capture human knowledge Precise enough to be understood by machines Separate knowledge from computational mechanisms that process it Important part of cognitive model is what the organism knows

How knowledge representations are used in cognitive models Questions, requests Answers, analyses Examples, Statements Contents of KB is part of cognitive model Some models hypothesize multiple knowledge bases. Inference Mechanism(s) Learning Mechanism(s) Knowledge Base

Expert Systems KBS on a domain that requires expertise (mainly rule-based, but not always) Rules capture “shallow” knowledge; alternative is to reason about “first principles” or “deep” knowledge (e.g. “Ohm’s law”) Handling “uncertainty” in rules MYCIN: “certainty factor”

Knowledge Representation: revisited Production Rules if leaves are yellowed AND soil is moist AND small white spots on undersides of leaves then plant is infested with spider mites treat with DIANTHONINE Predicate Calculus color(ball, red). Semantic net color ball23 red

Semantic Net bill “Bill is a cat.” inst feline species cat dog mammal animal living paw claw canine hair isa has-part foot

Knowledge Representation using structured objects Frames

Frames Devised by Marvin Minsky, 1974. Incorporates certain valuable human thinking characteristics: Expectations, assumptions, stereotypes. Exceptions. Fuzzy boundaries between classes. The essence of this form of knowledge representation is typicality, with exceptions, rather than definition.

Example: Frame System for a “typical” room

How frames are organized A frame system is a hierarchy of frames Each frame has: a name. slots: these are the properties of the entity that has the name, and they have values. A particular value may be: a default value an inherited value from a higher frame a procedure, called a daemon, to find a value a specific value, which might represent an exception.

Frames: some examples We will start with a simple piece of information: there is a category of things called cars. Given this information, we can start to build a frame:

Name: car Subclass of: thing

More information: a car has 4 wheels, is moved by an engine, and runs on petrol or diesel. We can now add three slots to the frame. The last of these has a restriction rather than a specific value.

“a car has 4 wheels, is moved by an engine, and runs on petrol or diesel.” car subclass_of thing with wheels: 4, moved_by: engine, fuel: [value: unknown, type: [petrol,diesel]]. Name: car Subclass of: thing Slots: Name: Value: Restrictions: wheels 4 moved by engine fuel ? petrol or diesel

More information: there is a particular type of car called a VW, manufactured in Germany. We can add a second frame to our system, with one slot. We don’t need to repeat the slots and values in the previous frame: they will be inherited.

“there is a particular type of car called a VW, manufactured in Germany.” ‘VW’ subclass_of car with made_in: ‘Germany’. Name: VW Subclass of: car Slots: Name: Value: Restrictions: made in Germany

More information: there is a particular type of VW called a Golf, which has a sun-roof. We can add a third frame to our system, with one slot. Once again, we don’t repeat the slots in the previous frames, because they will be inherited.

“there is a particular type of VW called a Golf, which has a sunroof.” ‘Golf’ subclass_of VW with top: sunroof. Name: Golf Subclass of: VW Slots: Name: Value: Restrictions: top sunroof

More information: there is a particular type of Golf called a TDi, which runs on diesel. A TDi has 4 cylinders, and an engine capacity of 1.8 litres. We can add a fourth frame to our system, with three slots. One of the slots (fuel) was already in the system, but appears here because it now has a specific value rather than a restriction.

“there is a particular type of Golf called a TDi, which runs on diesel, has 4 cylinders, and has a 1.8 litre engine.” ‘TDi’ subclass_of ‘Golf’ with fuel: diesel, engine_capacity: 1.8, cylinders: 4. Name: TDi Subclass of: Golf Slots: Name: Value: Restrictions: fuel diesel engine capacity 1.8 litres cylinders 4

Scripts Knowledge representation researchers - particularly Roger Schank and his associates - devised some interesting variations on the theme of structured objects. In particular, they invented the idea of scripts (1973). A script is a description of a class of events in terms of contexts, participants, and sub-events.

Plans and Scripts Roger Schank Example: Restaurant Script “John went to a restaurant. He ordered lobster. He paid the bill and left.” What did John eat?

Scripts Rather similar to frames: uses inheritance and slots; describes stereotypical knowledge, (i.e. if the system isn't told some detail of what's going on, it assumes the "default" information is true), but concerned with events. Somewhat out of the mainstream of expert systems work. More a development of natural-language-processing research.

Scripts Why represent knowledge in this way? Because real-world events do follow stereotyped patterns. Human beings use previous experiences to understand verbal accounts; computers can use scripts instead. Because people, when relating events, do leave large amounts of assumed detail out of their accounts. People don't find it easy to converse with a system that can't fill in missing conversational detail.

Scripts Scripts predict unobserved events. Scripts can build a coherent account from disjointed observations.

Scripts Commercial applications of script-like structured objects: work on the basis that a conversation between two people on a pre-defined subject will follow a predictable course. Certain items of information need to be exchanged. Others can be left unsaid (because both people know what the usual answer would be, or can deduce it from what's been said already), unless (on this occasion) it's an unusual answer.

What’s in a knowledge base? Facts about the specifics of the world Fordham is a private university The first thing Andrea did at the party was talk to John. Rules (aka axioms) that describe ways to infer new facts from existing facts All triangles have three sides All elephants are grey Facts and rules are stated in a formal language Generally some form of logic (aka predicate calculus)

Propositional logic A step towards understanding predicate calculus Statements are just atomic propositions, with no structure Propositions can be true or false Statements can be made into larger statements via logical connectives. Examples: C = “It’s cold outside” ; C is a proposition O = “It’s October” ; O is a proposition If O then C ;if it’s October then it’s cold outside

Model Theory Meaning of a theory = set of models that satisfy it. Model = set of objects and relationships If statement is true in KB, then the corresponding relationship(s) hold between the corresponding objects in the modeled world The objects and relationships in a model can be formal constructs, or pieces of the physical world, or whatever Meaning of a predicate = set of things in the models for that theory which correspond to it. E.g., above means “above”, sort of

Representations as Sculptures How does one make a statue of an elephant? Start with a marble block. Carve away everything that does not look like an elephant. How does one represent a concept? Start with a vocabulary of predicates and other axioms. Add axioms involving the new predicate until it fits your intended model well. Knowledge representation is an evolutionary process It isn’t quick, but incremental additions lead to incremental progress All representations are by their nature imperfect

NL vs. Logic: Expressiveness Jim’s injury resulted from his falling. Jim’s falling caused his injury. Jim’s injury was a consequence of his falling. Jim’s falling occurred before his injury. NL: Write the rule for every expression? Knowledge representation requires a representation language. Candidate representation languages range from natural languages (such as English or Turkish) to logic-based langauges to object-oriented programming languages and others. CycL, the language used for knowledge representation in Cyc, is a (high-level) logic-based language. This section explores the reasons for that choice, and the advantages of logic-based knowledge representation. One issue in the choice of representations is expressiveness. Since we want a great deal of expressiveness for the kind of knowledge Cyc is going to contain, it is sometimes suggested that we use natural language. The expressiveness of natural language, though, goes beyond what we need. It also gives rise to special problems if one wants not only to store, but also to reason with, the represented knowledge. Logic-based representation, in contrast, gives us enough expressiveness, and facilitates the reasoning as well. Natural language is obviously very expressive. But this can lead to problems. Consider the first three sentences on the slide. Each of these means roughly the same thing and each of them has the implication that Jim’s falling occurred before his injury. If we want to represent that implication, do we write a rule for every natural language expression that could possibly express this point? Logic-based languages offer a simplified, more efficient approach. First, we identify the common concepts – for example, the relation “x caused y” – at the heart of the English sentences. Then, we use logical relationships to formulate rules about those common concepts. For example, “if x caused y, then x temporally precedes y”. Logic: identify the common concepts, e.g. the relation: x caused y Write rules about the common concepts, e.g. x caused y  x temporally precedes y

NL vs. Logic: Ambiguity and Precision x is at the bank. river bank? financial institution? x is running. changing location? operating? a candidate for office? NL: Ambiguous Logic: Precise x is running-InMotion  x is changing location x is running-DeviceOperating x is operating x is running-AsCandidate  x is a candidate Another issue in the choice of a knowledge representation language is ambiguity. Natural language is highly ambiguous. For example, if we say, “x is at the bank,” we don’t know whether what is meant is the riverbank or a financial institution. If we say that x is running, we don’t know whether x is changing location, operating (like a piece of machinery), or running as a candidate for office. On the other hand, with a logical representation we can precisely define the concepts we use. We can, for example, define a distinct concept corresponding to each of these three senses of "running." This allows us to place the appropriate rules on their respective concepts, whereas they could not all be placed on the one ambiguous word. This matters greatly for representation of knowledge in the Cyc Knowledge Base. After all, we are representing the knowledge for a purpose: we want to use the represented knowledge in reasoning. Reasoning means, at least in part, figuring out what must be true, given what is known. In order to reliably figure out what follows from what you know, you must be able to specify the starting point. Reasoning requires a clear understanding of exactly what knowledge you have. In other words, reasoning requires precision of meaning. Reasoning: Figuring out what must be true, given what is known. Requires precision of meaning.

NL vs. Logic:Calculus of Meaning Logic: Well-understood operators enable reasoning: Logical constants: not, and, or, all, some Not (All men are taller than all women). All men are taller than 12”. Some women are taller than 12”. Logic also has the advantage of offering us a calculus of meaning. Logic features several well understood logical operators, such as those listed on the slide. They are well understood in the sense that they have been studied for years and their operation is well-documented. For example, consider the sentences: “It is not the case that all men are taller than all women.” And also: “It is the case that all men are taller than twelve inches.” It follows from these two sentences that some women are taller than twelve inches. You can express the format of these sentences and find the conclusion based on the logical constants alone, without knowing what the particular non-logical words (such as men, taller, and women) mean. This is very helpful for reasoning. Not (All A are F than all B). All A are F than x. Some B are F than x.

Syntax: Terms (aka Constants) Terms denote specific individuals or collections (relations, people, computer programs, types of cars . . . ) Each Terms is a character string prefixed by A sampling of some constants: Dog, SnowSkiing, PhysicalAttribute BillClinton,Rover, DisneyLand-TouristAttraction likesAsFriend, bordersOn, objectHasColor, and, not, implies, forAll RedColor, Soil-Sandy These denote collections These denote individuals : Partially Tangible Individuals Relations Attribute Values CycL constants denote specific individuals or collections, such as individual relations, individual people, types of computer programs, or types of cars. Each CycL constant is prefixed by the string ‘’ (pronounced “hash-dollar”). Here’s a sampling of some constants. Each constant in the first group denotes a collection. For example, Dog denotes the collection of all dogs, SnowSkiing denotes the collection of all snow skiing events, and PhysicalAttribute denotes the collection of physical attributes. Each constant in the second group denotes an individual. For example BillClinton, Rover, and DisneyLand-TouristAttraction denote partially tangible individuals, individuals you can physically pick out. likesAsFriend, bordersOn, objectHasColor, and, not, implies, and forAll also denote individuals, but these are individual relations, rather than tangible objects. Each constant in the final group denotes an attribute value. Attribute values are specific properties that something can have, such as being red in color or being sandy-soiled.

Syntax: Propositions Propositions: a relation applied to some arguments Also called formulas, sentences… Examples: (isa GeorgeWBush Person) (likesAsFriend GeorgeWBush AlGore) A CycL formula is a relation applied to some arguments, with parentheses around the group. The slide contains three examples of CycL formulas. The first two of these formulas are CycL sentences. They are well-formed formulas with a truth-function in the first position (a.k.a the arg0 position). [We'll say more about truth functions shortly.] All sentences have a truth value; that is, it may be true or false. The first sentence says that GeorgeWBush is an instance of Person. The second sentence says that GeorgeWBush likes AlGore as a friend. The third formula is not a sentence, and cannot be true or false. Instead, it is a Non-Atomic Term (also known as a “NAT”). Instead of denoting a sentence, this formula gives us a new term, referring to a particular event: the birth of Jacqueline Kennedy Onassis. The next two slides look at CycL Sentences and CycL Non-Atomic Terms in more detail.

Why constraints are important They guide reasoning (performedBy PaintingTheHouse Brick2) (performedBy MarthaStewart CookingAPie) They constrain learning

Variables and Quantifiers General statements can be made by using variables and quantifiers Variables in logic are like variables in algebra Sentences involving concepts like “everybody,” “something,” and “nothing” require variables and quantifiers: Everybody loves somebody. Nobody likes spinach. Some people like spinach and some people like broccoli, but no one likes them both. Putting variables, connectives, predicates, and quantifiers together gives us expressive power to represent many things about the world that would be too complex to represent without them. Many pieces of ordinary knowledge involve concepts like everything, something, and nothing, or everybody, somebody, and nobody.