Key-Sun Choi, Woon-Jae Lee, Seongyong Kim, Jun-Sik Park, and Namil Kim
Abstract
1. Introduction
2. Categories of Objects and Knowledge Representation Schemes
3. Standard Generalized Markup Language(SGML)
4. Structured Knowledge Description Language(SKDL)
4.1 General Structure of SKDL
4.2 Specialization of SKDL to an Agent
4.2.1 SKDL Elements
5. An Example Description of SKDL for Personal Travel Assistance
6. Related Technologies
7. Conformance to the Criteria
8. Conclusion
References
Appendix A: a Preliminary Research for SKDL - Text and Dictionary
Management System / Standard Dictionary Markup Language
(TDMS/SDML)
A.1 Standard Dictionary Markup Languages (SDML)
A.2 The Structure of Text and Dictionary Management System
A.2.1 Standard Dictionary (SD)
A.2.2 Standard Dictionary Editor (SDE)
A.2.3 SD Encoder/SD Decoder
List of Figures
<Figure 1> General structure of SKDL
<Figure 2> Header and definition part of SKDL
<Figure 3> The initial definition of <body>
<Figure 4> An example of body structure modification
<Figure 5> An example of the structure of an SKDL-formatted
document for database store
<Figure 6> The reference model of human/agent and
agent/agent communication in PTA
<Figure 7> Step1: Natural language sentence as the output
of Speech Recognition Agent
<Figure 8> Step2: Meaning for the NL sentence as the output
of NL Understanding Agent
<Figure 9> Step3: Plan for the meaning of the NL sentence
as the output of Planning Agent
<Figure 10> Message Broker Agent as a message distributor
among agents
Figure A.1. The Structure of TDMS 17
An agent actively tackles a given situation to form a goal and to set a sequence of actions to reach the goal. In that process, the agent needs to have the ability to store, retrieve, and manipulate its knowledge. It also should be able to get necessary knowledge from other agents through agent/agent communication and to deliver its processing results upon other agents' requests. It entails that an agent should have a method, i.e., a language, for describing and managing those knowledge for internal representation or external communications.
It is desirable to represent knowledge both internal to the agent and for external communication by the same, uniform description language. This language must have the following features: a) independence of the types of agents and software, b) ability to represent various information and knowledge, c) to support human/agent and agent/agent communications with no difficulty, and d) to comply with standards.
In this proposal, we present, as
the agent's objects and knowledge description method,
Structured Knowledge Description Language (SKDL) which is based
on Standard Generalized Markup Language (SGML). SKDL can describe
and manipulate various objects and knowledge in a uniform fashion
and can support the communications between agents. SKDL is an indispensable method
for representation and manipulation of the agent's objects and knowledge.
Keywords: Structured
Knowledge Description Language (SKDL), Knowledge Representation
(KR), Knowledge Management, SGML
We can assume the following steps for agent/agent communications and human/agent interactions [Hodgson]:
The communication unit can be one of the following: a set of pre-defined messages (primitive), a set of message templates (intermediate), sublanguage (controlled), or full natural language (human-oriented) [Choi 97]. The details of those levels are discussed in that proposal, so we omit the explanation here. The utterance (sentence) in this proposal means one of the four types of messages.
An agent actively tackles a given situation to form a goal and to set a sequence of actions to reach the goal. In that process, the agent needs to have the ability to store, retrieve, and manipulate its knowledge. It also should be able to get necessary knowledge from other agents through agent/agent communication and to deliver its processing results upon other agents' requests. It entails that an agent should have a method, i.e., a language, for describing and managing those knowledge for internal representation or external communications.
It is desirable to represent knowledge both internal to the agent and for external communication by the same, uniform description language. This language must have the following features: a) independence of the types of agents and software, b) ability to represent various information and knowledge, c) to support human/agent and agent/agent communications with no difficulty, and d) to comply with standards. In order to share the same or redundant information or knowledge among several agents, the shared objects should be given in a general and flexible format. Some formatted information such as database entity need not to be re-compiled for uniform representation, however, since this kind of information may need to be compiled only upon request during the execution of corresponding agents. We propose Structured Knowledge Description Language (SKDL), based on Standard Generalized Markup Language (SGML), as the agent's objects and knowledge description language.
In step 3 of the aforementioned assumption, for example, an agent can keep its parsed sentence meaning in Prolog representation form. This kind of internal representation can differ according to the types or characteristics of agents. But, the internal representation should be of uniform format for inter-agent communications. The description language for this purpose is SKDL, which can fulfill the necessary features given above.
The first Call for Proposals(CFP) of FIPA addresses agent technologies (Chapter 5) about agent management, human/agent and agent/agent communication, and agent/software interaction. But, it does not address the technology for objects and knowledge representation (description) of an agent. The Agent Interface Description Language (AIDL) has somewhat similar features to this SKDL, but the former focused on the external features of an agent such as agent identification whereas the latter focused on both objects and knowledge that an agent can deal with. Thus, it seems necessary to include this sort of agent technology in the specification.
Objects that are to be handled by an agent can be physical objects or the knowledge representation of them. Physical objects include text, database entity, drawings or images, audio/visual objects, and objects that have application-specific structures. The knowledge representation can be of four categories of schemes according to [Mylopoulos 84]:
The problems of an agent is mainly related to the problems of searching appropriate objects or knowledge and of applying retrieved knowledge to certain actions. Hence, those objects and knowledge need to be represented in an appropriate structure for the processing by an agent. In addition, since an agent may send to or receive from other agent objects and knowledge in different message levels as depicted in [Choi 97] (primitive, intermediate, controlled, human-oriented), the description language should cope with this issue.
In the following sections, Standard Generalized Markup Language (SGML) is briefly explained and SKDL will be described in turn.
SGML is a meta-language that defines a syntax of a markup language. Once SGML defines a structure for documents, then the documents are marked up according to the structure. This definition of document structures is called Document Type Definition (DTD), and the marked up document by that DTD is called Document Instance (DI) [Bryan 88, Goldfarb 90].
SGML defines the logical structure of a document and leave the freedom of defining the physical structure to anyone as needed. This feature makes it possible to extract and handle only necessary parts from a common document format, independent of the application program thereof. In the process of publishing documents using SGML, for example, once the whole document were marked up by a DTD, each application programs such as editing, proofreading, composing, or illustration programs can then handle only relevant parts of the document, and hence can get better performance [Travis 95].
However, SGML has so broad coverage that implementing whole functionality is quite difficult. Therefore, it is a natural tendency to use a restricted form of SGML. Hypertext Markup Language (HTML) is one of such examples. It is a subset of SGML and focuses mainly on document formatting and hyperlink. The lack of functionality in HTML carries difficulty in representing knowledge of an agent.
SKDL in this proposal can be viewed as a subset of SGML, and can provide a guideline for representing inter-agent communication parameters and shared information/knowledge among agents.
SKDL is composed of three parts: header (skdlHeader), definition part(front), data part(body). Header has information including ID, name, type, and the definition part prescribes attribute/value pairs which are to be used in the data part. Figure 1 show a general structure of SKDL. Figure 2 depicts the detailed structure of the header and the definition part.
<SKDL type=angent_service_type>
<skdlHeader> [header information] </skdlHeader>
<front> [definition of attribute - value pairs] </front>
<body> [SKDL elements] </body>
</SKDL>
<skdlHeader>
<skdlID> [SKDL ID] </skdlID>
<skdlName> [SKDL name] </skdlName>
<skdlVer> [version number] </skdlVer>
<skdlType> [SDKL type] </skdlType>
<skdlDate> [date and time of creation] </skdlDate>
<skdlAgent> [skdl creation agent] </skdlAgent>
<skdlNote> [explanation] </sdNote>
</skdlHeader>
<front>
<attrdefgroup>
<attrdef> [definition of an attribute] </attrdef>
<attrdef> [definition of an attribute] </attrdef>
[repetition of attrdef's]
</attrdefgroup>
<valdefgroup>
<valdef> [declaration of an attribute value] </valdef>
<valdef> [declaration of an attribute value] </valdef>
[repetition of valdef's]
</valdefgroup>
</front>
<attrdef>
<attrname> [attribute name] </attrname>
<attrlist>
<attr> [real attribute]</attr>
[repetition of attr's]
</attrlist>
</attrdef>
<valdef>
<valname> [value name] </valname>
<vallist>
<val> [real value]</val>
[repetition of val's]
</vallist>
</valdef>
Each individual agent specializes and adjusts the basic structure to define the messages that it can handle.
An element can consist of one simple field or have the form of complex tree structure. For this purpose, the agent developer identifies necessary SKDL elements and defines the body so that the necessary elements can reflect an appropriate structure in the body. This specialized body part follows the general format of SGML but has some restrictions so that the resultant structure can easily be implemented. The following are some examples of such restrictions.
The <body> is initially defined as depicted in Figure 3. Therefore, if the developer wants to modify the structure, then he may overwrite those elements which he wants to modify. Figure 4 shows an example of such modification, and Figure 5 depicts an example of the structure of an SKDL-formatted document for database store.
<!ELEMENT body - - (#PCDATA)* >
<!DOCTYPE skdlf SYSTEM "skdl.dtd" [
<!ELEMENT body - o (sen-tree)+ >
<!ELEMENT sen-tree - o (agent,action,object?,time?) >
<!ELEMENT agent - o (#PCDATA) >
<!ELEMENT action - o (tense,verb) >
.....
]>
id | tag name | attribute | parent | sibling | child | content |
0 | SKDL | PTree | x | x | 1 | |
1 | skdlHeader | 0 | 12 | 2 | ||
12 | body | 0 | x | 13 | ||
13 | sen-tree | 12 | nnn | 14 | ||
14 | agent | 13 | 15 | x | I | |
15 | action | 13 | 18 | 16 | ||
16 | tense | 15 | 17 | x | must | |
17 | verb | 15 | x | x | meet | |
18 | object | 13 | nnn | 19 | M. Kane |
Let's assume the following situation to show an example of SKDL description for PTA. A traveler requests the following to the User Interface Agent (UIA) using a telephone call.
"I must meet M. Kane of Rosebud company in New York in the afternoon of the 29th of September. Plan me a trip for this appointment. I would like an answer by tomorrow evening, take my standard preferences into account."
The reference model for this human/agent and agent/agent communications is shown in Figure 6.
The operational concept of Figure 6 is as follows.
1. UIA receives the voice of a traveler and passes it to the Speech Recognition Agent. Speech Recognition Agent recognizes a natural language sentence and sends it back to the UIA (Figure 7).
<SKDL type=NLSen>
<skdlHeader> .....
<body>
<sen> I must meet M. Kane of Rosebud company in
New York in the afternoon of the 29th of
September.
<sen> Plan me a trip for this appointment.
<sen> I would like an answer by tomorrow evening,
take my standard preferences into account.
</body>
</SKDL>
2. UIA passes the natural language sentence (result of step 1) to Natural Language (NL) Understanding Agent, and then the latter agent parses the message and returns the meaning (parse tree or concept) to the UIA (Figure 8).
<SKDL type=PTree>
<skdlHeader> .....
<body>
<sen-tree>
<agent> I
<action>
<tense> must
<verb> meet
<object> M. Kane
<of> Rosebud company
<in> New York
<time> afternoon
<of> 29th, September
</sen-tree>
.....
</body>
</SKDL>
3. UIA receives the result of step 2 and then passes it to Planning Agent. Planning Agent develops a plan for the message and returns it back to UIA (Figure 9).
<SKDL type=plan>
<skdlHeader> .....
<body>
<plan>
<action_class> plan_trip
<Actor> user
<path> PATH
<Desstination> New York
<preconditions> ....
<decomposition> ....
</plan>
<plan>
<action_class> ....
.....
</body>
</SKDL>
4. UIA gets the plan from Planning Agent and passes it to either Travel Service Agent or Broker to get a desirable response.
During this process, the
UIA determines if the received message meets its
interest. This can be determined by investigating the
header's type information. When the UIA
transmits its requesting message to other agents, it
actually passes the message to Message Broker Agent,
which then decides appropriate destination of the message
and delivers as such. The Message Broker Agent therefore
keeps the information about other agents and their
interests (processing message types). Figure 10 depicts
such notion.
An agent should not only be able to parse SKDL to get necessary information and to identify its contributability to the message but also be able to construct an information or request in SKDL form to get other agent's co-operation. For these functionalities, an agent should interface to SKDL parser and SKDL generation software. In addition, to get necessary information from Common Knowledge Base (see Figure 6), the following agents have to be involved in the overall process.
In Introduction, we discussed that SKDL is one of indispensable agent technologies but the current CFP doesn't address the corresponding area of technologies. We presented the following criteria for such technology branch, and through the main body of this proposal we think the proposed SKDL complies to them.
In addition to the conformance to the criteria, SKDL has several advantages as a knowledge representation scheme: a) Because SKDL is based on SGML, it can store information and knowledge into database with uniform formats. This further makes it easy to share objects and knowledge among agents; b) a document encoded in SKDL reflects its structure so that fine-grained and thus accurate retrieval results can be found. Also as a message content description language, SKDL preserves independence of agent or software characteristics while supports the agents various knowledge representation forms and communication capability.
To achieve a goal with co-working various agents, it is necessary to define a standard description method of knowledge used in inter-agent communication and common knowledge sharing. In this proposal, we defined SKDL, described some characteristics of it, and showed that it complies to the following features: a) independence of the types of agents and software, b) ability to represent various information and knowledge, c) to support human/agent and agent/agent communications with no difficulty, and d) to comply with standards. We described as a possible application the PTA using SKDL and Message broker to show that SKDL can simplify and make clear the problem when used in an agent system. In appendix A, we enclosed a preliminary research work on Text and Dictionary Management System / Standard Dictionary Manipulation Language (TDMS/SDML) to show the possibility of a standard method for objects and knowledge representation, store, and retrieval.
[Hodgson] J.P.E.Hodgson. Agents that communicate. (http://www.sju.edu/~jhodgson/ugai/commun.html)
[Choi 97] Key-Sun Choi, Jun-Sik Park, Namil Kim, Seongyong Kim, and Woon-Jae Lee. January, 1997. Classification of message levels and the use of machine translation technology for the flexible communication between agents. A proposal in response to FIPA's first Call for Proposals.
[Mylopoulos 84] J. Mylopoulos and H.J.Levesque. 1984. An overview of knowledge representation. In M.L.Brodie, J. Mylopoulos, and J.W.Schmidt (eds.), On Conceptual Modeling. New York: Springer-Verlag.
[Bryan 88] Bryan, M.(1988), SGML: An Author's Guide to the Standard Generalized Markup Language, Addison-Wesley.
[Goldfarb 90] Charles F. Goldfarb, " The SGML Handbook," Clarendon Press, Oxford, 1990.
[Ide 95] Nancy Ide and Jean Veronis, "Text Encoding Initiative Background and Context," Kluwer Academic Publishers, 1995.
[ISO 94] "Information technology - Text and office systems - Document Style Semantics and Specification Language(DSSSL) - Draft", ISO/IEC DIS 10179.2, 1994.
[Travis 95] Travis, B. E. and Waldt, D. C. "The SGML Implementation Guide," Springer-Verlag Berlin Heidelberg, pp3-20, 1995.
As the first step to testing the specification of SKDL, we developed an Standard Dictionary Markup Language (SDML) and constructed Text and Dictionary Management System (TDMS) for its application.
The standard dictionary formats have all the information on the base of TDMS. These information is composed of two kinds of information. One is required by the standard dictionary editor (SDE) to edit and maintain the dictionary. The description format of the dictionary entry and the pointer tag for a hypertext are the examples of the maintaining information. The other is required by the application dictionaries. The functional description with SGML for the format and content of dictionaries are included here. In general, a dictionary consists of many entries with headwords as its indexes. The entry structures are subject to change according as the headword's features. SDML is a subset of SGML, which restricts some SGML functions only to describe the structure of a dictionary.
TDMS consists of 3 components, e.g. Standard Dictionary (SD), the format of which is defined in a subset of SGML, Standard Dictionary Editor (SDE) which creates, edits and browses the SD, and SD Encoder & Decoder which can transform both non standard dictionary format into SD format and SD into various dictionary formats according to the application.
Standard Dictionary is defined in a subset of SGML and holds various forms of each dictionary. In the structure of SD the tag set is used which is described in SGML DTD (Document Type Definition). All the information of dictionary is represented in text form, therefore we need not have any special program in order to see the lexical information in SD. In front of SD there is a pre-defined part of the logical structure , with which we can examine the lexical structure during the parsing.
Such a lexicon structure is in fact based on the DTD definition in SGML, which represents the logical structure of the lexicon according to the SGML definitions. On the basis of this structure we make a Standard Dictionary Format (SDF).
The Standard Dictionary
Editor is used not only for editing and modifying the
contents and structure of SD, but for retrieving and
browsing the lexical information. The information of one
lexical entry is represented in a window per default, and
if there is not enough space for the explanation of a
entry, the system supports the scrolling of window.
Because each dictionary has its own structure, it is not easy to find a meaningful structural description. We need to have a flexible means to represent the internal structure. We must seize the structure of SD and make the system dynamic to present information of each entries on it. In TDMS we have the following function related with this purpose.
We can also create a new dictionary from the existing dictionary, i.e. we can make a dictionary by merging two different dictionaries, or we can make a dictionary from one dictionary by extracting needed information (by change of structure).
Many dictionaries for NLP systems are saved (or defined) in binary file, or in text file according to their application. These types of dictionaries can be converted into SD by SD-Decoder and SD into another dictionaries by SD-Encoder.
Dictionaries which are used for the application programs are very different in their structures. In our implementation we provide a tool for the conversion of dictionaries only for some application, which is most used. (e.g. trie, tree, hash etc.) For the forms which are not supported by our system, one should develop a converter for himself in order to use the SDE.