Download - LECTURE 7: Agent Communication
![Page 1: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/1.jpg)
8-1
LECTURE 7: Agent Communication
Based on An Introduction to MultiAgent Systemshttp://www.csc.liv.ac.uk/~mjw/pubs/imasSome examples from presentation by Nyik San Ting, spring 2003.
![Page 2: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/2.jpg)
8-2
Agent Communication From this lecture on, we will cover the
macro-aspects of multi-agent systems: those issues relating to the agent society, rather than the individual agent: communication;
speech acts: KQML; FIPA ACLontologies: KIF, Ontolingua, OWL
cooperation:what is cooperation; the contract net protocol; cooperative versus non-cooperative encounters; prisoner’s dilemma; evolutionary games, agent negotiation, social norms
![Page 3: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/3.jpg)
8-3
Contents
Tuesday (18 Oct 2004)� Speech Acts� KQML, KIF� FIPA ACL� Ontology
Thursday (20 Oct 2004)� Ontology development� KIF� XML & RDF� DAML
![Page 4: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/4.jpg)
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, 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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/5.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/6.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/7.jpg)
8-7
Elements
Speaker
Utterance
Come and have a free Pizza !
Hearer(s)
![Page 8: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/8.jpg)
8-8
Speech Acts - Austin
3 aspects of Speech Acts:� Locutionary act� Illocutionary act� Perlocution
![Page 9: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/9.jpg)
8-9
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 10: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/10.jpg)
8-10
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 Niia: “Please, make me to make some tea”
(request)o The President: “The tuition fee will increase by
50% next year” (announcement)
![Page 11: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/11.jpg)
8-11
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 I know that I am asked to make tea for Niia
(whether I make it / decline / forget is a different matter)
o Everyone is informed and understands that the tuition fee will increase by 50% next year
![Page 12: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/12.jpg)
8-12
“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 13: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/13.jpg)
8-13
Performative Utterance
“ I warn you that they will raise the gas price dramatically” The first verb in the sentence emphasizes the goal
of the speaker
“They will raise the gas price dramatically” Compare the strength of this statement with prev.
Felicitous performative Performative utterance that works successfully
![Page 14: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/14.jpg)
8-14
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 15: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/15.jpg)
8-15
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 16: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/16.jpg)
8-16
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? E.g. HEARER should be able to perform the ACTION; SPEAKER must believe that. It must be obvious that HEARER won’t do ACTION anyway.
� Sincerity conditionso Distinguish the sincerity of the performance of the speech act,
e.g. SPEAKER may not really want ACTION to be performed
![Page 17: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/17.jpg)
8-17
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 18: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/18.jpg)
8-18
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 19: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/19.jpg)
8-19
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 20: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/20.jpg)
8-20
Plan Based Semantics How does one define the semantics of speech acts,
so that a system can reason and plan? 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 21: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/21.jpg)
8-21
Plan-Based Semantics Here is their semantics for request:
request(s, h, )pre: Cando.pr: s believe h can do (you don’t ask someone to do something unless you think
they can do it) Cando.pr: s believe h believe h can do
(you don’t ask someone unless they believe they can do it) Want.pr: 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 22: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/22.jpg)
8-22
Mediating act
CauseToWant(A1, A2, )
Pre: Cando.pr
(A1 Believe (A2 Believe (A2 Want )))Want.pr
X (nothing)Post:
(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 (very agreeable A1!).This definition can be extended to contain more conditions related to social relationships, role etc.
![Page 23: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/23.jpg)
8-23
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 effort (KSE), in the early 1990ies.
KQML is comprised of two parts: the knowledge query and manipulation language
(KQML) the knowledge interchange format (KIF)
![Page 24: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/24.jpg)
8-24
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 25: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/25.jpg)
8-25
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 H that C is in S’s VKB.
![Page 26: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/26.jpg)
8-26
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 H’s answers to question C
There are variants: ask-if, ask-all,ask-about
![Page 27: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/27.jpg)
8-27
KQML shortcomings
Performative set not fixed in stone; different implementations of KQML can’t interoperate
Transport mechanisms for KQML messages are not defined – again hard to interoperate
Semantincs not rigorously defined; two agents claiming that they speak KQML may have different interpretations
Class of performatives (“Commissives” – expressing commitment) are missing
Too large, adhoc set of performatives
![Page 28: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/28.jpg)
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 message structure is similar to KQML: performative
20 performatives in FIPA housekeeping
e.g., sender, receiver, language, ontology, etc. content
the actual content of the message
![Page 29: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/29.jpg)
8-29
FIPA
Example:(inform
:sender agent1:receiver agent5:content (price good200
150):language sl:ontology hpl-auction
)
![Page 30: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/30.jpg)
8-30
FIPA Definitions in text, pg. 176
![Page 31: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/31.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/32.jpg)
8-32
“Inform” and “Request” “Inform” and “Request” are the two basic
performatives in FIPA ACL. 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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/33.jpg)
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 does not believe that the recipient is already
aware of whether content is true or not
Rational Effect the recipient believe the content
![Page 34: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/34.jpg)
8-34
“Inform” and “Request”
For the “request” performative…The content is an action.Pre-condition is that sender: believes recipient is capable of performing this
action does not believe that receiver already intends to
perform action
Rational effect: action content to be performed
![Page 35: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/35.jpg)
8-35
Semantic Conformance Testing Problem: We have an agent and an agent
communication language with well-defined semantics. How can we know if the agent respects the semantics of the language when it communicates?
ACL semantics are generally developed in such a way as to express constraint on the sender of the message Something like a program specification Can we not use program verification methods?
Problem: Need to know the mental state of agents (what
they believed, intended and so on) – Hard!
![Page 36: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/36.jpg)
8-36Figure obtained from [5]
![Page 37: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/37.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/38.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/39.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/40.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/41.jpg)
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
Ontologies are knowledge bodies that provide a formal representation of a shared conceptualization of a particular domain.
![Page 42: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/42.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/43.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/44.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/45.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/46.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/47.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/48.jpg)
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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/49.jpg)
8-49
Example
Dr. John Cooke
57 Campus Drive,
Saskatoon, SK S7N5A9
![Page 50: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/50.jpg)
8-50
<P><B>Dr. John Cooke</B>
<BR>57 Campus Drive,
<BR>Saskatoon, SK S7N5A9</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: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/51.jpg)
8-51
<address><name>
<title>Dr. </title><first_name>John</first_name><last_name>Cooke</last_name>
</name><street>57 Campus Drive</street><city>Saskatoon</city><province>SK</province><pcode>S7N5A9</pcode>
</address>
Representation in XML
Note semantic tags! Using XML it is possible to define new tags by writing an XML DTD.
![Page 52: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/52.jpg)
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 Origin: THE LIBRARIANS!
![Page 53: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/53.jpg)
8-53
![Page 54: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/54.jpg)
8-54
Example
Figures obtained from [10]
![Page 55: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/55.jpg)
8-55
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 56: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/56.jpg)
8-56
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 57: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/57.jpg)
8-57
DAML+OIL
A semantic markup language for Web resources
Uses XML and RDF Provides a higher level of information than
XML
![Page 58: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/58.jpg)
8-58
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 59: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/59.jpg)
8-59
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 60: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/60.jpg)
8-60
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 61: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/61.jpg)
8-61
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 62: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/62.jpg)
8-62
“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 63: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/63.jpg)
8-63
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 64: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/64.jpg)
8-64
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 65: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/65.jpg)
8-65
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 66: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/66.jpg)
8-66
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 67: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/67.jpg)
8-67
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 68: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/68.jpg)
8-68
Ontology Development Steps (3)
from Noy & McGuinness, the definition of a slot Produces that describes the wines produced by Winery.
![Page 69: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/69.jpg)
8-69
Ontology Development Steps (4)7. Create instances
Figure from Noy & McGuinness - the definition of an instance of the Beaujolais class
![Page 70: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/70.jpg)
8-70
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 – should be represented as one class)
Avoid class cycles “How many is too many and how few are too
few?”
![Page 71: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/71.jpg)
8-71
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 72: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/72.jpg)
8-72
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 73: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/73.jpg)
8-73
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
![Page 74: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/74.jpg)
8-74
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 75: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/75.jpg)
8-75
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 76: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/76.jpg)
8-76
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 77: LECTURE 7: Agent Communication](https://reader035.vdocuments.net/reader035/viewer/2022062518/56814411550346895db0afdf/html5/thumbnails/77.jpg)
8-77
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