Presentation is loading. Please wait.

Presentation is loading. Please wait.

Knowledge Representation (Introduction)

Similar presentations


Presentation on theme: "Knowledge Representation (Introduction)"— Presentation transcript:

1 Knowledge Representation (Introduction)

2 Some Representations

3 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.

4 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?

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

6 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

7 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.

8 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.

9 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

10 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

11 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”

12 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

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

14 Knowledge Representation using structured objects
Frames

15 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.

16 Example: Frame System for a “typical” room

17 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.

18 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:

19 Name: car Subclass of: thing

20 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.

21 “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

22 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.

23 “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

24 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.

25 “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

26 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.

27 “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 litres cylinders 4

28 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.

29 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?

30 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.

31 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.

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

33 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.

34 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)

35 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

36 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

37 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

38 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

39 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.

40 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.

41 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.

42 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.

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

44 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.


Download ppt "Knowledge Representation (Introduction)"

Similar presentations


Ads by Google