File Information
File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/metho/80/c80-1022_metho.xml
Size: 25,022 bytes
Last Modified: 2025-10-06 14:11:17
<?xml version="1.0" standalone="yes"?> <Paper uid="C80-1022"> <Title>THE KNOWLEDGE REPRESENTATION FOR A STORY UNDERSTANDING AND SIMULATION SYSTEM</Title> <Section position="1" start_page="0" end_page="0" type="metho"> <SectionTitle> THE KNOWLEDGE REPRESENTATION FOR A STORY UNDERSTANDING AND SIMULATION SYSTEM HITOSHI OGAWA*, JUNICHIRO NISHI** AND KOKICHI TANAKA* * FACULTY OF ENGINEERING SCIENCE, OSAKA UNIVERSITY TOYONAKA, OSAKA 560, JAPAN ** MATSUSHITA ELECTRIC INDUSTRIAL CO.,LTD. KADOMA, OSAKA 571, JAPAN Abstruct There exist many difficult </SectionTitle> <Paragraph position="0"> problems to understand a situation and an event described in sentences or a story. One of them is to treat with more than one subject and their relations. Another is the comprehension of movement of the subjects and their effects to the others. In this pater, micro-actor is used as the knowledge representation in which such the problems mentioned above are solved. The micro-actor is an artificial intelligence module for knowledge representation, which is realized Hewitt's actor concept.</Paragraph> <Paragraph position="1"> A large problem is often solved by a group of specialists. Each specialist has his own knowledge and technique. A specialist can accomplish independently a small work communicating with the others. The specialist is implemented in the form of micro-actor on a computer. The micro-actor is independent of the others, and communicating with the others using one kind of action: sending message to another micro-actor.</Paragraph> <Paragraph position="2"> We discuss the following four problems to understand stories and the approaches to them: (i) depth of understanding sentences to comprehend a story, (2) a method to deal with an event which happens on the specific condition, (3) synchronization of the events which occur at same time and (4) treatment of the event which involves more than one object.</Paragraph> <Paragraph position="3"> i. Introduction The common issues of the various themes in artificial intelligence are the knowledge representation, and the mechanism of understanding and inference. The reason is that the problems in each theme is solved well using the knowledge known by human in a computer. We will discuss a story understanding to investigate how the knowledge is affected by the change of a world state with the passing of time.</Paragraph> <Paragraph position="4"> For right understanding of a story, it is necessary to check the world knowledge obtained from input sentences using common sense. This paper describes the system which simulates the actions of objects in a story for understanding an event and forecasting the results of the story. For the simulation, the system must deal with the action of individual object and the relation amang them. A micro-actor is adoped as the knowledge representation in which the problems mentioned above are solved. It is indepenent of the others, and communicating with the others using one kind of action: sending message to another one.</Paragraph> <Paragraph position="5"> Chapter 2 describes about the micro-actor and its features. In chapter 3~ four of the problems in story understanding are discussed. Chapter 4 shows the constructon of the simulation system and its example.</Paragraph> </Section> <Section position="2" start_page="0" end_page="152" type="metho"> <SectionTitle> 2. Micro-actor </SectionTitle> <Paragraph position="0"> A micro-actor was proposed as the implementation of some of abilities of Actor (Hewitt, C. 1973) in 1977 \[7\]. The micro-actor described in this paper is more powerful as it is supplemented some strong faculties. This chapter discuss the concept of the micro-actor, then explains the structure and the feature of it.</Paragraph> <Section position="1" start_page="0" end_page="0" type="sub_section"> <SectionTitle> 2.1 Concept of micro-actor </SectionTitle> <Paragraph position="0"> In a large system, it is difficult to add a new faculty to it, delete one from it, and modify it. A solution of such a crucial issue is that a large system is divided into many specialists.</Paragraph> <Paragraph position="1"> Each specialist has his own knowledge and technique to accomplish a small work independently. Only message passing is the interaction method between the specialists. A large problem is solved as follows: It is divided into the subproblems. If there does not exist a specialist which can solve a subproblem, the subproblem is further divided into the subproblems. When a specialist solves a problem, it communicates with the others to get his necessary information, to send the result of inference, and to check the consistency of solution. Finally, the large problem can be solved.</Paragraph> <Paragraph position="2"> A specialist is implemented in the form of micro-actor on computers. A proper definition of each micro-actor leads to a good execution of a system composed of the micro-actor. The concept of actor can be applied in various regions by means of assigning a suitable role to the micro-actor. For example, if a computer is regarded as a micro-actor, a powerful method will be supplied for the implementation of the parallel process or the distributed process using more than one computer. This paper describes that the micro-actors are implementeJ</Paragraph> <Paragraph position="4"> on a computer for problem solving and kno~C/ledge representation.</Paragraph> </Section> <Section position="2" start_page="0" end_page="152" type="sub_section"> <SectionTitle> 2.2 Construction of Micro-Actor </SectionTitle> <Paragraph position="0"> A micro-actor is composed of a &quot;script&quot; and an &quot;acquaintance&quot; (Fig. i). The script describes the behavior which the micro-actor should take when it receives a message. That is, it shows the procedural knowledge to use the data in the acquaintance. The acquaintance stores the data that the micro-actor knows; for example, its native values, its attributes, the name of the other micro-actors it directly knows about, and the relation with them. That is, it shows the declarative knowledge.</Paragraph> <Paragraph position="1"> (i) Script The script is specified with a set of pairs of message patterns and rules as follows: ((message patter,nl rule,ll ... rule,lm) (message patter,n2 rule,21 ... rule,2n) (message patter,np rule,pl ... rule,pq)).</Paragraph> <Paragraph position="2"> (ii) Message Pattern There are two types for pattern: (i) (MES: ?%N content TO: ?CONT).</Paragraph> <Paragraph position="3"> (2) (RE: ?%N content).</Paragraph> <Paragraph position="4"> ?%N is only matched with the massage number %n, where n is a positive integer. A message number is assigned to an input sentence or a message for distinguishing it from the others as a tag. The message n~nber is also used to distinguish a datLim from the others stored in the same micro-actor. The atoms prefixed by &quot;?&quot; (e.g. ?CONT) are the variables for pattern matching The prefix &quot;!&quot; is used instead of the prefix &quot;?&quot; to refer to the pattern matching variables for their values ; for example, !CONT. &quot;MES&quot; means a message and &quot;RE&quot; means a reply. &quot;TO:&quot; means that the continuation is sent a reply. Assign &quot;NO-0NE&quot; to !CONT in the case that the answer is not required. Assign &quot;ME&quot; to fCONT when the reply is demanded. This is equal to the subroutine control.</Paragraph> <Paragraph position="5"> (iii) Rule A rule is a set of programs, which carries out a job. The rule consists of three parts as follows: ((P-C: program,pl ... program,pq) (N-C: program,nl ... program,nr) (C-E: program,cl ... program,cs)).</Paragraph> <Paragraph position="6"> &quot;P-C&quot; is an abbreviation for pre-condition. &quot;N-C:&quot; means next-condition which is an option. &quot;C-E:&quot; is an abbreviation for caused-events in which the messages are sent to the other micro-actors when both the pre-condition and the next-condition are satisfied. The form of the rule is given by Dr. Yonezawa\[12\], and it is suggested that the form of the rule is useful to deal carried out in order of the appearance of them in the pre-condition and the the name of a micro-actor next-condition. On the other hand, the programs in the caused-events can be executed concurrently.</Paragraph> <Paragraph position="7"> (iv) Program A program is written in the restricted LISP notation. The user can freely use the LISP functions which do not have influence upon the pointers to lists and atoms; e.g., MEMBERS, ASSOC and so on. The variables are restricted to the form !m or !In (Both m and n are positive integers) for the LISP functions which have influences upon the pointers; e.g., SETQ and so on. This restriction prevents the behavior of a micro-actor from giving unitentional effect to other micro-actors. The variable !m is used as well as PROG variable. The user can operate the basic function (FGET, FPUT and FREMOVE) to deal with the acquitance. The function FGET is used to obtain the data from the acquaintance. The functions FPUT and FREMOVE may put the data to it and remove the data from it, restrictively. The user uses the basic function (FGET, FPUT and FREMOVE) to deal with the acquaintance. These functions differ from those of PRL\[9,10\] in point of the necessity of the frame name. The functions in this paper deals with only its acquaintance. Therefore, the execution of the basic function does not affect the other micro-actors. A specification for message passing is as follows: (=> the name of a r~cro-actor a message).</Paragraph> <Paragraph position="8"> (v) Acquaintance The frame is employed to represent the acquaintance as shown in Fig. 2. The respective substructures of a frame are named; Slot, Facets Datum and Comment. A slot shows which property the data in it are connected with. A facet shows kinds of the data; e.g., values, constraints, procedures and so on. A datum is elementary information associated with the facet, and a comment is additional information for the datum. More than one facet can be included in a slot.</Paragraph> </Section> <Section position="3" start_page="152" end_page="152" type="sub_section"> <SectionTitle> 2.3 Behavior of Micro-Actor </SectionTitle> <Paragraph position="0"> The micro-actor becomes active and tries to play its role when it receives a message Mi. If the message pattern Pi is found, a rule Ri is searched for, which is one of rules making a pair with the pattern Pi, and whose pre-condition should be satisfied. When there is the next-condition in Ri, all programs in the next-condition should be evaluated. If the next-condition is satisfied, the easued-events are executed. If there is no rule whose pre-condition is satisfied concerning the pattern Pi, the micro-actor tries to find another message pattern which is matched with Mi.</Paragraph> <Paragraph position="1"> Since the system holds the COMMON-SCRIPT which is necessary for all micro-actor, the users may specify the micro-actor by the peculiar script. The COMMON-SCRIPT has the message pattern (MES: ?%N ?X TO: ?CONT) and acts as follows: (a) If the variable IX (corresponding to ?X) indicates one of the basic functions (FGET, FPUT and FREMOVE), then it is put into practice.</Paragraph> <Paragraph position="2"> (b) If !X shows one of the extension functions (i.e., there exists a micro-actor corresponding to it), the rules are obtained from the micro-actor corresponding to the extension function, and they are performed. The variables !In (n = i, ..., 5) are corresponed to the arguments; for example, !!l means the first argument.</Paragraph> <Paragraph position="3"> (c) If IX indicates a set of rules, then !X is accomplished.</Paragraph> </Section> <Section position="4" start_page="152" end_page="152" type="sub_section"> <SectionTitle> 2.4 Demon for Micro-actor </SectionTitle> <Paragraph position="0"> A demon function is newly added to the micro-actor to build a story understanding system. Micro-actors correspond with men, animals and objects which appear in a story.</Paragraph> <Paragraph position="1"> Each action is described in the script. The acquaintances show peculiar values and the relation to the others. It is, however, difficult to get a result of the simulation of the world situation obtained from a story. For example, assume that there is a micro-actor Taro (names of micro-actors are underlined) which corresponds to a man named Taro. Consider the method that Taro sends a message to a certain micro-actor when he arrives at place X. In this case, Taro must see if his place is place X whenever Taro changes his place. To do this well, the demon function is necessary, which always checks if there exists the specific situation or not, and behaves an appropriate action: In this exampled once the demon function comes to know that Taro is at place X, it sends a message to a certain micro-actor.</Paragraph> <Paragraph position="2"> We can use demon functions using is the frame representaion like FRL, and two kind methods of the demon functions mentioned below. Two of new demon functions are made in consideration of the activation method of micro-actors: The micro-actors are activated when then receive messages. 0nly a post-action method is adopted in the present system.</Paragraph> <Paragraph position="3"> Pre-action A pre-action demon is described in the form of rules in a pre-action slot in the acquaintance. When a micro-actor receives a message, rules in the pre-action slot are evaluated before the micro-actor begins to execute its role according to the script.</Paragraph> <Paragraph position="4"> Post-action A post-action demon is described in the form of rules in a post-action slot in the acquaintance. After the micro-actor finished to execute its role according to the script, the rules in the post-action slot are evaluated.</Paragraph> </Section> <Section position="5" start_page="152" end_page="152" type="sub_section"> <SectionTitle> 2.5 Features of Micro-actor </SectionTitle> <Paragraph position="0"> The knowledge representation using the micro-actors can establishes both its modularity and easibility of interaction. This section states the features of a micro-actor using examples.</Paragraph> <Paragraph position="1"> The declarative knowledge and the procedural one The knowledge is represented in either the declarative form or the procedural one. The following example shows how to represent the knowledge in the micro-actor. Assume micro-actor Human which shows the knowledge about a human being. Though we have a great deal of knowledge about a human being, two simple examples will be shown. One is represented as the declarative knowledge: &quot;A human is a kind of animal.&quot; The representation of this knowledge is to put value ANIMAL to Ako slot in the acquaintance of mlcro-actor Human. The other is represented as the procedural knowledge: &quot;When there exists an obstacle (e.g., tree, wall, etc.) in his way, he jumps over it if it is low, otherwise, he go a long way around.&quot; This knowledge is shown in the form of rule, and the rules are put to either the script, or Pre-condition slot or Post-action slot in the acquaintance of micro-actor Human.</Paragraph> <Paragraph position="2"> Modularity It is essential to be able to represent a great deal of knowledge by a group of small modules. As mentioned in 2.1, the micro-actor can independently accomplish a small --153-work, and only message passing is the interaction method between one and another. The messages received by a micro-actor describes what the micro-actor must do. The messages sent from a micro-actor shows what the micro-actor needs. We can understand the action of a micro-actor from only the messages sent from or received by the micro-actor. Therefore, we may only check the messages sent or received to change the micro-actor. Furthermore, we can easily understand the micro-actor system inspecting the messages.</Paragraph> <Paragraph position="3"> The modurality brings the construction in which a classification and a hierarchical structure of knowledge is easily represented. The following shows the example about the representation of knowledge in a hierarchical structure.</Paragraph> <Paragraph position="4"> The obstacles to the human (e.g., John and Tom) are generally trees, fire, wall, and so on.</Paragraph> <Paragraph position="5"> Dogs are, however, obstacles to Tom if he dislikes them. In the micro-actor system, these obstacles are specified in a hierarchical structure as shown in Fig. 3. In Fig. 3, the names and the acquaintances are shown in boxes. Pseudo parallel processing can be easily implemented. This secton will show the example of that John and Tom play at a tug of war (Two person draw a rope in the opposite direction.). John and Tom are assigned to micro-actor John and micro-actor Tom, respectively. To simulate the tug of war, it is necessary that John and Tom are activated simultaneously. This is, however, impossible of implementation using our facilities. Therefore, the example is simulated with pseudo parallel processing.</Paragraph> <Paragraph position="6"> We also use micro-actor SIMTW which has the knowledge about a tug of war. Fig. 4 shows the relation of the micro-actors.</Paragraph> <Paragraph position="7"> SIMTW cannot be active until it receive the messages from both Tom and John. If it receives two messages, then it check the situation of the tug of war: e.g., if Tom and John draw a rope in opposite directions with the same might, then the tug is continued. If one of them is more powerful than the other, then he becomes a winner. When one of them falls down, there is no power to draw a rope. Then he is loser ....</Paragraph> <Paragraph position="8"> Parallel processing is possible if Tom and John are independently implemented using two micro-computers. In our system, we use one computer to implement the micro-actor system.</Paragraph> <Paragraph position="9"> Therefore, necessary is the micro-actor for synchronization of the action of Tom and of John. The detail will be described in chapter 4.</Paragraph> <Paragraph position="10"> 3. Problems in Story Understanding There exist many difficult problem to understand a story. In this chapter, we discuss four main problem in them, and approaches to them.</Paragraph> <Paragraph position="11"> (1) How deeply should a sentence be understand to comprehend a story? A consistent meaning should be obtained from a sentence neither in too detail nor in too rough in order to comprehend a story. The level of detail at which a sentence is understood depends upon the context and one's interest. The example will be given to us using the following sentence: &quot;John was walking.&quot; One may think that the sentence means that John advances. This interpretation leads the reason enough to understand &quot;John arrived at a town.&quot; However, it is not the reason enough to understand &quot;John was tired.&quot; One must infer as follows: Action &quot;walking&quot; consists of the relaxation of muscles and the tension of them. One of reasons for his fatigue may be the repetition of the tension and the relaxation of muscles. We, therefore, infer that his fatigue is caused by the long distance walking until we find another reason for it.</Paragraph> <Paragraph position="12"> To implement te above inference, we adopted a frame representation to be easy to represent knowledge in a hierarchical structure, and developed the convenient method to deal with such knowledge.</Paragraph> <Paragraph position="13"> (2) How to deal with an event which happens on the specific condition.</Paragraph> <Paragraph position="14"> To answer the questions about a story, it is necessary to refer to the knowledge base and to forecast the event which will happen in the future. One of methods for a forecast is the simulation of the story. In the simulation, there exests an event which happens only on the special condition. The simulation is performed to investigate at where Tom will arrive using the information obtained from the story, when the system receives the question &quot;Can Tom arrive at a town?&quot; If there is obstacles on his way, we cannot predict Tom's behavior. Therefore, whenever he changes his position, the system should see if he is in the town. The demon function is useful to check this rather than programming his behavior in the script. In this paper, the rules are in the post-action slot, which send a messge to micro-actor Answer if Tom is in the town. These rules are activated after being applied some rules in the script of Tom. (3) How to describe the knowledge changed frequently.</Paragraph> <Paragraph position="15"> When there exist some subjects which move at the same time, the simulation system must change simultaneously their position. However, it is impossible to implement the parallel processing by using a CPU machine. For example, assume the scene that Tom and a dog are walking oppositely. The simulation system changes their positions in order: first Tom moves then the dog moves, or in the opposite order. The different results are brought in the different ordering when there is the restriction that they must not come across. To settle the above issue, we use the time-flag in order to represent the situations of them.</Paragraph> <Paragraph position="16"> The method is a little unconvenient for describing the situation per time. It, however, needs neither the specific faculty to remember its careers, nor the memory space to hold new situations for the micro-actors because they are changed at the same time.</Paragraph> <Paragraph position="17"> Fig. 5 shows the list of the acquaintance of micro-actor Tom. Sn is the abbreviation of Stepn(Suffix n is a positive integer.). Si indicates the time when the system is the initial state. Suffix n is increased one by one as a certain time passes. Place slot indicates the present place of Tom, and Figdeg 5 says that he was in Pi6 (Place 16) at Si and in Pi7 at $2. In ACT slot, the action of Tom is described.</Paragraph> <Paragraph position="18"> According to Fig. 5, Tom is going to P20.</Paragraph> <Paragraph position="19"> micro-actor Tom.</Paragraph> <Paragraph position="20"> (4) How to deal with the event which involves more than one subject.</Paragraph> <Paragraph position="21"> There may be more than one subject in an event stated in a story. When they are related with one another, we must skillfully deal with the relations of them. There are two kinds of relations between the subjects in a story. One is cooperation (e.g., Tom and John push a box together), and the other is opposition (e.g., Tom and John play at a tug of war).</Paragraph> <Paragraph position="22"> There are many ambiguous sentences dealing with cooperation. In the case of sentence &quot;Tom and John made a shed for dog in cooperation,&quot; there are some interpretation as follows: (i) They divided the labor: e.g., One of them bought materials and the other constructed the shed.</Paragraph> <Paragraph position="23"> (2) They worked together for all Jobs.</Paragraph> <Paragraph position="24"> (3) One of them worked according to the other's direction.</Paragraph> <Paragraph position="25"> The above example says that we can consider many complicated relation for cooperation in a simple sentence. In this paper, we use the second interpretation for simplicity.</Paragraph> <Paragraph position="26"> Both cooperation and opposiPSion is dealt in the similar way in this simulation system. Examples will be given using the following sentences: (i) Tom and John play at a tug of war.</Paragraph> <Paragraph position="27"> (2) Tom and John push a box together.</Paragraph> <Paragraph position="28"> In order to deal with sentence (i), we make micro-actor SIMTW which stores the knowledge about a tug of war: e.g. &quot;A winner is a person who is more powerful than the other.&quot; &quot;A winner's opponent is a loser.&quot; and so on. When SIMTW receives both a message from Tom and one from John, it compares the power of Tom with one of John, and Judges a winner. A Coop (which means cooperation) slots are added to the acquaintances of To__m_and'John to store the name of his opponent.</Paragraph> <Paragraph position="29"> The treatment of sentence (2) is similar to one of sentence (i). We make micro-actor SIMPUSH which compares the sum of power of Tom and John with the weight of the box, when it receives both a message from Tom and one from John.</Paragraph> <Paragraph position="30"> SIMPUSH sends micro-actor BOX a message to get its weight. If the sum of power of two person --155-is larger than the weight of the box, SIMPUSH sends messages to To____m, John and Box to change their position.</Paragraph> </Section> </Section> class="xml-element"></Paper>