8-1 lecture 7: agent communication based on an introduction to multiagent systems mjw/pubs/imas...

78
8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems http://www.csc.liv.ac.uk/~mjw/pubs/imas Presentation by Nyik San Ting, spring 2003.

Upload: melina-thomas

Post on 27-Dec-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-1

LECTURE 7: Agent Communication

Based on An Introduction to MultiAgent Systemshttp://www.csc.liv.ac.uk/~mjw/pubs/imasPresentation by Nyik San Ting, spring 2003.

Page 2: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-2

Agent Communication In this lecture and the next, we cover

macro-aspects of intelligent agent technology: those issues relating to the agent society, rather than the individual: communication;

speech acts; KQML & KIF; FIPA ACL cooperation:

what is cooperation; prisoner’s dilemma; cooperative versus non-cooperative encounters; the contract net

Page 3: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-3

Contents

Tuesday (12 Oct 2004)� Speech Acts� KQML, KIF� FIPA ACL� Ontology

Thursday (14 Oct 2004)� Ontology development� KIF� XML & RDF� DAML

Page 4: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-4

Speech Acts Most treatments of communication in (multi-)

agent systems borrow their inspiration from speech act theory

Speech act theories are pragmatic theories of language, i.e., theories of language use: they attempt to account for how language is used by people every day to achieve their goals and intentions

The origin of speech act theories are usually traced to Austin’s 1962 book, How to Do Things with Words

Page 5: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-5

Speech Acts - Austin

� Communication = action o Doesn’t mean:

Motion of moving mouth Changing the pressure of the air by talking. Causing the avalanche by shouting.

o The semantic meaning (effect) of the utterance “Let’s send a bomb to Iraq.“

Page 6: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-6

Speech Acts Austin noticed that some utterances are rather

like ‘physical actions’ that appear to change the state of the world

Paradigm examples would be: declaring war christening ‘I now pronounce you man and wife’ :-)

But more generally, everything we utter is uttered with the intention of satisfying some goal or intention

A theory of how utterances are used to achieve intentions is a speech act theory

Page 7: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-7

Speech Acts - Austin

� Communication = action o Doesn’t mean:

Motion of moving mouth Changing the pressure of the air by talking. Causing the avalanche by shouting.

o The semantic meaning (effect) of the utterance “Let’s send a bomb to Iraq.“

Page 8: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-8

Elements

Speaker

Utterance

Come and have a free Pizza !

Hearer(s)

Page 9: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-9

Speech Acts - Austin

3 aspects of Speech Acts:� Locutionary act� Illocutionary act� Perlocution

Page 10: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-10

Different Aspects of Speech Acts From “A Dictionary of Philosophical Terms and

Names”: “Locutionary act: the simple speech act of

generating sounds that are linked together by grammatical conventions so as to say something meaningful. Among speakers of English, for example, ‘It is raining’ performs the locutionary act of saying that it is raining, as ‘Grablistrod zetagflx dapu’ would not.”

� Saying something that make sense using a language

o Saying “Please make some tea”o Saying “Tuition fee will increase by 50% next year”

Page 11: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-11

Different Aspects of Speech Acts “Illocutionary act: the speech act of doing

something else – offering advice or taking a vow, for example – in the process of uttering meaningful language. Thus, for example, in saying ‘I will repay you this money next week,’ one typically performs the illocutionary act of making a promise.”

� Action intended by the speakero “He requested me to make some tea”o “The Dean of the University announced that the

tuition fee will increase by 50% next year”

Page 12: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-12

Different Aspects of Speech Acts

“Perlocutionary act: the speech act of having an effect on those who hear a meaningful utterance. By telling a ghost story late at night, for example, one may accomplish the cruel perlocutionary act of frightening a child.”

� Effect of the actiono “He got me to make tea”o “Everyone is informed and understand that

the tuition fee will increase by 50% next year”

Page 13: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-13

“Shoot her!”

Locutionary act of saying “Shoot her!”

Illocutionary force of ordering, urging, or advising the hearer to shoot her

Perlocutionary force of persuading, forcing,frightening the hearer to shoot her

Example obtained from [2]

Page 14: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-14

Performative Utterance

“ I warn you that they raise the gas price dramatically” First verb in the sentence

“They raise the gas price dramatically”

Felicitous performative Performative utterance that works successfully

Page 15: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-15

Felicity conditions

1. An accepted conventional procedure for the performative; the circumstances and persons must be as specified.

2. Procedure must be executed correctly and completely

3. Act must be sincere; uptake required must be completed as much as possible.

Page 16: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-16

Speech Acts

�John Searle extended the work of John Austin in 1969o Identified properties that must hold for a speech

act performed between hearer and the speaker to succeed.

o Systematic classification of the possible types of speech acts

Page 17: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-17

Speech Acts – Conditions for a speech act to succeed� Normal I/O conditions

o HEARER can hear the utterance

� Preparatory conditionso What must be true of the world in order that SPEAKER correctly

choose the speech act

� Sincerity conditionso Distinguish the sincerity of the performance of the speech act

Page 18: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-18

Speech Acts Searle (1969) identified various different types of

speech act: representatives : Commits the speaker to the truth of an

expressed proposition, such as informing, e.g., ‘It is raining’ directives: Attempts on the part of the speaker to get the

hearer to do something e.g., ‘please make the tea’ commisives: Commit the speaker to doing something, e.g.,

‘I promise to… ’ expressives: Speaker expresses a mental state, e.g., ‘thank

you!’ declarations: Effect some changes in an institutional state

of affairs, such as declaring war or christening

Page 19: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-19

Speech Acts

There is some debate about whether this (or any!) typology of speech acts is appropriate

In general, a speech act can be seen to have two components: a performative verb:

(e.g., request, inform, promise, … ) propositional content:

(e.g., “the door is closed”)

Page 20: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-20

Speech Acts Consider:

performative = requestcontent = “the door is closed”speech act = “please close the door”

performative = informcontent = “the door is closed”speech act = “the door is closed!”

performative = inquirecontent = “the door is closed”speech act = “is the door closed?”

Page 21: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-21

Plan Based Semantics How does one define the semantics of speech acts?

When can one say someone has uttered, e.g., a request or an inform?

Cohen & Perrault (1979) defined semantics of speech acts using the STRIPS formalism for planning: precondition-delete-add list

The world is a multimodal logic representation for the Beliefs, Abilities, Wants of the participants in the speech act

Note that a speaker cannot (generally) force a hearer to accept some desired mental state

In other words, there is a separation between the illocutionary act and the perlocutionary act

Page 22: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-22

Plan-Based Semantics Here is their semantics for request:

request(s, h, )

pre: s believe h can do

(you don’t ask someone to do something unless you think they can do it)

s believe h believe h can do (you don’t ask someone unless they believe they can do it)

s believe s want (you don’t ask someone unless you want it!)

post: h believe s believe s want

(the effect is to make them aware of your desire)

Note that request ensures only that h is aware of s’ desire – locution only!!

Page 23: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-23

Mediating act

CauseToWant(A1, A2, ) Preconditions

Cando.pr

(A1 BELIEVE (A2 BELIEVE (A2 WANT )))

Want.pr

X Effect

(A1 BELIEVE (A1 WANT ))

In order to ensure that there is perlocutionary force – need a mediating act:

By this definition, the agent will come to believe that it wants something, if it believesthat another agent believes it wants to do it. This definition can be extended to contain more conditions related to social relationships, role etc.

Page 24: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-24

KQML and KIF We now consider agent communication

languages (ACLs) — standard formats for the exchange of messages

The best known ACL is KQML, developed by the ARPA knowledge sharing initiativeKQML is comprised of two parts: the knowledge query and manipulation language

(KQML) the knowledge interchange format (KIF)

Page 25: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-25

KQML and KIF KQML is an ‘outer’ language, that defines an ‘envelope’

format for messages to explicitly state the intended illocutionary force

KQML defines various acceptable ‘communicative verbs’, or performativesExamples: ask-if (‘is it true that. . . ’) perform (‘please perform the following action. . . ’) tell (‘it is true that. . . ’) reply (‘the answer is . . . ’)

KIF is a language for expressing message content (ONTOLOGIES– later)

Page 26: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-26

Example

(tell:content (= (temperatute m1) (scalar 83

Celsius))

:sender termometer-server

:receiver heater

:language KIF

:ontology ONTOLOGY_NAME

)Inform another agent about some fact. Formal definition: S claims to R that C is in S’s VKB.

Page 27: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-27

Another example

(ask-one

:content (PRICE ISM ?price)

:receiver stock-server

:language LPROLOG

:ontology NYSE-TICKS

)Ask another agent a question where exactly one answer is required.Formal: S wants one of R’s answers to question C

There are variants: ask-if, ask-all,ask-about

Page 28: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-28

FIPA More recently, the Foundation for Intelligent

Physical Agents (FIPA) started work on a program of agent standards — the centerpiece is an ACL

Basic structure is quite similar to KQML: performative

20 performatives in FIPA housekeeping

e.g., sender, etc. content

the actual content of the message

Page 29: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-29

FIPA

Example:(inform

:sender agent1:receiver agent5:content (price good200

150):language sl:ontology hpl-auction

)

Page 30: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-30

FIPA

Page 31: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-31

FIPA ACL Semantics

Semantics of ACL preformatives are given with respect to a formal SL (Semantic Language) Represent beliefs, desires, uncertain beliefs of agents and

actions that agents perform Well defined, in contrast to KQML

Each FIPA ACL message can be mapped to a formula of SL Defines a constraint that the sender must satisfy

(Feasibility conditions) Defines the rational effect of the action - the “purpose” of a

message (cannot be guaranteed)

Page 32: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-32

“Inform” and “Request” “Inform” and “Request” are the two basic

performatives in FIPA. All others are macro definitions, defined in terms of these.

The meaning of inform and request is defined in two parts: pre-condition

what must be true in order for the speech act to succeed

“rational effect”what the sender of the message hopes to bring about

Page 33: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-33

“Inform” and “Request”

For the “inform” performative…The content is a statement.Pre-condition is that sender: holds that the content is true intends that the recipient believe the content does not already believe that the recipient is

aware of whether content is true or not

Page 34: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-34

“Inform” and “Request”

For the “request” performative…The content is an action.Pre-condition is that sender: intends action content to be performed believes recipient is capable of performing this

action does not believe that receiver already intends to

perform action

Page 35: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-35

Semantic Conformance Testing Woolridge ACL semantics are generally developed in

such a way as to express constraint on the sender of the message Specification

Problem: Need to know the mental state of agents (what

they believed, intended and so on)

Page 36: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-36Figure obtained from [5]

Page 37: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-37

References on Agent Communication Languages1. “Austin’s Speech Act Theory” by Saeed

http://www.ohiou.edu/dlcds/saaustin.htm

2. Speech Actshttp://www.ccl.umist.ac.uk/teaching/material/5005/node24.html

3. “Cohen and Levesque - intention”http://www.csc.liv.ac.uk/~mjw/pubs/ker95/subsubsectionstar3_2_6_2.html

4 . “FIPA ACL Message Structure Specification” by FIPAhttp://www.fipa.org/specs/fipa00061/SC00061G.html

5. “FIPA Communicative Act Library Specification" by FIPAhttp://www.fipa.org/specs/fipa00037/SC00037J.html

Page 38: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-38

Ontologies

Different understanding of the terminology

A

“Football game on 11/02/03”

B

“Soccer game on 11 Feb 2003”

C

“Rugby game on Nov 02, 2003”

Page 39: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-39

Knowledge Sharing among Agents:KQML and KIF

In order to be able to communicate, agents must have agreed on a common set of terms

A formal specification of a set of terms is known as an ontology

The knowledge sharing effort has associated with it a large effort at defining common ontologies — software tools like Ontolingua for this purpose

Example KQML/KIF dialogue…A to B: (ask-if (> (size chip1) (size chip2)))B to A: (reply true)B to A: (inform (= (size chip1) 20))B to A: (inform (= (size chip2) 18))

Page 40: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-40

Why we need ontology?

To share common understanding of the structure of information among people or software agents

To enable reuse of domain knowledge To make domain assumptions explicit To separate domain knowledge from the

operational knowledge To analyze domain knowledge

Page 41: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-41

Ontology

‘A systematic account of Existence’ in Philosophy

Explicit formal definition of the terminologies describing the concepts or objects (and their attributes) of a domain and the relations among them.

A specification of vocabulary/definition (human readable & machine interpretable) and their relations that model the real world

Page 42: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-42

KIF – Knowledge Interchange Format Based-on first order logic recast in a LISP (LISt

Processing)-like notation.Used to state: Properties of things in a domain (e.g., “Noam

is chairman”) Relationships between things in a domain

(e.g., “Amnon is Yael’s boss”) General properties of a domain (e.g., “All

students are registered for at least one course”, “Everybody has a mother”)

Page 43: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-43

KIF (2) “The temperature of m1 is 83 Celsius”:(= (temperature m1) (scalar 83 Celsius))

“An object is a bachelor if the object is a man and is not married”:(defrelation bachelor (?x) :=

(and (man ?x) (not (married ?x)))) “Any individual with the property of being a

person also has the property of being a mammal”:(defrelation person (?x) :=> (mammal ?x))

Page 44: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-44

KIF (3) Usual connectives

and, or, not, Universal and existential quantifiers

forall, exist Set Relation

Subset, /=, =, Member, Disjoint Object type

Numbers (1,2,3 …) characters, strings Object relation

Cos, Max, Log, <, *

Page 45: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-45

KIF (4)

Define new class “New class of ‘primary-color’ which take value

of red, green, or blue”(define-class primary-color (?color) (member ?color

(set red green blue)))

Page 46: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-46

KIF (5)

Define new concept “New concept of bachelor which is a man and

this man is not married”(defrelation bachelor (?x) :=

(and (man ?x) (not (married ?x))))

Page 47: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-47

KIF (6)

Define new relationships “Any individual with the property of being a

person also has the property of being a mammal” (defrelation person (?x) :=> (mammal ?x))

Note: A mammal might not be a person!

Page 48: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-48

Extensible Markup Language -XMLXML is a method for embedding structure and

meaning in data files. a new technology for managing data,

particularly suitable for web applications.

is text (humans and machines readable)

Page 49: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-49

Example

Dr. John Cooke

57 Campus Drive,

Saskatoon, SK S7N5A9

Page 50: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-50

<P><B>Dr. Julita Vassileva</B>

<BR>110 Science Place,

<BR>Saskatoon, SK S7N 5C9</P>

HTML tags describe how something should render.

They don't contain any information about what the

data is, they only describe how it should look.

The set of HTML tags is fixed – as defined by the DTD (Document Type Definition).

Representation in HTML

Page 51: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-51

<address><name>

<title>Dr. </title><first_name>Julita</first_name><last_name>Vassileva</last_name>

</name><street>110 Science Place</street><city>Saskatoon</city><province>SK</province><pcode>S7N 5C9</pcode>

</address>

Representation in XML

Note semantic tags! Using XML it is possible to define new tags by writing an XML DTD.

Page 52: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-52

Resource Description FrameworkRDF is is a model for describing resources, mainly

internet resources A way for publishing human readable and

machine processable vocabularies

Page 53: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-53

Example

Figures obtained from [10]

Page 54: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-54

Example (2)

<?xml:namespace ns = "http://www.w3.org/RDF/RDF/" prefix ="RDF" ?> <?xml:namespace ns = "http://purl.oclc.org/DC/" prefix = "DC" ?>

<RDF:RDF> <RDF:Description RDF:HREF = "http://uri-of-Document-1"> <DC:Creator>John Smith</DC:Creator> </RDF:Description> </RDF:RDF>

Page 55: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-55

DAML DARPA Agent Markup Language Based on XML, integration with Ontologies

The Semantic Web DAML 0.5, August 2000 DAML-ONT, October 2000 DAML+OIL (Ontology Interface Layer),

December 2000

Page 56: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-56

DAML+OIL

A semantic markup language for Web resources

Uses XML and RDF Provides a higher level of information than

XML

Page 57: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-57

Define Class

<daml:Class rdf:ID="Animal"> <rdfs:label>Animal</rdfs:label> <rdfs:comment> This class of animals is illustrative of a number of

ontological idioms. </rdfs:comment></daml:Class>

Page 58: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-58

Define Subclass

<daml:Class rdf:ID="Male"> <rdfs:subClassOf rdf:resource="#Animal"/></daml:Class>

<daml:Class rdf:ID="Female"> <rdfs:subClassOf rdf:resource="#Animal"/> <daml:disjointWith rdf:resource="#Male"/></daml:Class>

Page 59: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-59

Defining Property Restriction<daml:Class rdf:about="#Animal"> <rdfs:comment> Animals have exactly two parents, ie: If x is an animal, then it has exactly 2 parents (but it is NOT the case that anything that has 2 parents is an

animal). </rdfs:comment> <rdfs:subClassOf> <daml:Restriction daml:cardinality="2"> <daml:onProperty rdf:resource="#hasParent"/> </daml:Restriction> </rdfs:subClassOf></daml:Class>

Page 60: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-60

Define Properties

<daml:ObjectProperty rdf:ID="hasParent"> <rdfs:domain rdf:resource="#Animal"/> <rdfs:range rdf:resource="#Animal"/></daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="hasFather"> <rdfs:subPropertyOf rdf:resource="#hasParent"/> <rdfs:range rdf:resource="#Male"/></daml:ObjectProperty>

Page 61: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-61

“Ontology” of Ontology

Classes or Concepts description of concepts in the domain of discourse

Subclasses Represent concepts that are more specific

Slots / Role / Properties Properties of concept (various features and attributes)

Facets or role restrictions Restriction on slots (value type, allowed value,

cardinality …)

Ontology + Instances of Classes = Knowledge Base

Page 62: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-62

Ontology Examples

Class

Slot1

Slot2

Slot3

People

Position

Age

Sex

Wine

Flavor

Body

Maker

Class

SubClass1 SubClassN

People

Professor Student

Wine

Red Wine White Wine

Page 63: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-63

Ontology Examples (2)

from Noy & McGuinness, black for classes, red for instances, direct links represent slots and internal links such as instance-of and subclass-of.

Inverse relation

Page 64: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-64

Fundamental Rules in Ontology Design

1. No correct way to model a domain There are viable alternatives Best solution depends on application and extensions

2. Iterative process

3. Concepts should be close to (physical or logical) objects and relationships in the domain of interest.

Nouns (objects) or verbs (relationships)

Page 65: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-65

Ontology Development Steps

1. Determine the domain and scope of the ontology

2. Consider reusing existing ontologies

3. Enumerate important terms in the ontology

4. Define the classes and the class hierarchy• Top-down• Bottom-up• Combination

Page 66: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-66

Ontology Development Steps (2)

5. Define the properties of classes - slots

6. Define the facets of the slots• Slot cardinality• Slot-value type (String, Number, Boolean,

Enumerated, Instance-type)• Domain and range of a slot

Page 67: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-67

Ontology Development Steps (3)

from Noy & McGuinness, the definition of a slot Produces that describes the wines produced by Winery.

Page 68: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-68

Ontology Development Steps (4)7. Create instances

Figure from Noy & McGuinness - the definition of an instance of the Beaujolais class

Page 69: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-69

Things to lookout

A subclass of a class represents a concept that is a “kind-of” the concept that the superclass represents

Classes represent concepts in the domain and NOT the words that denote these concepts (prawn & shrimp)

Avoid class cycles “How many is too many and how few are too

few?”

Page 70: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-70

Things to lookout (2)

“When to introduce a new class (or not)?”Usually it should: Have additional properties (new slots) Have different restrictions (different facets) Participate in different relationships than the

super-classes (new slot value defined)

Can just be a hierarchy of terms

Page 71: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-71

Things to lookout (3)

“A new class or a property value?” If the concepts with different slot values

become restrictions for different slots in other classes -> create new class

“An instance or a class?” Natural hierarchy? Most specific concepts?

Limiting the scope Naming convention and consistency

Page 72: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-72

Languages for Ontologies

First order logic-based KIF-based Ontololingua, Loom, Frame-Logic

XML based SHOE, Ontology Exchange Language (XOL), Ontology Markup Language (OML and CKML),

RDF based Resource Description Framework Schema Language (RDFS) OIL (Ontology Interchange Language) DAML+OIL OWL

Page 73: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-73

OWL: Web Ontology Language for the Semantic Web (W3C)

XML provides a surface syntax for structured documents, but imposes no semantic constraints on the meaning of these documents.

XML Schema is a language for restricting the structure of XML documents and also extends XML with datatypes.

RDF is a datamodel for objects ("resources") and relations between them, provides a simple semantics for this datamodel, and these datamodels can be represented in an XML syntax.

RDF Schema is a vocabulary for describing properties and classes of RDF resources, with a semantics for generalization-hierarchies of such properties and classes.

OWL adds more vocabulary for describing properties and classes: among others, relations between classes (e.g. disjointness), cardinality (e.g. "exactly one"), equality, richer typing of properties, characteristics of properties (e.g. symmetry), and enumerated classes.

Page 74: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-74

XML DTD XML Schema RDF(S) DAML+OIL RDF(S) 2002 OWL

bounded lists X X X

cardinality constraints X X X X

class expressions X X

data types X X ? X

defined classes X X

enumerations X X X X

equivalence X X

extensibility X X X X

formal semantics X X X

inheritance X X X X

inference X X

local restrictions X X

qualified constraints X

reification X X X X

From: http://www.daml.org/language/features.html

Page 75: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-75

Tools for ontology development Protégé-2000

http://protege.stanford.edu/ Ontolingua

http://www.ksl.stanford.edu/software/ontolingua/ DAG-Edit

http://www.godatabase.org/dev/editor.html OilEd

http://oiled.man.ac.uk/ Reggie Metadata Editor

http://metadata.net/dstc/

Page 76: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-76

Summary on Ontology development No one “correct” way for developing ontologies

No one “correct” ontology for any domain

Issues: Rapid domain evolution Variety of ontologies in a domain Ontology representation

Efforts for ontology interoperability (ontology mapping): Stanford Scalable Knowledge Composition (SKC) project and the

Bremer Semantic Translation project

Page 77: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-77

References on Ontologies

1. “Descriptive and Formal Ontology” by Raul Corazzon. http://www.formalontology.it/

2. “What is an Ontology?” by Tom Gruberhttp://www-ksl.stanford.edu/kst/what-is-an-ontology.html

3. “Ontology Development 101:A Guide to Creating Your First Ontology” by Natalya F. Noy and Deboral L. McGuinness

http://protege.stanford.edu/publications/ontology_development/ontology101-noy-mcguinness.html

Page 78: 8-1 LECTURE 7: Agent Communication Based on An Introduction to MultiAgent Systems mjw/pubs/imas mjw/pubs/imas

8-78

References (2)

4. “Knowledge Interchange Format (KIF)” http://www-ksl.stanford.edu/knowledge-sharing/kif

5. “Knowledge Interchange Format Specification”http://logic.stanford.edu/kif/specification.html

6. DAML homepage.

http://www.daml.org/

7. “An Introduction to the Resource Description Framework”

http://www.dlib.org/dlib/may98/miller/05miller.html