JP2009015493A - Action execution device and method - Google Patents

Action execution device and method Download PDF

Info

Publication number
JP2009015493A
JP2009015493A JP2007175101A JP2007175101A JP2009015493A JP 2009015493 A JP2009015493 A JP 2009015493A JP 2007175101 A JP2007175101 A JP 2007175101A JP 2007175101 A JP2007175101 A JP 2007175101A JP 2009015493 A JP2009015493 A JP 2009015493A
Authority
JP
Japan
Prior art keywords
action
normal
execution
unit
plan
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007175101A
Other languages
Japanese (ja)
Inventor
Hisashi Hayashi
久志 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007175101A priority Critical patent/JP2009015493A/en
Publication of JP2009015493A publication Critical patent/JP2009015493A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an event management device and method, for efficiently recognizing the intention of a user. <P>SOLUTION: This action execution device has: an event acquisition part acquiring an event; a belief DB 501 storing a confirmable fact and a non-confirmable fact; a normal-interrupt plan preparation part 508 preparing a plan according to the acquired event; a normal-interrupt action execution part 40 executing an action by use of the confirmable fact and the non-confirmable fact in each the prepared plan; and an action history DB 505 storing executed action information as a history. When the event acquisition part acquires an interrupt event requiring confirmation of the action, the normal-interrupt plan preparation part prepares an interrupt plan confirming, to the user, whether the confirmable fact used in the action information stored in the action history DB is proper or not, and the normal-interrupt action execution part executes the action according to the prepared interrupt plan, and updates the confirmable fact according to an execution result thereof. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、アクション実行装置、及び方法に関するものである。   The present invention relates to an action execution apparatus and method.

従来、音声検出技術の向上に伴い、利用者との対話をトリガーとして処理を行う様々な装置が提案されている。このような装置では、利用者が発した音声の認識処理を行うことで、利用者が当該装置に対する指示を認識することができる。そして、当該装置では、利用者からの指示を認識した後、音声出力で次の指示を促したり、処理内容等の提示を行う。このように利用者と当該装置の間で音声による対話プランが行われることになる。しかしながら、音声認識率が100パーセントでない以上、対話プラン中に誤認識が生じることになる。   2. Description of the Related Art Conventionally, with improvement of voice detection technology, various devices that perform processing triggered by interaction with a user have been proposed. In such a device, a user can recognize an instruction to the device by performing a process of recognizing a voice uttered by the user. Then, after recognizing the instruction from the user, the apparatus prompts the next instruction by voice output or presents the processing contents. In this way, a voice conversation plan is performed between the user and the device. However, since the speech recognition rate is not 100%, erroneous recognition occurs in the dialogue plan.

このような装置の対話プラン中に誤認識が生じた場合に、誤認識が生じた箇所を特定すると共に、当該誤認識の箇所を修正するのは難しい。   When erroneous recognition occurs in the dialogue plan of such an apparatus, it is difficult to identify the location where the erroneous recognition has occurred and to correct the erroneous recognition location.

例えば、特許文献1に記載された技術では、装置と利用者との間で対話を行った後、装置の認識が誤りと判断した場合、入力毎に音声コマンドの確認を行うか、最初から音声入力するかを判断した後、いずれかの処理を行うことで誤りを訂正している。これにより誤認識が生じた場合に訂正するための労力の低減を図っている。   For example, in the technique described in Patent Document 1, after a dialogue between the device and the user, if it is determined that the device is recognized incorrectly, a voice command is confirmed for each input or a voice command is started from the beginning. After determining whether to input, the error is corrected by performing any of the processes. In this way, efforts are made to reduce the labor required to correct a misrecognition.

特開2004−271909号公報JP 2004-271909 A

しかしながら、装置が処理を行う場合、利用者に入力された指示のみならず、当該装置に格納されている情報を用いて処理を行うことが多い。特許文献1に記載された技術を適用すると、当該装置に格納されている情報についても利用者に全て確認を行うことになり、利用者の確認負担が増大するという問題がある。   However, when a device performs processing, it often performs processing using information stored in the device as well as instructions input by the user. When the technique described in Patent Document 1 is applied, all the information stored in the device is also confirmed with the user, and there is a problem that the burden of confirmation for the user increases.

本発明は、上記に鑑みてなされたものであって、利用者の意図を効率よく認識することのできるイベント管理装置、及び方法を提供することを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to provide an event management apparatus and method that can efficiently recognize a user's intention.

上述した課題を解決し、目的を達成するために、本発明にかかるアクション実行装置は、利用者の要求を示す通常目標情報を記憶する通常目標記憶部と、利用者の意図したとおりに処理が行われていないことに対する利用者の反応に応じて変更可能な状況情報を示す可変状況情報と、前記利用者の反応に応じて変更を行わない状況情報を示す不変状況情報と、を記憶する状況情報記憶部と、前記通常目標情報に応じたアクションである、前記可変状況情報と前記不変状況情報のうちいずれか一つ以上を使用して処理を行う通常アクションの実行順序を示す通常プランを作成する通常プラン作成部と、作成された前記通常プラン毎に、前記実行順序に従って、前記通常アクションを実行する通常アクション実行部と、実行された前記通常アクションの履歴を記憶するアクション履歴記憶部と、前記通常アクション毎に、当該通常アクションが実行時に使用する前記可変状況情報のを対応付けたアクション対応情報を記憶するアクション情報記憶部と、前記アクション履歴記憶部に記憶されている前記通常アクション毎に、当該通常アクションに対応付けられている前記可変状況情報を前記アクション対応情報記憶部から抽出し、抽出した前記可変状況情報が適切か否かの確認を利用者に対して要求する確認要求アクションを作成する割込プラン作成部と、前記確認要求アクションを前記通常アクションに割り込んで実行する確認要求アクション実行部と、実行された前記確認要求アクションにより利用者から前記可変状況情報が適切でないことを示す情報が入力された場合に、前記状況情報記憶部に記憶されている、前記確認要求アクションの確認対象である前記可変状況情報を更新する更新部と、を備えたことを特徴とする。   In order to solve the above-described problems and achieve the object, the action execution device according to the present invention performs processing as intended by the user, and a normal target storage unit that stores normal target information indicating a user's request. Situation for storing variable status information indicating status information that can be changed according to a user's response to not being performed, and invariant status information indicating status information that is not changed according to the user's response Create a normal plan that indicates the execution order of normal actions that perform processing using one or more of the variable status information and the invariant status information, which are actions corresponding to the information storage unit and the normal target information A normal plan creation unit that executes the normal action according to the execution order for each created normal plan, and the normal action executed An action history storage unit that stores a history of actions, an action information storage unit that stores, for each of the normal actions, action correspondence information that associates the variable status information that the normal action uses at the time of execution, and the action history For each normal action stored in the storage unit, the variable situation information associated with the normal action is extracted from the action correspondence information storage unit, and whether the extracted variable situation information is appropriate is checked Used by an interrupt plan creation unit for creating a confirmation request action for requesting a user, a confirmation request action execution unit for interrupting and executing the confirmation request action in the normal action, and the confirmation request action executed When information indicating that the variable status information is not appropriate is input from a person Stored in the information storage unit, characterized by comprising a an update unit that updates the variable status information is to be confirmed the confirmation request action.

また、本発明にかかるアクション実行方法は、利用者の要求を示す通常目標情報を通常目標記憶部に記憶する通常目標記憶ステップと、利用者の意図したとおりに処理が行われていないことに対する利用者の反応に応じて変更可能な状況情報を示す可変状況情報と、前記利用者の反応に応じて変更を行わない状況情報を示す不変状況情報と、を状況情報記憶部に記憶する状況情報記憶ステップと、前記通常目標情報に応じたアクションである、前記可変状況情報と前記不変状況情報のうちいずれか一つ以上を使用して処理を行う通常アクションの実行順序を示す通常プランを作成する通常プラン作成ステップと、作成された前記通常プラン毎に、前記実行順序に従って、前記通常アクションを実行する通常アクション実行ステップと、実行された前記通常アクションの履歴をアクション履歴記憶部に記憶するアクション履歴記憶ステップと、前記通常アクション毎に、当該通常アクションが実行時に使用する前記可変状況情報を対応付けたアクション対応情報をアクション情報記憶部に記憶するアクション情報記憶ステップと、前記アクション履歴記憶部に記憶されている前記通常アクション毎に、当該通常アクションに対応付けられている前記可変状況情報を前記アクション対応情報記憶部から抽出し、抽出した前記可変状況情報が適切か否かの確認を利用者に対して要求する確認要求アクションを作成する割込プラン作成ステップと、前記確認要求アクションを前記通常アクションに割り込んで実行する確認要求アクション実行ステップと、実行された前記確認要求アクションにより利用者から前記可変状況情報が適切でないことを示す情報が入力された場合に、前記状況情報記憶部に記憶されている、前記確認要求アクションの確認対象である前記可変状況情報を更新する更新ステップと、を有することを特徴とする。   The action execution method according to the present invention includes a normal target storage step for storing normal target information indicating a user's request in the normal target storage unit, and usage for processing not being performed as intended by the user. Status information storage that stores variable status information indicating status information that can be changed according to a user's reaction and invariant status information indicating status information that is not changed according to the user's response in a status information storage unit A normal plan for creating a normal plan indicating an execution order of normal actions for performing processing using any one or more of the variable status information and the invariant status information, which is an action corresponding to the step and the normal target information A plan creation step; a normal action execution step for executing the normal action in accordance with the execution order for each of the created normal plans; An action history storage step of storing the history of the normal action in an action history storage unit, and an action information storage unit that associates the variable situation information used at the time of execution of the normal action for each normal action by the action information storage unit For each of the normal actions stored in the action history storage unit, the variable situation information associated with the normal action is extracted from the action correspondence information storage unit and extracted. An interrupt plan creation step for creating a confirmation request action for requesting the user to confirm whether or not the variable status information is appropriate, and a confirmation request action execution for interrupting and executing the confirmation request action in the normal action Step and said confirmation request action performed When the information indicating that the variable status information is not appropriate is input from the user, the update for updating the variable status information that is stored in the status information storage unit and is the confirmation target of the confirmation request action And a step.

本発明によれば、通常目標情報に応じて実行済のアクションに対応する可変状況情報が適切か否かを利用者に確認するプランを作成することで、利用者の意図を効率よく認識することが可能という効果を奏する。   According to the present invention, the user's intention can be efficiently recognized by creating a plan for confirming to the user whether or not the variable status information corresponding to the executed action is appropriate according to the normal target information. There is an effect that is possible.

以下に、本発明にかかるアクション実行装置、方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。以下、アクション実行装置をプラン実行システムの一部に適用した例を示す。   Embodiments of an action execution apparatus and method according to the present invention will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments. Hereinafter, an example in which the action execution apparatus is applied to a part of the plan execution system will be described.

(第1の実施の形態)
第1の実施の形態にかかるプラン実行システム1は、利用者との対話によりプランを作成し、作成されたプランの実行を管理する。図1に示すように、プラン実行システム1は、外界監視部10と、イベント対応部20と、プランニングエージェント30と、通常・割込アクション実行部40とを備えている。外界監視部10、イベント対応部20およびプランニングエージェント30は、本実施の形態においては一つの装置内に格納されている。なお、このように一つの装置内に格納することに限定するものではなく、インターネット等で結合された複数のコンピュータ上に実装してもよい。
(First embodiment)
The plan execution system 1 according to the first embodiment creates a plan through interaction with a user, and manages the execution of the created plan. As shown in FIG. 1, the plan execution system 1 includes an external environment monitoring unit 10, an event handling unit 20, a planning agent 30, and a normal / interrupt action execution unit 40. The external monitoring unit 10, the event handling unit 20, and the planning agent 30 are stored in one apparatus in the present embodiment. In addition, it does not limit to storing in one apparatus in this way, You may mount on the some computer couple | bonded by the internet etc.

外界監視部10は、外界環境を監視する。具体的には、外界環境として外界監視部10の外部から得られる情報を監視する。さらに、外界監視部10は、外界監視部10自身に記録されている情報を参照する。そして、監視結果が予め定められている条件を満たした場合には、イベントを発行する。そして、このイベントをイベント対応部20に通知する。ここで、イベントは、監視結果が予め定められている所定の条件を満たしていることを示す情報である。   The external environment monitoring unit 10 monitors the external environment. Specifically, information obtained from outside the outside monitoring unit 10 is monitored as the outside environment. Furthermore, the external environment monitoring unit 10 refers to information recorded in the external environment monitoring unit 10 itself. When the monitoring result satisfies a predetermined condition, an event is issued. Then, this event is notified to the event handling unit 20. Here, the event is information indicating that the monitoring result satisfies a predetermined condition.

外界監視部10はまた、イベント対応部20から通知指示を取得する。通知指示とは、外界監視部10におけるイベント発行に関する指示である。例えば利用者から発せられた音声を検出し、利用者から所定の音声コマンドを検出した場合に、条件を満たしたと判断し、イベント対応部20にイベントを通知する。通知指示には、この他、外界監視部10のオンオフ、必要なイベントの種類、イベント発行のための条件、イベント発行の頻度などの情報が含まれている。   The external monitoring unit 10 also acquires a notification instruction from the event handling unit 20. The notification instruction is an instruction regarding event issuance in the external monitoring unit 10. For example, when a voice emitted from the user is detected and a predetermined voice command is detected from the user, it is determined that the condition is satisfied, and the event corresponding unit 20 is notified of the event. In addition to this, the notification instruction includes information such as on / off of the external monitoring unit 10, the type of necessary event, the condition for event issuance, and the frequency of event issuance.

なお、外界監視部10が外部から得られる情報としては、例えば、マイクから得られる音声情報、カメラから得られる画像情報等が考えられる。   Note that examples of information obtained from the outside by the external monitoring unit 10 include audio information obtained from a microphone and image information obtained from a camera.

また、内部に記録されている情報としては、音声認識に必要な音声情報、音声によるコマンド認識に必要なコマンド情報等がある。   The information recorded inside includes voice information necessary for voice recognition, command information necessary for voice command recognition, and the like.

イベント対応部20は、外界監視部10から取得した外部イベントに基づいて、次に行うべき処理内容を特定する。ここで、処理内容としては、外界監視部10への通知指示の送信、後述するプランニングエージェント30へのゴールの投入、およびプランニングエージェント30の信念DB501の更新がある。   The event handling unit 20 specifies the processing content to be performed next based on the external event acquired from the external monitoring unit 10. Here, the processing contents include transmission of a notification instruction to the external monitoring unit 10, input of a goal to the planning agent 30 described later, and update of the belief DB 501 of the planning agent 30.

ここで、信念とは、プランニングエージェント30に関する現在の状況を示す情報である。また、ゴールとは、実行完了したいタスクまたは達成したい状態等を示すものである。   Here, the belief is information indicating the current situation regarding the planning agent 30. The goal indicates a task desired to be completed or a state desired to be achieved.

さらに、イベント対応部20は、プランニングエージェント30からプランニングエージェント30によるプランの実行がどのような実行状態にあるかを示す内部イベントを取得する。この場合、イベント対応部20は内部イベントに基づいて処理内容を特定する。   Further, the event handling unit 20 acquires an internal event indicating what execution state the plan execution by the planning agent 30 is in from the planning agent 30. In this case, the event handling unit 20 specifies the processing content based on the internal event.

プランニングエージェント30は、イベント対応部20から投入されたゴールに基づいて、複数のアクションを含むプラン群を作成する。図2に示すように、ゴールは、1又は2以上のプランを実行することで達せられるものとする。そして、各プランは、ゴールを達成するための1または2以上の処理であるアクションの実行順序を保持している。すなわち、ゴールに応じて作成されるものである。プランニングエージェント30は、プランに含まれるアクションの実行指示を通常・割込アクション実行部40に通知する。プランニングエージェント30はまた、通常・割込アクション実行部40からアクションの実行結果を受け取り、実行結果に応じてアクションの実行を管理する。また、アクションの実行状態に応じた内部イベントをイベント対応部20に通知する。   The planning agent 30 creates a plan group including a plurality of actions based on the goal input from the event handling unit 20. As shown in FIG. 2, it is assumed that the goal is achieved by executing one or more plans. Each plan holds the execution order of actions that are one or more processes for achieving the goal. That is, it is created according to the goal. The planning agent 30 notifies the normal / interrupt action execution unit 40 of an action execution instruction included in the plan. The planning agent 30 also receives the execution result of the action from the normal / interrupt action execution unit 40 and manages the execution of the action according to the execution result. Also, an internal event corresponding to the action execution state is notified to the event handling unit 20.

通常・割込アクション実行部40は、プランニングエージェント30からの指示に従ってアクションを実行または中断する。そして、実行結果(成功・失敗・中断)をプランニングエージェント30に通知する。なお、アクションは、通常アクション及び割込アクションを含むものとする。これらアクションの説明については後述する。   The normal / interrupt action execution unit 40 executes or interrupts the action according to an instruction from the planning agent 30. Then, the execution result (success / failure / interruption) is notified to the planning agent 30. The action includes a normal action and an interrupt action. These actions will be described later.

図3に示すように、イベント対応部20は、イベントルールDB301と、外部イベント取得部302と、内部イベント取得部304と、条件判定部305と、処理内容抽出部306と、通知部307とを有している。外部イベント取得部302は、外界監視部10から通知された外部イベントを取得する。内部イベント取得部304は、プランニングエージェント30から内部イベントを取得する。内部イベントとしては、具体的には、アクション実行の開始を示す開始イベントやアクション実行の終了を示す終了イベントがある。   As shown in FIG. 3, the event handling unit 20 includes an event rule DB 301, an external event acquisition unit 302, an internal event acquisition unit 304, a condition determination unit 305, a processing content extraction unit 306, and a notification unit 307. Have. The external event acquisition unit 302 acquires an external event notified from the external world monitoring unit 10. The internal event acquisition unit 304 acquires an internal event from the planning agent 30. Specifically, the internal event includes a start event indicating the start of action execution and an end event indicating the end of action execution.

イベントルールDB301は、イベントルールを格納している。イベントルールにおいては、イベントと、実行条件と、処理内容とが対応付けられている。ここで、イベントとして具体的には、外界監視部10により発行される外部イベントまたはプランニングエージェント30により発行される内部イベントを識別するイベント識別情報が格納されている。また、実行条件とは、後述するプランニングエージェント30が保持している信念DB501の事実に関する情報である。事実とは、プラン実行システム1で行われた処理の状況、又は外部の環境などの状況を示すデータとする。   The event rule DB 301 stores event rules. In the event rule, an event, an execution condition, and a processing content are associated with each other. Here, specifically, event identification information for identifying an external event issued by the external monitoring unit 10 or an internal event issued by the planning agent 30 is stored as an event. The execution condition is information regarding the facts in the belief DB 501 held by the planning agent 30 described later. The fact is data indicating the status of processing performed in the plan execution system 1 or the status of the external environment.

また、外部イベントと処理内容とを対応付けたイベントルールの例としては、「利用者から音声入力された場合に、当該音声で示された目的地に移動するためのナビゲーションを開始する」など、外部イベントの処理内容を行うための条件として格納している。内部イベントと処理内容とを対応付けたイベントルールの例としては、例えば、「ナビゲーションが終了した場合に、利用者から音声による目的地の入力の受付を開始する」などがある。   In addition, examples of event rules that associate external events with processing contents include “when a voice is input from a user, navigation for moving to the destination indicated by the voice” is started. Stored as a condition for processing the external event. As an example of an event rule in which an internal event is associated with a processing content, for example, “when the navigation is completed, reception of input of a destination by voice from a user is started” is available.

イベントルールは、具体的には、
event(E,[C1,…Cn],[R1,…Rm])
の形をしている。ここで、Eはイベント識別情報を示している。C1,…Cnは、実行条件である。R1,…Rmは処理内容である。
Specifically, event rules are:
event (E, [C1,... Cn], [R1,... Rm])
It has the shape of Here, E indicates event identification information. C1,... Cn are execution conditions. R1,... Rm are processing contents.

このイベントルールは、イベント識別情報Eで示されるイベントが通知されたときに、これらの実行条件C1,…Cnが全て成り立っている(つまり、発火条件が成り立つ)ならば、R1から順にRmまでの処理を順に行うことにより、イベント処理を行うことを意味している。   In this event rule, when the event indicated by the event identification information E is notified, if all of these execution conditions C1,... Cn are satisfied (that is, the ignition condition is satisfied), the event rules from R1 to Rm in order. This means that event processing is performed by sequentially performing the processing.

ここで、R1,…Rmはいずれも、外界監視部10、イベント対応部20またはプランニングエージェント30のうちいずれかの操作である。具体的には、プランニングエージェント30の信念DB501の更新、プランニングエージェント30への割込ゴール投入、プランニングエージェント30への通常ゴール投入、プランニングエージェント30への割込プランチェック命令、外界監視部10のスイッチ・オン(イベント発行の条件付き)、外界監視部10のスイッチ・オフ、イベント要求(要求するイベントの条件付き)等がある。なお、割込ゴールとは、実行された通常アクションの確認処理を要求するために、実行中の通常アクションを中断し、優先的に達成すべきゴールであり、換言すれば割込目標情報に相当する。通常ゴールとは、利用者の要求を示すゴールであって、プランニングエージェント30が取得した順序に従って処理すべきゴールであり、換言すれば通常目標情報に相当する。   Here, each of R1,... Rm is an operation of any one of the external monitoring unit 10, the event handling unit 20, or the planning agent 30. Specifically, the belief DB 501 of the planning agent 30 is updated, the interrupt goal input to the planning agent 30, the normal goal input to the planning agent 30, the interrupt plan check instruction to the planning agent 30, and the switch of the external monitoring unit 10 ON (with event issuance condition), switch-off of external monitoring unit 10, event request (with request event condition), etc. Note that an interrupt goal is a goal that should be achieved preferentially by interrupting a normal action that is being executed in order to request confirmation of the executed normal action, in other words, equivalent to interrupt target information. To do. The normal goal is a goal indicating a user's request and is a goal to be processed according to the order acquired by the planning agent 30. In other words, it corresponds to normal target information.

図4に示すイベントルールの例では、イベントルールの符号401に記載された部分にイベント識別情報が設定され、符号402に記載された部分に実行条件が設定され、符号403に記載された部分に処理内容(例えば、実行するアクション)が設定されている。なお、符号402には実行条件が設定されていないため、符号401に設定されたイベントを取得した場合に、符号403に示された処理内容が実行される。   In the example of the event rule shown in FIG. 4, event identification information is set in the part described in the event rule code 401, the execution condition is set in the part described in the code 402, and the part described in the code 403 is set in the event rule. Processing contents (for example, an action to be executed) are set. Since the execution condition is not set in the reference numeral 402, the processing content indicated by the reference numeral 403 is executed when the event set in the reference numeral 401 is acquired.

図3に戻り、条件判定部305は、外部イベント取得部302が外部イベントを取得した場合や内部イベント取得部304が内部イベントを取得した場合には、イベントルールDB301のイベントルールにおいて取得したイベントに対応付けられている実行条件を抽出する。そして、後述するプランニングエージェント30の信念DB501から取得した信念を参照し、現在の状況が実行条件を満たしているか否かを判断する。   Returning to FIG. 3, when the external event acquisition unit 302 acquires an external event or when the internal event acquisition unit 304 acquires an internal event, the condition determination unit 305 determines the event acquired in the event rule of the event rule DB 301. Extract the associated execution conditions. Then, a belief acquired from the belief DB 501 of the planning agent 30 described later is referred to and it is determined whether or not the current situation satisfies the execution condition.

なお、イベントルールDB301のイベントルールは、イベントと処理内容とを対応付けていればよく、実行条件は必ずしも必須ではない。現在の状況にかかわらずイベントが発行した場合にはかならず所定の処理を行うような場合には、実行条件は不要である。この場合には、条件判定部305は、条件を満たすと判断すればよい。   The event rule of the event rule DB 301 only needs to associate the event with the processing content, and the execution condition is not necessarily essential. When an event is issued regardless of the current situation, an execution condition is not necessary when a predetermined process is performed. In this case, the condition determination unit 305 may determine that the condition is satisfied.

処理内容抽出部306は、処理対象となるイベントが実行条件を満たす場合には、イベントルールDB301においてイベントに対応付けられている処理内容を抽出する。通知部307は、この処理内容に応じた処理を行う。ここで、処理内容としては、例えば、外界監視部10への指示の通知やプランニングエージェント30へのゴール投入指示の通知などがある。   When the event to be processed satisfies the execution condition, the processing content extraction unit 306 extracts the processing content associated with the event in the event rule DB 301. The notification unit 307 performs processing according to the processing content. Here, examples of processing contents include notification of an instruction to the external monitoring unit 10 and notification of a goal input instruction to the planning agent 30.

図5に示すように、プランニングエージェント30は、信念DB501と、プラン群スタック503と、アクション情報DB504と、アクション履歴DB505と、通常・割込ゴール取得部506と、ゴールキュー507と、通常・割込プラン作成部508と、アクション管理部510と、内部イベント通知部511と、更新部509とを有している。通常・割込ゴール取得部506は、イベント対応部20からゴール指示を取得する。ゴールキュー507は、通常・割込ゴール取得部506が取得したゴール指示に示されるゴールを格納する。   As shown in FIG. 5, the planning agent 30 includes a belief DB 501, a plan group stack 503, an action information DB 504, an action history DB 505, a normal / interrupt goal acquisition unit 506, a goal queue 507, and a normal / A plan creation unit 508, an action management unit 510, an internal event notification unit 511, and an update unit 509. The normal / interrupt goal acquisition unit 506 acquires a goal instruction from the event handling unit 20. The goal queue 507 stores the goal indicated by the goal instruction acquired by the normal / interrupt goal acquisition unit 506.

信念DB501は、アクションの実行に使用する事実を格納している。この事実が処理等の状況を示すデータである以上、信念DB501は換言すれば状況情報記憶部に相当する。また、格納している事実は、2種類存在する。一方は、利用者の意図したとおりに処理が行われていないことに対する利用者の反応に応じて変更を行わない、つまり、誤認識が生じた場合に利用者に対して確認不要な事実であり、換言すれば不変状況情報に相当する。他方は、利用者の反応に応じて変更可能、つまり、誤認識が生じた場合に利用者に対して確認を行うことが可能な事実であり、換言すれば可変状況情報に相当する。   The belief DB 501 stores facts used for executing actions. Since this fact is data indicating the status of processing or the like, the belief DB 501 corresponds to the status information storage unit in other words. There are two types of stored facts. One is the fact that no change is made according to the user's reaction to the fact that the processing is not performed as intended by the user, that is, it is not necessary to confirm with the user when a misrecognition occurs. In other words, it corresponds to invariant situation information. The other is the fact that it can be changed according to the reaction of the user, that is, it is possible to confirm with the user when a misrecognition occurs, in other words, it corresponds to variable status information.

図6に示すように、信念DB501は、誤認識が生じた場合に利用者に対して確認不要な事実をbeliefの括弧内に保持し、誤認識が生じた場合に利用者に対して確認を行うことが可能な事実をaskableBeliefの括弧内に保持する。また、本実施の形態にかかる信念DB501では、確認不要な事実と確認を行うことが可能な事実とをまとめて保持しているが、確認可能な事実と、確認不要な事実とをそれぞれ別の記憶手段に記憶しても良い。なお、当該情報を使用した処理については後述する。   As shown in FIG. 6, the belief DB 501 holds facts that do not need to be confirmed for the user in the case of misrecognition in the brackets of belief, and confirms the user if misrecognition occurs. Keep facts that can be done within the brackets of askableBelief. Further, in the belief DB 501 according to this embodiment, facts that do not need to be confirmed and facts that can be confirmed are held together, but the facts that can be confirmed and the facts that do not need to be confirmed are different from each other. You may memorize | store in a memory | storage means. A process using the information will be described later.

通常・割込プラン作成部508は、信念DB501を参照し、当該信念DB501に格納されている確認可能な事実と確認不要な事実とを用いて実行されるアクションの順序を含むプランを作成する。また、通常・割込プラン作成部508が生成するプランのうち、割込ゴールを達成するために生成されたプランを割込プラン、通常ゴールを達成するために生成されたプランを通常プランとする。   The normal / interrupt plan creation unit 508 refers to the belief DB 501 and creates a plan including the order of actions to be executed using the facts that can be confirmed and the facts that need not be confirmed stored in the belief DB 501. Of the plans generated by the normal / interrupt plan creation unit 508, the plan generated to achieve the interrupt goal is the interrupt plan, and the plan generated to achieve the normal goal is the normal plan. .

プラン群スタック503は、通常・割込プラン作成部508により作成されたプランを格納する。図7に示すように、プラン群スタック503には、ゴール毎に作成されたプラン群を格納している。そして、後述するアクション管理部510は、優先度の高いプラン群に従ってアクションの実行を通常・割込アクション実行部40に指示する。   The plan group stack 503 stores the plan created by the normal / interrupt plan creation unit 508. As shown in FIG. 7, the plan group stack 503 stores a plan group created for each goal. Then, the action management unit 510 to be described later instructs the normal / interrupt action execution unit 40 to execute the action according to the high priority plan group.

また、通常・割込アクション実行部40が実行するアクションのうち、通常プランに従って実行されるアクションを通常アクション、割込プランに従って実行されるアクションを割込アクションとする。この割込アクションは、通常アクションに割り込んで実行されるアクションである。この割込アクションには、信念DB501に格納されている確認可能な事実に対して適切か否かの確認を行う確認要求アクションが含まれている。つまり、通常・割込アクション実行部40は、換言すれば確認要求アクション実行部としての機能も有する。   Of the actions executed by the normal / interrupt action execution unit 40, an action executed according to the normal plan is set as a normal action, and an action executed according to the interrupt plan is set as an interrupt action. This interrupt action is an action executed by interrupting a normal action. This interrupt action includes a confirmation request action for confirming whether or not the fact that can be confirmed stored in the belief DB 501 is appropriate. In other words, the normal / interrupt action execution unit 40 also has a function as a confirmation request action execution unit.

なお、本実施の形態においては、通常ゴール及び割込ゴールを一つのゴールキュー507に格納することで、通常・割込プラン作成部508で通常プラン及び割込プランを作成することとした。本実施の形態は、このような構成に限定するものではなく、通常プランを作成する通常プラン作成部と、割込プランを作成する割込プラン作成部とを別の構成としても良い。この場合は通常・割込アクション実行部40についても同様に、通常アクションを実行する通常アクション実行部と、割込のアクションを実行する割込アクション実行部とを別の構成としても良い。   In the present embodiment, the normal / interrupt plan is created in the normal / interrupt plan creation unit 508 by storing the normal goal and the interrupt goal in one goal queue 507. The present embodiment is not limited to such a configuration, and a normal plan creation unit that creates a normal plan and an interrupt plan creation unit that creates an interrupt plan may be configured separately. In this case, the normal / interrupt action execution unit 40 may be configured differently from the normal action execution unit that executes the normal action and the interrupt action execution unit that executes the interrupt action.

アクション情報DB504は、アクション毎に、アクションの実行時に使用される事前条件と、事前条件が成立したときに行う処理が記述されたアクションルールを保持している。アクションの事前条件には、確認可能な事実及び確認不要な事実のいずれか一方以上が設定されている。これら確認可能な事実及び確認不要な事実のいずれか一方以上が信念DB501に適切に格納されている場合に、事前条件を満足していると判断される。なお、アクションルールは、プログラミング言語Prologの形式で記述されていが、他の形式で記述しても良い。なお、当該アクションルールにおいて、英大文字で始まる英数文字列は、変数とみなされる。   The action information DB 504 holds, for each action, an action rule that describes a precondition used when the action is executed and a process to be performed when the precondition is satisfied. One or more of facts that can be confirmed and facts that do not need to be confirmed are set in the action preconditions. When one or more of these facts that can be confirmed and facts that do not need to be confirmed are appropriately stored in the belief DB 501, it is determined that the precondition is satisfied. The action rule is described in the format of the programming language Prolog, but may be described in another format. In the action rule, an alphanumeric character string starting with an uppercase letter is regarded as a variable.

このような事前条件の情報は、アクション情報DB504に記録されており、具体的には、図21で示されるアクションルールが記録されている。ここで、アクションルールは、具体的には、
action(Action,[C1,…Cn],[E1,…Em])
の形をしている。ここで、Actionはアクション名を示している。C1,…Cnは、事前条件である。E1,…Emはアクションが行われたことに伴う事実関係の変更処理であり、信念DB501が保持している事実の変更処理である。つまり、アクション(Action)のn個の事前条件(C1,…,Cn)が全て成立したときに、m個の事実関係(E1,…、Em)が変更されることを示している。また、E1,…Emで示される事実関係の変更内容は、initiates(F)、initiatesAskable(F)、又はterminates(F)のいずれかの形式を有している。
Such precondition information is recorded in the action information DB 504. Specifically, the action rule shown in FIG. 21 is recorded. Here, the action rules are specifically:
action (Action, [C1,... Cn], [E1,... Em])
It has the shape of Here, Action indicates the action name. C1,... Cn are preconditions. E1,... Em is a fact change process associated with an action, and is a fact change process held in the belief DB 501. That is, when all the n preconditions (C1,..., Cn) of the action (Action) are satisfied, m factual relationships (E1,..., Em) are changed. Further, the change contents of the factual relationship indicated by E1,... Em have any format of initiates (F), initiates Askable (F), or terminates (F).

initiates(F)は、利用者に確認を行う必要のない事実Fが成立するようになることを示し、信念DB501にbelief(F)が登録される。また、initiatesAskable(F)は、利用者に確認可能な事実Fが成立するようになることを示し、信念DB501にaskableBelief(F)が登録される。   Initiates (F) indicates that the fact F that does not need to be confirmed to the user is established, and belief (F) is registered in the belief DB 501. InitiatesAssable (F) indicates that a fact F that can be confirmed by the user is established, and askableBelief (F) is registered in the belief DB 501.

terminates(F)は、事実Fが成立しなくなることを示し、belief(F)又はaskableBelief(F)が信念DB501から削除される。   “Terminates (F)” indicates that the fact “F” is not established, and “belief (F)” or “ableBelief (F)” is deleted from the belief DB 501.

アクション管理部510は、プラン群スタック503に格納されているプランを読み出し、プランに含まれているアクションの実行指示を通常・割込アクション実行部40に通知する。その後、アクション管理部510は、通常・割込アクション実行部40から実行結果を受け取る。さらに、アクション管理部510は、実行したアクションを履歴として、アクション履歴DB505に登録する。また、アクション管理部510は、ゴールを達成した場合、当該ゴールを達成するために行ったアクションの履歴を、アクション履歴DB505から削除する。   The action management unit 510 reads the plan stored in the plan group stack 503 and notifies the normal / interrupt action execution unit 40 of an execution instruction for the action included in the plan. Thereafter, the action management unit 510 receives the execution result from the normal / interrupt action execution unit 40. Furthermore, the action management unit 510 registers the executed action in the action history DB 505 as a history. Further, when the action management unit 510 achieves the goal, the action management unit 510 deletes the history of actions performed to achieve the goal from the action history DB 505.

アクション履歴DB505は、通常・割込アクション実行部40が実行したアクションの履歴を記憶する。図8に示すように、アクション履歴DB505には、実行順にアクション履歴が格納されている。   The action history DB 505 stores a history of actions executed by the normal / interrupt action execution unit 40. As shown in FIG. 8, the action history DB 505 stores action histories in the order of execution.

図5に戻り、内部イベント通知部511は、アクション管理部510によるアクションの実行指示を通知した際にアクション開始を示す開始イベントをイベント対応部20に通知する。また、アクション管理部510がアクション実行の成功を示す実行結果を受け取った際にアクション終了を示す終了イベントを通知する。なお、アクション実行の中断を示す実行結果を受け取った場合にも終了イベントを通知する。   Returning to FIG. 5, the internal event notification unit 511 notifies the event handling unit 20 of a start event indicating the start of an action when the action management unit 510 notifies the action execution instruction. Further, when the action management unit 510 receives an execution result indicating the successful execution of the action, it notifies an end event indicating the end of the action. An end event is also notified when an execution result indicating interruption of action execution is received.

更新部509は、アクション管理部510からの指示、イベント対応部20および通常・割込アクション実行部40からの信念更新指示にしたがい、信念DB501およびプラン群スタック503を更新する。プラン群スタック503を更新した結果、実行中のアクションを実行する必要がなくなった場合には、アクション管理部510は、アクションの中断を通常・割込アクション実行部40に通知する。   The update unit 509 updates the belief DB 501 and the plan group stack 503 in accordance with the instruction from the action management unit 510 and the belief update instruction from the event handling unit 20 and the normal / interrupt action execution unit 40. As a result of updating the plan group stack 503, when it is no longer necessary to execute the action being executed, the action management unit 510 notifies the normal / interrupt action execution unit 40 of the interruption of the action.

次に、上述したプラン実行システム1を、カー・ナビゲーション・システムに適用した例について説明する。当該カー・ナビゲーション・システムにおいては、利用者と対話により目的地を特定し、ナビゲーションを開始する。   Next, an example in which the above-described plan execution system 1 is applied to a car navigation system will be described. In the car navigation system, the destination is specified through dialogue with the user, and navigation is started.

図9に示す例では、音声コマンド認識を行う外界監視部10は、利用者の「たてやまえき」から目的地を富山地方鉄道立山線の立山駅と解釈する。また、外界監視部10は、「とうちゃくじこく」から、目的地までの予想到着時刻をユーザは知りたいと解釈する。   In the example shown in FIG. 9, the external monitoring unit 10 that recognizes a voice command interprets the destination as “Tateyama Station” on the Toyama District Railway Tateyama Line from the user “Tateyama Eki”. In addition, the external environment monitoring unit 10 interprets that the user wants to know the estimated arrival time from “Toyaku Kujikoku” to the destination.

この解釈に従い、プラン実行システム1は、ルートの作成に必要な事前条件(事実)を設定する。プラン実行システム1は、信念DB501に「(確認可能な事実である)目的地を立山駅」に設定する。また、プラン実行システム1は、「到着時刻を知りたい」を信念DB501に設定する。   According to this interpretation, the plan execution system 1 sets a precondition (facts) necessary for creating a route. The plan execution system 1 sets “the destination (which can be confirmed) is Tateyama Station” in the belief DB 501. Further, the plan execution system 1 sets “I want to know the arrival time” in the belief DB 501.

また、ルート検索条件(例えば、一般道優先か高速優先か)は、利用者からユーザから指定されていないが、プラン実行システム1は、デフォルト設定である高速優先と判断することにする。そこで、プラン実行システム1は、「(確認可能な事実である)高速優先」を設定する。   The route search condition (for example, whether general road priority or high-speed priority) is not specified by the user from the user, but the plan execution system 1 determines that high-speed priority is the default setting. Therefore, the plan execution system 1 sets “(high speed priority)” (which is a fact that can be confirmed).

その後、プラン実行システム1は、事前条件を満たした場合に「ルートを作成・表示」する。なお、「ルート検索条件」とは「高速優先」か否かとする。そして、当該処理を行ったあと、信念DB501には、「(確認の必要のない事実である)ルート作成済」が設定される。   Thereafter, the plan execution system 1 “creates / displays a route” when the precondition is satisfied. The “route search condition” is “high speed priority” or not. Then, after the processing is performed, “the route has been created” (which is a fact that does not need to be confirmed) is set in the belief DB 501.

そして、プラン実行システム1は、作成された「ルート上の注意事項を読み上げる」と共に、「到着予想時刻を読み上げる」。特に問題が生じていなければ、プラン実行システム1は、その後案内を開始する。   Then, the plan execution system 1 “reads the predicted arrival time” together with the created “read the notice on the route”. If there is no particular problem, the plan execution system 1 starts guidance thereafter.

次に、上述した処理を、図1に示した構成に従って説明する。まず、外界監視部10は、各種設定とナビゲーション開始のトリガーとなる外部イベントを、イベント対応部20に通知する。この通知される外部イベントは、
command(navigate destination(‘立山駅’,’富山地方鉄道立山線’),arrivalTime(necessary),routePreference(highway),)
とする。
Next, the process described above will be described according to the configuration shown in FIG. First, the external monitoring unit 10 notifies the event handling unit 20 of various events and external events that trigger the start of navigation. This notified external event is
command (navigate destination ('Tateyama Station', 'Toyama Regional Railway Tateyama Line'), arrivalTime (necessary), routePreference (highway),)
And

そして、イベント対応部20は、外部イベントが通知された場合、イベントルールに従って、処理を行うことになる。図4に示したイベントルールの場合、投入された外部イベントとイベント401が一致するため、処理内容403が実行される。   When the external event is notified, the event handling unit 20 performs processing according to the event rule. In the event rule shown in FIG. 4, since the input external event and the event 401 match, the processing content 403 is executed.

この処理内容403のassertAskableFluentは、引数に設定された事実が、利用者に確認可能なものとして登録することを意味する。つまり、assertAskableFluent(PlannningAgent,F)が実行されると、プランニングエージェント30の信念DB501にaskableBelief(F)が登録されることになる。   The assetAskableFluent of the processing content 403 means that the fact set in the argument is registered as something that can be confirmed by the user. That is, when assertAssableFluent (Planning Agent, F) is executed, askableBeef (F) is registered in the belief DB 501 of the planning agent 30.

なお、利用者に確認を行わない事実の登録にはassertFluentを用いる。つまり、assertFluent(PlannningAgent,F)が実行されると、プランニングエージェント30の信念DB501にbelief(F)が登録されることになる。これにより、信念DB501に確認可能な事実と、確認を行わない事実とを区別して登録することができる。   It should be noted that assetFluent is used to register facts that are not confirmed by the user. That is, when assertFluent (Planning Agent, F) is executed, belief (F) is registered in the belief DB 501 of the planning agent 30. Thereby, the fact that can be confirmed in the belief DB 501 and the fact that the confirmation is not performed can be distinguished and registered.

そして、図4の処理内容403に示された処理のうち、登録処理のみ行うことで、信念DB501に、destination(‘立山駅’,’富山地方鉄道立山線’)、arrivalTime(necessary)、routePreference(highway)が登録される。なお、登録された信念DB501は、図6に示した通りとなる。これにより、図1に示すイベント対応部20からプランニングエージェント30への信念更新が行われた。   Then, by performing only the registration processing among the processing shown in the processing content 403 of FIG. 4, the belief DB 501 is stored in destination (“Tateyama Station”, “Toyama District Railway Tateyama Line”), arrivalTime (necessary), routePreference ( highway) is registered. The registered belief DB 501 is as shown in FIG. Thereby, the belief update from the event response unit 20 shown in FIG. 1 to the planning agent 30 is performed.

その後、図4の処理内容403に示された処理のうち、assertGoal(planningAgent、navigate)は、イベント対応部20がプランニングエージェント30にnavigateを通常ゴールとして投入することを意味する。これにより、図1に示すイベント対応部20からプランニングエージェント30に、ナビゲーションの実行を示すゴールの投入が行われたことになる。   Thereafter, among the processes shown in the process content 403 of FIG. 4, assertGoal (planning Agent, navigate) means that the event handling unit 20 inputs “navigate” to the planning agent 30 as a normal goal. Thereby, a goal indicating execution of navigation is input from the event handling unit 20 shown in FIG. 1 to the planning agent 30.

そして、プランニングエージェント30は、当該通常ゴールを実現する通常プランを作成する。なお、プランの作成手法は、どのような作成手法を用いても良い。この作成されたプラン群は、ゴール毎にプラン群スタック503にプッシュされる。   Then, the planning agent 30 creates a normal plan that realizes the normal goal. Note that any plan creation method may be used. The created plan group is pushed onto the plan group stack 503 for each goal.

そして、プランニングエージェント30により作成された通常プランに従い、図10で示した順序でアクションを実行するように設定される。この場合、図10で示した順序に従って、プランニングエージェント30は、通常・割込アクション実行部40に対して実行指示を行うことになる。これにより、図1で示したプランニングエージェント30から通常・割込アクション実行部40への通常アクションの実行指示が行われる。   Then, according to the normal plan created by the planning agent 30, the actions are set to be executed in the order shown in FIG. In this case, the planning agent 30 issues an execution instruction to the normal / interrupt action execution unit 40 in the order shown in FIG. As a result, a normal action execution instruction is issued from the planning agent 30 shown in FIG. 1 to the normal / interrupt action execution unit 40.

図10に示すように、プランニングエージェント30が、通常・割込アクション実行部40に対して、特に問題が発生無ければ、setdestination(‘立山駅’,‘富山地方鉄道立山線’)の実行を指示し(ステップS1001)、setRoutePreference(highway)の実行を指示し(ステップS1002)、searchAndShowRouteの実行を指示し(ステップS1003)、tellRouteInformationの実行を指示し(ステップS1004)、tellArrivalTimeの実行を指示し(ステップS1005)、最後にstartNavigationの実行を指示することで(ステップS1006)、利用者に対するナビゲーションが開始され、全プランが終了する予定である。   As shown in FIG. 10, the planning agent 30 instructs the normal / interrupt action execution unit 40 to execute set destination ('Tateyama Station', 'Toyama Regional Railway Tateyama Line') unless there is a particular problem. (Step S1001), instruct execution of setRoutePreference (highway) (step S1002), instruct execution of searchAndShowRoute (step S1003), instruct execution of tellRouteInformation (step S1004), and instruct execution of tellArritimeTime S1005) Finally, by instructing execution of startNavigation (step S1006), navigation for the user is started and all plans are completed. It is scheduled.

まず、通常・割込アクション実行部40は、プランニングエージェント30から入力されたsetdestination(‘立山駅’,‘富山地方鉄道立山線’)に従い、目的地を立山駅に設定する。   First, the normal / interrupt action execution unit 40 sets the destination to Tateyama station according to set destination ('Tateyama station', 'Toyama district railway Tateyama line') input from the planning agent 30.

次に、通常・割込アクション実行部40は、プランニングエージェント30から入力されたsetRoutePreference(highway)に従い、ルート検索条件を高速優先に設定する。   Next, the normal / interrupt action execution unit 40 sets the route search condition to high-speed priority in accordance with the setRoutePreference (highway) input from the planning agent 30.

さらに、通常・割込アクション実行部40は、プランニングエージェント30から入力されたsearchAndShowRouteに従い、ルートを作成・表示を行う。   Further, the normal / interrupt action execution unit 40 creates and displays a route according to the searchAndShowRoute input from the planning agent 30.

さらに、通常・割込アクション実行部40は、プランニングエージェント30から入力されたtellArrivalTimeに従い、ルート上の注意事項を読み上げているものとする。そして、当該読み上げの最中に、利用者が音声で拒否反応を示したとする。この場合、図10のステップS1004で処理が中断されることになる。   Furthermore, it is assumed that the normal / interrupt action execution unit 40 reads out the precautions on the route in accordance with the tellArrivalTime input from the planning agent 30. Then, it is assumed that the user indicates a rejection reaction by voice during the reading. In this case, the process is interrupted in step S1004 of FIG.

つまり、ルート上の注意事項を読み上げているときに、利用者が拒否反応を示した場合、プラン実行システム1は、利用者がどこに不満を抱いているのか特定するための処理を優先的に行う。このための処理手順について説明する。   That is, when the user shows a rejection response while reading the precautions on the route, the plan execution system 1 preferentially performs a process for identifying where the user is dissatisfied. . A processing procedure for this will be described.

また、利用者の拒否反応とは、信念DB501に格納されている誤った事実に基づいてプランの作成・実行したことで、利用者の意図したとおりに処理が行われていないことに対する拒否反応とする。拒否反応は、上述したように音声認識により判定してもよいし、顔画像の解析により判定してもよいし、拒否ボタンが押されたときに、ユーザが拒否をしたと判定してもよい。   In addition, the user's rejection reaction is a rejection response to the fact that the processing is not performed as intended by the user by creating and executing the plan based on the erroneous fact stored in the belief DB 501. To do. The rejection reaction may be determined by voice recognition as described above, may be determined by analysis of a face image, or may be determined that the user has rejected when the reject button is pressed. .

次に、プラン実行システム1において割り込みが生じた場合の処理手順を、図11を用いて説明する。外界監視部10が、利用者が拒否反応を示したことを表すイベント(reject)を、イベント対応部20に通知する(図11の(1))。この通知に伴い、イベント対応部20は、利用者の意図を確認するための割込ゴールをプランニングエージェント30に投入する(図11の(2))。   Next, a processing procedure when an interrupt occurs in the plan execution system 1 will be described with reference to FIG. The external monitoring unit 10 notifies the event handling unit 20 of an event (reject) indicating that the user has shown a rejection response ((1) in FIG. 11). In response to this notification, the event handling unit 20 inputs an interrupt goal for confirming the user's intention to the planning agent 30 ((2) in FIG. 11).

このような割込ゴールを投入するためには、図12に示すように、イベント対応部20のイベントルールDB301に、利用者の意図を確認するためのイベントを予め格納しておく必要がある。これにより、利用者ユーザが実行中の対話等のプランに対し拒否反応を示されたときに、利用者の意図を確認するための割込ゴールを投入することができる。   In order to insert such an interrupt goal, it is necessary to store in advance an event for confirming the user's intention in the event rule DB 301 of the event handling unit 20, as shown in FIG. Thereby, when a rejection reaction is shown with respect to the plan of the conversation etc. which the user user is executing, the interruption goal for confirming a user's intention can be thrown in.

割込ゴールとは、プランニングエージェント30に投入された場合に、実行中のプランを中断し、実行中のアクションも中断可能であれば中断し、優先的にプランの作成・実行が行われるゴールとする。この割込ゴールはinsertGoal(投入先,[条件],[
割込ゴール名])で定義されている。
An interrupt goal is a goal in which when a plan is entered into the planning agent 30, the plan being executed is interrupted and the action being executed is interrupted if it can be interrupted, and the plan is created / executed preferentially. To do. This interrupt goal is insertedGoal (input destination, [condition], [
Interrupt goal name]).

つまり、図12に示したイベントルールは、イベントrejectが通知された場合に、割込ゴール(insertGoal)であるユーザ意図確認ゴール(checkIntention)が、プランニングエージェント30(planningAgent)に投入されることを意味している。   That is, the event rule shown in FIG. 12 means that when an event reject is notified, a user intention confirmation goal (checkIntent) that is an interrupt goal (insertGoal) is input to the planning agent 30 (planningAgent). is doing.

図11に戻り、プランニングエージェント30は、ユーザ意図確認のための割込ゴールが投入されると、通常・割込プラン作成部508が当該割込ゴールのための割込プランを作成して、プラン群スタック503に作成した割込プランを登録する。   Returning to FIG. 11, when an interruption goal for user intention confirmation is input, the planning agent 30 causes the normal / interrupt plan creation unit 508 to create an interruption plan for the interruption goal. The created interrupt plan is registered in the group stack 503.

この割込プランは、アクション履歴記憶DB505に記憶されている通常アクション毎に、アクション情報記憶部504及び信念DB501を参照して、通常アクションに対応付けられている確認可能な事実を抽出し、抽出した確認可能な事実が適切か否かの確認を利用者に対して要求する割込アクション(確認要求アクション)で構成される。   This interruption plan extracts, for each normal action stored in the action history storage DB 505, the fact that can be confirmed that is associated with the normal action by referring to the action information storage unit 504 and the belief DB 501 It consists of an interrupt action (confirmation request action) for requesting the user to confirm whether or not the fact that can be confirmed is appropriate.

割込ゴールより作成された割込プランは、図13の符号1301に示すように、最も高い優先度でプラン群スタック503に格納される。これにより、プランニングエージェント30のアクション管理部510が、割込ゴールの割込プラン群を優先的に実行するよう制御を行うことになる。   The interrupt plan created from the interrupt goal is stored in the plan group stack 503 with the highest priority, as indicated by reference numeral 1301 in FIG. As a result, the action management unit 510 of the planning agent 30 performs control so that the interrupt goal interrupt plan group is preferentially executed.

図11に戻り、プランニングエージェント30のアクション管理部510は、通常プランの実行を中止すると共に、通常・割込アクション実行部40に対して通常アクションの中断を指示する(図11の(3))。その後、通常・割込アクション実行部40から、通常アクションの中断の報告を受け付ける(図11の(4))。これにより、実行中の通常プラン及び通常アクションが中断されたことになる。   Returning to FIG. 11, the action management unit 510 of the planning agent 30 stops the execution of the normal plan and instructs the normal / interrupt action execution unit 40 to interrupt the normal action ((3) in FIG. 11). . Thereafter, a normal action interruption report is received from the normal / interrupt action execution unit 40 ((4) in FIG. 11). As a result, the normal plan and normal action being executed are interrupted.

そして、プランニングエージェント30のアクション管理部510は、ユーザ意図確認のための割込ゴールに対する割込プランの実行を開始する。そこでプランニングエージェント30は、図11の(5)に示すように、ユーザへの意図確認(質問のための出力と質問に対するユーザからの入力待ち)、ユーザによる意図訂正(ユーザに訂正を促す出力と、ユーザからの訂正待ち)を順に行う。なお、この意図確認及び意図訂正の処理は、割込プランに応じて複数回行われるものとする。   Then, the action management unit 510 of the planning agent 30 starts executing the interrupt plan for the interrupt goal for user intention confirmation. Therefore, as shown in (5) of FIG. 11, the planning agent 30 confirms the intention to the user (output for question and waiting for input from the user), correction of intention by the user (output for prompting the user to correct) , Waiting for correction from the user). This intention confirmation and intention correction processing is performed a plurality of times according to the interrupt plan.

そして、プランニングエージェント30は、割込ゴールから作成された割込プランの実行が終了した後、中断していた通常プランの実行を再開する。なお、図1のアクション実行が中断されている間に、ユーザ意図確認のための割込ゴールから作成された割込プランが実行された場合に、信念DB501が更新されると、通常・割込プラン作成部508は、実行中プランのみならず、プラン群スタック503に格納されている全ての通常プラン群(中断中プラン群も含む)を更新する。   Then, after the execution of the interrupt plan created from the interrupt goal is completed, the planning agent 30 resumes execution of the suspended normal plan. When the belief DB 501 is updated when an interrupt plan created from an interrupt goal for user intention confirmation is executed while the action execution in FIG. 1 is interrupted, the normal / interrupt The plan creation unit 508 updates not only the executing plan but also all the normal plan groups (including the suspended plan group) stored in the plan group stack 503.

また、利用者の意図確認の結果を、直接またはイベント対応部20を介して、外界監視部10に通知することで、音声入力等の精度向上に役立てることも考えられる。   It is also conceivable that the result of the user's intention confirmation is notified to the external monitoring unit 10 directly or via the event handling unit 20 to improve the accuracy of voice input or the like.

次に、上述した処理を行うプラン実行システム1の各構成が行う処理について説明する。まずは、イベント対応部20が行う処理について説明する。図14に示すように、イベント対応部20の外部イベント取得部302が外部イベントを取得した場合(ステップS1401:Yes)、または内部イベント取得部304が内部イベントを取得した場合には(ステップS1402:Yes)、条件判定部305は、イベントルールDB301を参照し、取得した外部イベントまたは内部イベントに対応付けられている実行条件を特定する(ステップS1403)。さらに、信念DB501に格納されている事実(確認可能な事実、確認不要な事実含む)が実行条件を満たすか否かを判定する。信念DB501の事実が実行条件を満たす場合には(ステップS1404:Yes)、処理内容抽出部306は、イベントルールDB301において外部イベントまたは内部イベントに対応付けられている処理内容を抽出する(ステップS1405)。   Next, processing performed by each component of the plan execution system 1 that performs the above-described processing will be described. First, the process performed by the event handling unit 20 will be described. As shown in FIG. 14, when the external event acquisition unit 302 of the event handling unit 20 acquires an external event (step S1401: Yes), or when the internal event acquisition unit 304 acquires an internal event (step S1402: Yes), the condition determination unit 305 refers to the event rule DB 301 and identifies an execution condition associated with the acquired external event or internal event (step S1403). Further, it is determined whether or not the facts stored in the belief DB 501 (including facts that can be confirmed and facts that need not be confirmed) satisfy the execution condition. When the fact in the belief DB 501 satisfies the execution condition (step S1404: Yes), the processing content extraction unit 306 extracts the processing content associated with the external event or the internal event in the event rule DB 301 (step S1405). .

次に、処理内容に応じて、通知部307は処理内容を実行する(ステップS1406)。具体的には、外界監視部10へのイベント指示であった場合には、通知部307は、イベント指示を外界監視部10に通知する。また、処理内容がプランニングエージェント30へのゴール指示または信念更新であった場合には、通知部307は、ゴール指示または信念更新をプランニングエージェント30に通知する。なお、同一の外部イベントや内部イベントに複数の処理内容が対応付けられていてもよい。この場合には、処理内容抽出部306は、最も優先順位の高い処理内容を選択することとする。   Next, according to the processing content, the notification unit 307 executes the processing content (step S1406). Specifically, in the case of an event instruction to the outside world monitoring unit 10, the notification unit 307 notifies the outside world monitoring unit 10 of the event instruction. When the processing content is a goal instruction or belief update to the planning agent 30, the notification unit 307 notifies the planning agent 30 of the goal instruction or belief update. A plurality of processing contents may be associated with the same external event or internal event. In this case, the processing content extraction unit 306 selects the processing content with the highest priority.

図15に示すように、プランニングエージェント30は、通知部307から通常ゴールを取得すると(ステップS1501)、ゴールキュー507にゴールが格納されているか否かを確認する。ゴールキュー507にゴールが格納されていない場合には(ステップS1502:No)、通常ゴールに対するプラン実行処理が行われる(ステップS1503)。一方、ゴールキュー507にゴールが格納されている場合には(ステップS1502:Yes)、取得した通常ゴールをプラン群スタック503の最後尾に格納し(ステップS1504)、処理が完了する。   As illustrated in FIG. 15, when the planning agent 30 acquires a normal goal from the notification unit 307 (step S1501), the planning agent 30 checks whether the goal is stored in the goal queue 507. If no goal is stored in the goal queue 507 (step S1502: No), a plan execution process for the normal goal is performed (step S1503). On the other hand, when the goal is stored in the goal queue 507 (step S1502: Yes), the acquired normal goal is stored at the end of the plan group stack 503 (step S1504), and the processing is completed.

次に、プラン群スタック503にゴールが存在する場合には(ステップS1505:Yes)、プラン群スタック503の先頭ゴールに対するプラン実行処理が行われる(ステップS1506)。そして、ステップS1505においてプラン群スタック503にゴールが存在しなくなると(ステップS1505:No)、処理が完了する。   Next, when a goal exists in the plan group stack 503 (step S1505: Yes), plan execution processing is performed on the first goal of the plan group stack 503 (step S1506). When no goal exists in the plan group stack 503 in step S1505 (step S1505: No), the process is completed.

図15のステップS1503、S1506で行われるプラン実行処理においては、図16に示すように、通常・割込プラン作成部508は、処理対象となるゴールに対応するプランを作成する(ステップS1601)。次に、作成または更新したプランが存在し(ステップS1602:Yes)、プランの実行が終了していない場合には(ステップS1603:Yes)、アクション管理部510が、プラン群スタック503から実行するプランを選択する(ステップS1604)。これにより、実行するアクションが特定される。   In the plan execution process performed in steps S1503 and S1506 of FIG. 15, as shown in FIG. 16, the normal / interrupt plan creation unit 508 creates a plan corresponding to the goal to be processed (step S1601). Next, when there is a plan that has been created or updated (step S1602: Yes) and the execution of the plan has not ended (step S1603: Yes), the action management unit 510 executes the plan to be executed from the plan group stack 503. Is selected (step S1604). Thereby, the action to be performed is specified.

そして、内部イベント通知部511は、実行すべきアクションの開始を示す開始イベントをイベント対応部20に通知する(ステップS1605)。   Then, the internal event notification unit 511 notifies the event handling unit 20 of a start event indicating the start of the action to be executed (step S1605).

次に、アクション管理部510が、アクション情報DB504及び信念DB501を参照して、信念DB501に格納されている事実が、アクション情報DB504に格納されているアクションの事前条件を満足した場合、通常・割込アクション実行部40に対しアクションの実行指示を通知する(ステップS1606)。次に、実行したアクションの終了を示す実行状態をイベント対応部20に通知する(ステップS1607)。次に、更新部509は、アクションの実行結果(成功・失敗・中断)にしたがい信念DB501およびプラン群スタック503を更新する(ステップS1608、S1609)。そして、アクション管理部510が、実行したアクションを実行履歴として、アクション履歴DB505に登録する(ステップS1610)。また、割込ゴールが通知された場合、割込ゴールの処理中は待機する(ステップS1611)。割込ゴールの処理が終了した場合、又は割込ゴールの通知が無かった場合は、ステップS1602に戻る。   Next, when the action management unit 510 refers to the action information DB 504 and the belief DB 501 and the fact stored in the belief DB 501 satisfies the action preconditions stored in the action information DB 504, The action execution instruction is notified to the embedded action execution unit 40 (step S1606). Next, the execution state indicating the end of the executed action is notified to the event handling unit 20 (step S1607). Next, the update unit 509 updates the belief DB 501 and the plan group stack 503 according to the action execution result (success / failure / interruption) (steps S1608 and S1609). Then, the action management unit 510 registers the executed action in the action history DB 505 as an execution history (step S1610). If the interrupt goal is notified, the process waits during the interrupt goal processing (step S1611). If the interrupt goal processing is completed, or if no interrupt goal notification is received, the process returns to step S1602.

なお、ステップS1606におけるアクションの実行結果が中断になるのは、別スレッドの、外部から信念を更新された場合や、割込ゴールが投入され、実行中のアクションが中断された場合である。この場合には、ステップS1606から速やかにステップS1607に処理が移行する。   Note that the execution result of the action in step S1606 is interrupted when the belief is updated from the outside of another thread, or when an interrupt goal is input and the action being executed is interrupted. In this case, the process immediately proceeds from step S1606 to step S1607.

ステップS1603においてプラン実行が終了すると(ステップS1613:Yes)、プラン実行成功時の処理を行う(ステップS1613)。また、ステップS1602において作成または更新したプランが存在しない場合には(ステップS1602:No)、プラン実行失敗時の処理を行う(ステップS1612)。   When the plan execution is completed in step S1603 (step S1613: Yes), a process when the plan execution is successful is performed (step S1613). If the plan created or updated in step S1602 does not exist (step S1602: No), the process at the time of plan execution failure is performed (step S1612).

そして、アクション管理部510は、ゴールに対応するプランのアクションの実行履歴を、アクション履歴DB505から削除して(ステップS1614)、処理を終了する。   Then, the action management unit 510 deletes the action execution history of the plan corresponding to the goal from the action history DB 505 (step S1614), and ends the process.

図17に示すようにプランニングエージェント30は、割込ゴールを取得すると(ステップS1701)、このとき他のゴールに対応するプラン実行処理が行われているか否かを判断する(ステップS1702)。他のゴールに対応するプラン実行処理が行われていないと判断した場合(ステップS1702:No)、割込ゴールに対応するプラン実行処理を行う(ステップS1707)。   As shown in FIG. 17, when the planning agent 30 acquires an interrupt goal (step S1701), it determines whether or not a plan execution process corresponding to another goal is being performed (step S1702). When it is determined that the plan execution process corresponding to another goal has not been performed (step S1702: No), the plan execution process corresponding to the interrupt goal is performed (step S1707).

一方、プランニングエージェント30は、他のゴールに対応するプラン実行処理が行われていると判断した場合(ステップS1702:Yes)、現在実行中のアクション、すなわち他のゴールを達成するためのアクションを中断する(ステップS1703)。なお、ステップS1703においてアクションが中断されると、このアクションの実行結果(中断)にしたがい、アクション実行終了を示す実行状態がイベント対応部20に通知される(図16のステップS1607)。次に、実行中のプランを中断するために、図16で示される別スレッドの実行中プランの処理がステップS1611まで到達するのを待つ(ステップS1704)。   On the other hand, when the planning agent 30 determines that the plan execution process corresponding to another goal is being performed (step S1702: Yes), the currently executing action, that is, the action for achieving the other goal is interrupted. (Step S1703). When the action is interrupted in step S1703, the execution state indicating the end of the action execution is notified to the event handling unit 20 according to the execution result (interruption) of this action (step S1607 in FIG. 16). Next, in order to interrupt the plan being executed, the process waits until the processing of the executing plan of another thread shown in FIG. 16 reaches step S1611 (step S1704).

次に、プランニングエージェント30は、割込ゴールに対応する割込プランを実行処理する(ステップS1705)。割込ゴールに対するプラン実行処理が終了すると、ステップS1704において中断したプランの実行を再開する(ステップS1706)。このとき、図16で示される別スレッドにおいて、プランの実行が再開され、ステップS1611からステップS1602に処理が進む。   Next, the planning agent 30 executes an interrupt plan corresponding to the interrupt goal (step S1705). When the plan execution process for the interrupt goal is completed, the execution of the plan interrupted in step S1704 is resumed (step S1706). At this time, the execution of the plan is resumed in another thread shown in FIG. 16, and the process proceeds from step S1611 to step S1602.

図18に示すように、外部からの指示により信念DB501が更新されると(ステップS1801)、通常・割込プラン作成部508が、プラン群スタック503に実行中または中断中のプランが存在するか否かを判断する(ステップS1802)。実行中または中断中のプランが存在しないと判断した場合(ステップS1802:No)、このまま終了する。   As shown in FIG. 18, when the belief DB 501 is updated by an instruction from the outside (step S1801), the normal / interrupt plan creation unit 508 has a plan being executed or suspended in the plan group stack 503. It is determined whether or not (step S1802). If it is determined that there is no plan being executed or being interrupted (step S1802: No), the processing ends as it is.

一方、通常・割込プラン作成部508が、実行中または中断中のプランが存在すると判断した場合(ステップS1802:Yes)、信念DB501の更新によりこれらのプランに影響が及ぶ可能性がある。そこで、この場合には、通常・割込プラン作成部508が、信念更新時の実行中および中断中プラン群を、更新後の信念に基づいて修正する(ステップS1803)。   On the other hand, when the normal / interrupt plan creation unit 508 determines that there is a plan that is being executed or is interrupted (step S1802: Yes), the update of the belief DB 501 may affect these plans. Therefore, in this case, the normal / interrupt plan creation unit 508 corrects the currently executing and suspended plan groups at the time of the belief update based on the updated belief (step S1803).

さらに、アクション管理部510が、修正後の実行中プランにおいて、実行中のアクションの実行継続をすることが無意味であると判断した場合、すなわち、実行中のアクションが信念更新後に修正された実行中プランと関連がないような場合には(ステップS1804:Yes)、アクション管理部510が、実行していたアクションの実行を中断し(ステップS1805)、処理を終了する。なお、ステップS1805においてアクションの実行を中断した直後に、別スレッドのプラン実行処理におけるアクションの実行は中断され、アクションの実行結果は中断となる。また、実行中のアクションを継続することが無意味とならない場合には(ステップS1804:No)、このまま終了する。   Further, when the action management unit 510 determines that it is meaningless to continue execution of the action being executed in the corrected execution plan, that is, the execution of the action being corrected after the belief update When there is no relation with the middle plan (step S1804: Yes), the action management unit 510 interrupts the execution of the executed action (step S1805) and ends the processing. Note that immediately after the execution of the action is interrupted in step S1805, the execution of the action in the plan execution process of another thread is interrupted, and the execution result of the action is interrupted. Further, if it does not make sense to continue the action being executed (step S1804: No), the process ends as it is.

次に、図17のステップS1705又はステップS1707において、ユーザの意図を確認するための割込ゴールに対する割込プランを実行する場合に、通常・割込プラン作成部508が割込プランを作成する処理手順について、図19を用いて説明する。   Next, in step S1705 or step S1707 in FIG. 17, when executing an interrupt plan for an interrupt goal for confirming the user's intention, the normal / interrupt plan creation unit 508 creates an interrupt plan The procedure will be described with reference to FIG.

まず、通常・割込プラン作成部508は、ゴールキュー507に格納されたゴールcheckIntentionに従って、割込プランの作成を開始する。   First, the normal / interrupt plan creation unit 508 starts creating an interrupt plan in accordance with the goal checkIntention stored in the goal queue 507.

そして、通常・割込プラン作成部508は、アクション管理部510が管理している中断したアクションと、アクション履歴DBに記載されている各アクションの事前条件である事実を抽出する(ステップS1901)。この事前条件である事実の抽出には、アクション情報DB504が保持している事前条件と、信念DB501に格納されている事実を参照することで特定できる。   Then, the normal / interrupt plan creation unit 508 extracts the interrupted action managed by the action management unit 510 and the fact that is a precondition for each action described in the action history DB (step S1901). The fact that is the precondition can be extracted by referring to the precondition held in the action information DB 504 and the fact stored in the belief DB 501.

そして、通常・割込プラン作成部508は、抽出した事実のうち、ユーザに確認可能な事実のみ抽出する(ステップS1902)。   Then, the normal / interrupt plan creation unit 508 extracts only the facts that can be confirmed by the user from the extracted facts (step S1902).

次に、通常・割込プラン作成部508は、抽出した事実毎に、ユーザに対して確認、確認結果に応じて訂正を行うプラン群を作成する(ステップS1903)。   Next, the normal / interrupt plan creation unit 508 creates, for each extracted fact, a plan group that is confirmed with respect to the user and corrected according to the confirmation result (step S1903).

そして、通常・割込プラン作成部508は、抽出した事実を事前条件として利用したアクションの実行順序に従って、プランを構成する各アクションの優先順位を設定する(ステップS1904)。本実施の形態では、使用したアクションが新しいものから順に事実を確認するように、プランを構成する各アクションの優先順位を設定する。   Then, the normal / interrupt plan creation unit 508 sets the priority order of each action constituting the plan in accordance with the action execution order using the extracted fact as a precondition (step S1904). In the present embodiment, the priority order of each action constituting the plan is set so that the facts used are confirmed in order from the newest.

次に、図10で示した処理手順のステップS1004で割込ゴールが通知された場合について説明する。   Next, the case where an interrupt goal is notified in step S1004 of the processing procedure shown in FIG. 10 will be described.

まずは、ステップS1901に示したように、通常・割込プラン作成部508は、中断した通常アクションtellRouteInformationの事前条件を、アクション情報DB504から確認する。そして、アクション情報DB504に、図20に示す通常アクションの情報が格納されている場合、当該アクションは事前条件としてrouteFoundであると判断する。そして、通常・割込プラン作成部508は、routeFoundを、信念DB501で確認する。図6に示すようにbelief(routeFound)が格納されている。このため、確認不要と判断され、ステップS1902で抽出対象から除外される。   First, as shown in step S1901, the normal / interrupt plan creation unit 508 checks the preconditions of the interrupted normal action tellRouteInformation from the action information DB 504. When the action information DB 504 stores information on the normal action shown in FIG. 20, the action is determined to be routeFound as a precondition. Then, the normal / interrupt plan creation unit 508 checks the routeFound in the belief DB 501. As shown in FIG. 6, belief (routeFound) is stored. For this reason, it is determined that confirmation is unnecessary, and is excluded from extraction targets in step S1902.

次に、通常・割込プラン作成部508は、アクション履歴DBから実行した通常アクションを取得する。図8に示したアクション履歴DBからは、通常アクションsearchAndShowRouteと、通常アクションsetRoutePreference(highway)と、通常アクションsetDestination(‘立山駅’,‘富山地方鉄道立山線’)とが取得できる。   Next, the normal / interrupt plan creation unit 508 acquires the normal action executed from the action history DB. From the action history DB shown in FIG. 8, a normal action searchAndShowRoute, a normal action setRoutePreference (highway), and a normal action setDestination ('Tateyama Station', 'Toyama Regional Railway Tateyama Line') can be acquired.

そこで、通常・割込プラン作成部508は、通常アクションtellRouteInformationの直前に実行した通常アクションsearchAndShowRouteの事前条件を、アクション履歴DB505から確認する。図21に示す通常アクションの情報が格納されている場合、当該アクションは事前条件としてdestinationSetと、routePreferenceSetであると判断する。そして、通常・割込プラン作成部508は、destinationSetと、routePreferenceSetとを、信念DB501で確認する。この場合、信念DB501には、belief(destinationSet)と、belief(routePreferenceSet)が格納されている。このため、確認不要と判断され、ステップS1902で抽出対象から除外される。   Therefore, the normal / interrupt plan creation unit 508 confirms from the action history DB 505 the preconditions of the normal action searchAndShowRoute executed immediately before the normal action tellRouteInformation. When the normal action information shown in FIG. 21 is stored, it is determined that the action is a destinationSet and a routePreferenceSet as preconditions. Then, the normal / interrupt plan creation unit 508 confirms the destinationSet and the routePreferenceSet with the belief DB 501. In this case, belief (destinationSet) and belief (routePreferenceSet) are stored in belief DB 501. For this reason, it is determined that confirmation is unnecessary, and is excluded from extraction targets in step S1902.

次に、通常・割込プラン作成部508は、通常アクションsearchAndShowRouteの直前に実行した通常アクションsetRoutePreference(highway)の事前条件を、アクション履歴DB505から確認する。図22に示す通常アクションの情報が格納されている場合、当該通常アクションは事前条件としてroutePreference(Preference)であると判断する。そして、通常・割込プラン作成部508は、routePreference(Preference)を、信念DB501で確認する。この場合、信念DB501には、図6に示すようにaskableBelief(routePreference(highway))が格納されている。このため、確認必要と判断され、ステップS1902で抽出される。これにより、当該事実を利用者が確認し、誤りならば訂正が促されることになる。   Next, the normal / interrupt plan creation unit 508 confirms from the action history DB 505 the precondition of the normal action setRoutePreference (highway) executed immediately before the normal action searchAndShowRoute. When the information on the normal action shown in FIG. 22 is stored, it is determined that the normal action is routePreference (Preference) as a precondition. Then, the normal / interrupt plan creation unit 508 confirms routePreference (Preference) in the belief DB 501. In this case, the belief DB 501 stores askableBelief (routePreference (highway)) as shown in FIG. For this reason, it is determined that confirmation is necessary, and extraction is performed in step S1902. As a result, the user confirms the fact, and if there is an error, correction is prompted.

そして、通常・割込プラン作成部508は、通常アクションsetRoutePreference(highway)の直前に実行した通常アクションsetDestination(‘立山駅’,‘富山地方鉄道立山線’)の事前条件を、アクション履歴DB505から確認する。図23に示す通常アクションの情報が格納されている場合、当該アクションは事前条件としてdestination(POI,Description)であると判断する。そして、通常・割込プラン作成部508は、destination(POI,Description)を、信念DB501で確認する。この場合、信念DB501には、図6に示すようにaskableBelief(destination(‘立山駅’,‘富山地方鉄道立山線’))が格納されている。このため、確認必要と判断され、ステップS1902で抽出される。これにより、当該事実を利用者が確認し、誤りならば訂正が促されることになる。   Then, the normal / interrupt plan creation unit 508 confirms the preconditions of the normal action setDestination ('Tateyama Station', 'Toyama District Railway Tateyama Line') executed immediately before the normal action setRoutePreference (highway) from the action history DB 505 To do. When the normal action information shown in FIG. 23 is stored, it is determined that the action is destination (POI, Description) as a precondition. Then, the normal / interrupt plan creation unit 508 confirms the destination (POI, Description) in the belief DB 501. In this case, the belief DB 501 stores an acceptableBelief (destination ('Tateyama Station', 'Toyama District Railway Tateyama Line')) as shown in FIG. For this reason, it is determined that confirmation is necessary, and extraction is performed in step S1902. As a result, the user confirms the fact, and if there is an error, correction is prompted.

次に、通常・割込プラン作成部508は、ステップS1903において、routePreference(highway)、destination(‘立山駅’,‘富山地方鉄道立山線’)の事実毎に、利用者に対して確認、確認結果に応じて訂正を行う割込プラン群を作成する。なお、これら割込プランは予め図示しないプラン・ライブラリーに用意されているものとする。   Next, the normal / interrupt plan creation unit 508 confirms and confirms with the user for each fact of routePreference (highway) and destination ('Tateyama Station', 'Toyama Regional Railway Tateyama Line') in step S1903. Create an interrupt plan group to correct according to the result. These interrupt plans are prepared in advance in a plan library (not shown).

そして、通常・割込プラン作成部508は、ステップS1904において、実行順序として、routePreference(highway)の確認、確認結果に応じて訂正を行う割込プランを実行した後、destination(‘立山駅’,‘富山地方鉄道立山線’)の確認、確認結果に応じて訂正を行う割込プランを実行するように実行順序を設定する。つまり、最近実行された通常アクションで利用された事実から順に割込プランが実行されるように、通常・割込プラン作成部508が、各割込プランに対して優先度を設定する(つまり、routePreference(highway)に関する割込プランより、destination(‘立山駅’,‘富山地方鉄道立山線’)に関す割込るプランの方が優先度が低く設定される)。そして、これら作成された割込プラン群は、まとめてプラン群スタック503に格納される。   In step S1904, the normal / interrupt plan creation unit 508 executes the interrupt plan for confirming the routePreference (highway) as the execution order and correcting the result according to the confirmation result. Then, the destination ('Tateyama Station', Set the execution order to execute the interrupt plan that corrects according to the confirmation and confirmation result of 'Toyama District Railway Tateyama Line'). That is, the normal / interrupt plan creation unit 508 sets the priority for each interrupt plan so that the interrupt plans are executed in order from the facts used in the normal action executed recently (that is, (The priority for the interrupt plan for destination ('Tateyama Station', 'Toyama District Railway Tateyama Line') is set lower than the interrupt plan for routePreference (highway)). These created interrupt plan groups are collectively stored in the plan group stack 503.

そして、アクション管理部510が、作成された割込プランを実行する。まず、アクション管理部510は、格納された割込プラン群から、routePreference(highway)の確認と、確認結果に応じて訂正するための割込プランを実行する。   Then, the action management unit 510 executes the created interrupt plan. First, the action management unit 510 executes a routePreference (highway) confirmation from the stored interruption plan group and executes an interruption plan for correction according to the confirmation result.

図24に示すように、アクション管理部510は、割込アクションの一種である確認要求アクションspeak(‘高速優先でよろしかったですか?’)の実行を、通常・割込アクション実行部40に指示する(ステップS2401)。   As shown in FIG. 24, the action management unit 510 instructs the normal / interrupt action execution unit 40 to execute a confirmation request action spike (“Is it OK with high-speed priority?”), Which is a kind of interrupt action. (Step S2401).

これにより、通常・割込アクション実行部40は、「高速優先でよろしかったですか?」と音声出力する。その後、アクション管理部510は、割込アクションwaitForEvent(no)の実行を、通常・割込アクション実行部40に指示する(ステップS2402)。これにより、通常・割込アクション実行部40は、利用者からの音声入力「いいえ」を待つセンシング・アクションが実行される。   As a result, the normal / interrupt action execution unit 40 outputs a voice message “Are you sure you want to prioritize high speed?” Thereafter, the action management unit 510 instructs the normal / interrupt action execution unit 40 to execute the interrupt action waitForEvent (no) (step S2402). Thus, the normal / interrupt action execution unit 40 executes a sensing action that waits for a voice input “No” from the user.

この場合、図25に示すように通常・割込アクション実行部40は、音声入力を受け付ける外界監視部10に、「はい」または「いいえ」の音声入力イベントを監視するように依頼する。そして、利用者が「はい」と発話した場合にはYesイベントが、「いいえ」と発話した場合にはNoイベントが通常・割込アクション実行部40に通知される。   In this case, as shown in FIG. 25, the normal / interrupt action execution unit 40 requests the external monitoring unit 10 that receives the voice input to monitor the voice input event “Yes” or “No”. When the user utters “Yes”, the Yes event is notified to the normal / interrupt action execution unit 40 when the user utters “No”.

図24に戻り、通常・割込アクション実行部40は、Noイベントが通知された場合、waitForEvent(no)の実行を成功と判断する。一方、Yesイベントが通知された場合、waitForEvent(no)の実行は失敗と判断する。   Returning to FIG. 24, when the No event is notified, the normal / interrupt action execution unit 40 determines that the execution of waitForEvent (no) is successful. On the other hand, when the Yes event is notified, it is determined that execution of waitForEvent (no) has failed.

通常・割込アクション実行部40が成功と判断した場合、つまり、高速優先でなかった場合、以下のアクションを実行する(ステップS2403)。
changeGoal(getPreference(route,except([highway])))
If the normal / interrupt action execution unit 40 determines that it is successful, that is, if it is not fast priority, the following action is executed (step S2403).
changeGoal (getPreference (route, exception ([highway])))

このchangeGoal(G)は、ゴールをGに変更するアクションを意味する。つまり、当該changeGoal(G)が実行されると、現在のゴールのために作成されたプラン群を、プラン群スタック503からポップして廃棄すると共に、廃棄した各プランの実行履歴もアクション履歴DB505から廃棄される。そのかわりゴールをGに変更して、Gを達成するために作成されたプラン群を1つにまとめて、プラン群スタック503にプッシュする。   This change Goal (G) means an action for changing the goal to G. That is, when the change goal (G) is executed, the plan group created for the current goal is popped from the plan group stack 503 and discarded, and the execution history of each discarded plan is also stored in the action history DB 505. Discarded. Instead, the goal is changed to G, and the group of plans created to achieve G are combined and pushed onto the plan group stack 503.

従って、changeGoal(getPreference(route,except([highway])))を実行すると、ゴールを、getPreference(route,except([highway]))に変更し、これに伴いプラン群も変更される。   Therefore, when changeGoal (getPreference (route, exception ([highway]))) is executed, the goal is changed to getPreference (route, exception ([highway])), and the plan group is also changed accordingly.

利用者はルート検索条件として「高速優先」を意図していた際に、図24で示した処理が実行された場合について説明する。この場合、プラン実行システム1から発生された「高速優先でよろしかったですか?」との質問に対し、利用者が「はい」と返答したとする。この場合、ステップS2402のwaitForEvent(no)が失敗したものとしてステップS2403の処理は行われない。   A case where the process shown in FIG. 24 is executed when the user intends “fast priority” as the route search condition will be described. In this case, it is assumed that the user responds “Yes” to the question “Are you sure you want high-speed priority?” Generated from the plan execution system 1. In this case, the process of step S2403 is not performed assuming that waitForEvent (no) of step S2402 has failed.

次に、アクション管理部510は、格納されたプラン群から、destination(‘立山駅’,‘富山地方鉄道立山線’)の確認と、確認結果に応じて訂正するためのプランを実行する。   Next, the action management unit 510 executes confirmation of the destination ('Tateyama Station', 'Toyama District Railway Tateyama Line') from the stored plan group and a plan for correction according to the confirmation result.

図26に示すように、アクション管理部510は、割込アクションの一種である確認要求アクションspeak(‘目的地は富山地方鉄道立山線の立山駅でよろしかったでしょうか?’)の実行を、通常・割込アクション実行部40に指示する(ステップS2601)。   As shown in FIG. 26, the action management unit 510 normally executes execution of a confirmation request action spike ('is your destination OK at Tateyama Station on the Toyama Regional Railway Tateyama Line?), Which is a kind of interrupt action. Instructs the interrupt action execution unit 40 (step S2601).

これにより、通常・割込アクション実行部40は、「目的地は富山地方鉄道立山線の立山駅でよろしかったでしょうか?」と音声出力する。その後、アクション管理部510は、割込アクションwaitForEvent(no)の実行を、通常・割込アクション実行部40に指示する(ステップS2602)。これにより、通常・割込アクション実行部40は、利用者からの音声入力「いいえ」を待つセンシング・アクションが実行される。また、この場合の処理は、上述した説明と同様なので説明を省略する。   As a result, the normal / interrupt action execution unit 40 outputs a voice message “Are you sure you want to arrive at Tateyama Station on the Toyama District Railway Tateyama Line?”. Thereafter, the action management unit 510 instructs the normal / interrupt action execution unit 40 to execute the interrupt action waitForEvent (no) (step S2602). Thus, the normal / interrupt action execution unit 40 executes a sensing action that waits for a voice input “No” from the user. In addition, the processing in this case is the same as that described above, and thus description thereof is omitted.

そして、通常・割込アクション実行部40は、Noイベントが通知された場合、waitForEvent(no)の実行を成功と判断する。一方、Yesイベントが通知された場合、waitForEvent(no)の実行は失敗と判断する。   If the No event is notified, the normal / interrupt action execution unit 40 determines that the execution of waitForEvent (no) is successful. On the other hand, when the Yes event is notified, it is determined that execution of waitForEvent (no) has failed.

通常・割込アクション実行部40が成功と判断した場合、つまり、富山地方鉄道立山線の立山駅でなかった場合、以下の割込アクションを実行する(ステップS2603)。
changeGoal(getDestination(except([destination(‘立山駅’,‘富山地方鉄道立山線’)]))
When the normal / interrupt action execution unit 40 determines that it is successful, that is, when it is not Tateyama station on the Toyama district railway Tateyama line, the following interrupt action is executed (step S2603).
changeGoal (getDestination (except ([destination ('Tateyama Station', 'Toyama Regional Railway Tateyama Line')])))

利用者は目的地として「JR東日本内房線館山駅」を意図していた際に、図26で示した処理が実行された場合について説明する。この場合、プラン実行システム1から発生された「目的地は富山地方鉄道立山線の立山駅でよろしかったでしょうか?」との質問に対し、利用者が「いいえ」と返答したとする。この場合、ステップS2602のwaitForEvent(no)が成功したものとしてステップS2603の処理は行われる。   The case where the process shown in FIG. 26 is executed when the user intends “JR East Uchibo Line Tateyama Station” as the destination will be described. In this case, it is assumed that the user responds “No” to the question “Are you sure you want to go to Tateyama Station on the Toyama District Railway Tateyama Line?” Generated by the plan execution system 1. In this case, the process of step S2603 is performed assuming that waitForEvent (no) of step S2602 is successful.

次に、割込アクションchangeGoal(getDestination(except([destination(‘立山駅’,‘富山地方鉄道立山線’)]))を実行することで、今までのプラン群を代替プラン群スタックからポップして廃棄し、廃棄した各プランのアクション実行履歴をアクション履歴DB505から廃棄する。   Next, by executing the interrupt action changeGoal (getDestination (exception ([destination ('Tateyama Station', 'Toyama Regional Railway Tateyama Line')])), the existing plan group is popped from the alternative plan group stack. The action execution history of each discarded plan is discarded from the action history DB 505.

そして、通常・割込プラン作成部508が、目的地を利用者に問うゴール(getDestination(except([destination(‘立山駅’,‘富山地方鉄道立山線’)])))を達成するための割込プラン群を作成し、プラン群スタック503にプッシュする。   Then, the normal / interrupt plan creation unit 508 achieves the goal of asking the user about the destination (getDestination (except ([destination ('Tateyama Station', 'Toyama Regional Railway Tateyama Line')])))) An interrupt plan group is created and pushed onto the plan group stack 503.

これにより、アクション管理部510は、図27に示された割込プランを実行する。図27に示すように、まず、アクション管理部510は、通常・割込アクション実行部40に対して、「目的地を再入力してください。」と音声発話するアクションの実行を指示する(ステップS2701)。   Thereby, the action management unit 510 executes the interrupt plan shown in FIG. As shown in FIG. 27, first, the action management unit 510 instructs the normal / interrupt action execution unit 40 to execute an action that speaks “Please re-enter the destination.” S2701).

その後、アクション管理部510は、通常・割込アクション実行部40に対して、割込アクションwaitForEvent(destination(POI,Description),[except(destination(‘立山駅’,‘富山地方鉄道立山線’))])の実行を指示する(ステップS2702)。   Thereafter, the action management unit 510 sends the interrupt action waitForEvent (destination (POI, Description), [exception ('Tateyama Station', 'Toyama Local Railway Tateyama Line')) to the normal / interrupt action execution unit 40. )]) Is instructed (step S2702).

この際、アクション管理部510は、外界監視部10に、目的地POIとその説明Descriptionの入力イベント(destination(POI,Description))を監視するように依頼する。ただし、富山地方鉄道立山線の立山駅ではないことを示す条件(except(destination(‘立山駅’,‘富山地方鉄道立山線’)))とすることにより、同じ誤認識が発生することを防止する。この場合の処理については後述する。   At this time, the action management unit 510 requests the outside world monitoring unit 10 to monitor the input event (destination (POI, Description)) of the destination POI and its description Description. However, the same misrecognition can be prevented by using a condition (except (destination ('Tateyama Station', 'Toyama Regional Railway Tateyama Line')) that indicates that it is not Tateyama Station on the Toyama Regional Railway Tateyama Line. To do. Processing in this case will be described later.

その後、アクション管理部510は、割込アクションretractFluent(destination(_,_))の実行と(ステップS2703)、割込アクションassertAskableFluent(destination(POI,Description))の実行を(ステップS2704)、通常・割込アクション実行部40に指示する。   Thereafter, the action management unit 510 executes the interrupt action retractFluent (destination (_, _)) (step S2703), and executes the interrupt action assertAskableFluent (destination (POI, Description)) (step S2704). Instruct the interrupt action execution unit 40.

この実行される割込アクションretractFluent(destination(_,_))は、信念DB501から事実destination(_,_)を削除することを意味する。   This executed interrupt action retractFluent (destination (_, _)) means that the fact destination (_, _) is deleted from the belief DB 501.

また、実行される割込アクションassertAskableFluent(destination(POI,Description))は、信念DB501に確認可能な事実であるaskableBelief(POI,Description)の登録を意味する。   Also, the interrupt action assertAscableFluent (destination (POI, Description)) to be executed means registration of askableBelief (POI, Description), which is a fact that can be confirmed in the belief DB 501.

つまり、通常・割込アクション実行部40は、割込アクションに応じた信念更新を更新部509に要求する。これに従って、更新部509が、信念DB509の更新を行う。   That is, the normal / interrupt action execution unit 40 requests the update unit 509 to update the belief according to the interrupt action. In accordance with this, the update unit 509 updates the belief DB 509.

これにより、外界監視部10から目的地POIとその説明Descriptionを取得した場合、プランニングエージェント30及び通常・割込アクション実行部40は、上述したアクション実行により、信念DB501に記録されている目的地とその説明を、新たに取得したPOIとDescriptionに置換する。   As a result, when the destination POI and its description Description are acquired from the outside world monitoring unit 10, the planning agent 30 and the normal / interrupt action execution unit 40 can execute the above-described action execution and the destination recorded in the belief DB 501. The description is replaced with the newly acquired POI and Description.

これら割込アクションの実行で、割込プランの実行が終了する。そして、プラン群も含めて、プラン群スタック503からポップし、廃棄した各プランのアクション実行履歴をアクション履歴DB505から廃棄する。そして、再び元のプラン実行に戻る。   Execution of these interrupt actions completes execution of the interrupt plan. Then, the plan including the plan group is popped from the plan group stack 503 and the action execution history of each discarded plan is discarded from the action history DB 505. And it returns to original plan execution again.

次に、図27のステップS2702で依頼された外界監視部10の処理について、図28を用いて説明する。まず、外界監視部10は、ユーザ入力(例えば音声入力)の待機を行う(ステップS2801)。   Next, the processing of the external monitoring unit 10 requested in step S2702 of FIG. 27 will be described using FIG. First, the external environment monitoring unit 10 waits for user input (for example, voice input) (step S2801).

次に、外界監視部10は、ユーザ入力(例えば音声入力)を受け付ける(ステップS2802)。そして、外界監視部10は、条件(例えば、except(destination(‘立山駅’,‘富山地方鉄道立山線’)))に従って、前回検出した誤りと同様の内容にならないように、ユーザ入力(例えば音声入力)を解釈する(ステップS2803)。   Next, the external environment monitoring unit 10 receives user input (for example, voice input) (step S2802). Then, according to the condition (eg, exception ('destination (' Tateyama Station ',' Toyama District Railway Tateyama Line '))), the external environment monitoring unit 10 does not have the same content as the previously detected error (for example, (Speech input) is interpreted (step S2803).

そして、外界監視部10は、解釈した内容をセンシングの結果として、アクション管理部510に通知する(ステップS2804)。   Then, the external environment monitoring unit 10 notifies the action management unit 510 of the interpreted content as a sensing result (step S2804).

つまり、外界監視部10は、利用者から再び「たてやまえき」と入力された場合でも、富山地方鉄道立山線の立山駅にならないよう解釈を行う。本処理手順では、JR東日本内房線の館山駅と解釈されたものとする。この解釈に従って、中断されていた元のプランの処理が開始される。   In other words, the outside world monitoring unit 10 interprets the Tateyama station on the Toyama district railway Tateyama line even if “Tateyama Eki” is input again by the user. In this processing procedure, it is assumed that it is interpreted as Tateyama Station on the JR East Uchibo Line. According to this interpretation, processing of the original plan that was interrupted is started.

つまり、通常・割込プラン作成部508は、図29に示したプランを作成する。図29に示すように、setdestination(‘館山駅’,‘JR東日本内房線’)の実行で目的地の再設定は行うが、setRoutePreference(highway)の実行による高速優先設定は必要ない。   That is, the normal / interrupt plan creation unit 508 creates the plan shown in FIG. As shown in FIG. 29, the destination is reset by executing set destination ('Tateyama Station', 'JR East Uchibo Line'), but high-speed priority setting by executing setRoutePreference (highway) is not necessary.

そして、プランニングエージェント30が、通常・割込アクション実行部40に対して、通常アクションsetdestination(‘館山駅’,‘JR東日本内房線’)の実行を指示し(ステップS2901)、通常アクションsearchAndShowRouteの実行を指示し(ステップS2902)、通常アクションtellRouteInformationの実行を指示し(ステップS2903)、通常アクションtellArrivalTimeの実行を指示し(ステップS2904)、最後に通常アクションstartNavigationの実行を指示する(ステップS2905)。   Then, the planning agent 30 instructs the normal / interrupt action execution unit 40 to execute the normal action set destination ('Tateyama Station', 'JR East Nihonbo Line') (step S2901), and execute the normal action searchAndShowRoute. (Step S2902), the execution of the normal action tellRouteInformation is instructed (step S2903), the execution of the normal action tellArrivalTime is instructed (step S2904), and finally the execution of the normal action startNavigation is instructed (step S2905).

なお、割込みプラン実行中の中断中プランの修正方法については、従来から提案されている手法を含み、どのような手法を用いても良い。   Note that any method may be used as a method for correcting an interrupted plan during execution of an interrupt plan, including a conventionally proposed method.

上述した実施形態にかかるプラン実行システム1によれば、信念DB501の利用者に確認可能な事実に限って、利用者に確認を行うためのプランを作成することで、利用者の意図を効率よく認識することが可能になる。   According to the plan execution system 1 according to the above-described embodiment, by creating a plan for confirming to the user only for the facts that can be confirmed to the user of the belief DB 501, the intention of the user can be efficiently achieved. It becomes possible to recognize.

図30に示すように、第1の実施の形態にかかるプラン実行システム1は、ハードウェア構成として、上述した処理を行うプラン実行プログラムなどが格納されているROM52と、ROM52内のプログラムに従ってプラン実行システム1の各部を制御するCPU51と、必要な種々のデータを記憶するRAM53と、ネットワークに接続して通信を行う通信I/F57と、各部を接続するバス62とを備えている。   As shown in FIG. 30, the plan execution system 1 according to the first exemplary embodiment includes a ROM 52 storing a plan execution program for performing the above-described processing as a hardware configuration, and plan execution according to the program in the ROM 52. A CPU 51 that controls each part of the system 1, a RAM 53 that stores various necessary data, a communication I / F 57 that communicates by connecting to a network, and a bus 62 that connects each part are provided.

プラン実行プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フロッピー(登録商標)ディスク(FD)、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。   The plan execution program may be provided by being recorded in a computer-readable recording medium such as a CD-ROM, a floppy (registered trademark) disk (FD), or a DVD as an installable or executable file. .

この場合には、プログラムは、プラン実行システム1において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。   In this case, the program is loaded onto the main storage device by being read from the recording medium and executed by the plan execution system 1, and each unit described in the software configuration is generated on the main storage device. ing.

また、本実施の形態のプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。   Further, the program of the present embodiment may be configured to be stored by being stored on a computer connected to a network such as the Internet and downloaded via the network.

他の例としては、プラン実行システム1の外界監視部10、イベント対応部20およびプランニングエージェント30をそれぞれ別のコンピュータ上に実装されていてもよい。この場合の外界監視部10、イベント対応部20およびプランニングエージェント30のハードウェア構成は上述したハードウェア構成と同様である。   As another example, the external environment monitoring unit 10, the event handling unit 20, and the planning agent 30 of the plan execution system 1 may be mounted on different computers. In this case, the hardware configuration of the external monitoring unit 10, the event handling unit 20, and the planning agent 30 is the same as the hardware configuration described above.

以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。   As described above, the present invention has been described using the embodiment, but various changes or improvements can be added to the above embodiment.

第1の実施の形態にかかるプラン実行システムの全体構成を示す図である。It is a figure which shows the whole structure of the plan execution system concerning 1st Embodiment. ゴールと、プランおよびアクションの関係を示す図である。It is a figure which shows the relationship between a goal, a plan, and an action. イベント対応部の機能構成を示すブロック図である。It is a block diagram which shows the function structure of an event corresponding | compatible part. イベントルールDBに格納されているイベントルールの一例を示した図である。It is the figure which showed an example of the event rule stored in event rule DB. プランニングエージェントの機能構成を示すブロック図である。It is a block diagram which shows the function structure of a planning agent. 信念DBに格納されている事実の一例を示した図である。It is the figure which showed an example of the fact stored in belief DB. プラン群スタックに格納されたプラン群の概念を説明した図である。It is the figure explaining the concept of the plan group stored in the plan group stack. アクション履歴DBに格納されたアクション実行履歴の一例を示した図である。It is the figure which showed an example of the action execution log | history stored in action log | history DB. 利用者との対話によりプラン実行システムが実行する処理の概念を示した図である。It is the figure which showed the concept of the process which a plan execution system performs by dialogue with a user. プランニングエージェントが、ナビゲーションを行うために作成したプランによる処理手順を示したフローチャートである。It is the flowchart which showed the process sequence by the plan created in order for the planning agent to perform navigation. 利用者の拒否反応を検出した場合にプラン実行システム内で行われる通知を示した説明図である。It is explanatory drawing which showed the notification performed within a plan execution system, when a user's rejection reaction is detected. 利用者の拒否反応を検出した場合に実行する処理内容が定義されているイベントルールの一例を示した図である。It is the figure which showed an example of the event rule in which the processing content performed when a user's rejection reaction is detected is defined. プラン群スタックに割込ゴールのプラン群を追加した概念を説明した図である。It is the figure explaining the concept which added the plan group of the interruption goal to the plan group stack. イベント対応部の処理を示すフローチャートである。It is a flowchart which shows the process of an event corresponding | compatible part. 通常ゴールに対するプランニングエージェントの処理を示すフローチャートである。It is a flowchart which shows the process of the planning agent with respect to a normal goal. プラン実行処理を示すフローチャートである。It is a flowchart which shows a plan execution process. 割込ゴールに対する処理を示すフローチャートである。It is a flowchart which shows the process with respect to an interruption goal. 外部から信念が更新された場合のプランニングエージェントの処理を示すフローチャートである。It is a flowchart which shows the process of the planning agent when belief is updated from the outside. 利用者に対して事実の確認等を行う割込ゴールに対応するプランを作成する処理を示すフローチャートである。It is a flowchart which shows the process which produces the plan corresponding to the interruption goal which confirms a fact with respect to a user. アクション条件管理DBが格納するアクション条件管理DBの第1の例を示す図である。It is a figure which shows the 1st example of action condition management DB which action condition management DB stores. アクション条件管理DBが格納するアクション条件管理DBの第2の例を示す図である。It is a figure which shows the 2nd example of action condition management DB which action condition management DB stores. アクション条件管理DBが格納するアクション条件管理DBの第3の例を示す図である。It is a figure which shows the 3rd example of action condition management DB which action condition management DB stores. アクション条件管理DBが格納するアクション条件管理DBの第4の例を示す図である。It is a figure which shows the 4th example of action condition management DB which action condition management DB stores. ルート検索条件が高速優先であることを確認、確認結果に応じて訂正するプランによる処理手順を示すフローチャートである。It is a flowchart which shows the process sequence by the plan which confirms that route search conditions are high-speed priority, and corrects according to a confirmation result. 外界監視部と通常・割込アクション実行部とによるイベントの送受信関係を示した図である。It is the figure which showed the transmission / reception relationship of the event by an external field monitoring part and a normal and interruption action execution part. 目的地が富山地方鉄道立山線の立山駅であることを確認、確認結果に応じて訂正するプランによる処理手順を示すフローチャートである。It is a flowchart which shows the process sequence by the plan which confirms that the destination is Tateyama station of the Toyama district railway Tateyama line, and corrects according to a confirmation result. 目的地を再入力するために作成されたプランによる処理手順を示すフローチャートである。It is a flowchart which shows the process sequence by the plan produced in order to re-input the destination. 外界監視部が、利用者入力からイベントを通知するまでの処理手順を示したフローチャートである。It is the flowchart which showed the processing procedure until an external world monitoring part notifies an event from a user input. 割込プランより中断が終了した後に再開されたプランによる処理手順を示すフローチャートである。It is a flowchart which shows the process sequence by the plan restarted after interruption was complete | finished from the interruption plan. 第1の実施の形態にかかるプラン実行システムのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of the plan execution system concerning 1st Embodiment.

符号の説明Explanation of symbols

1 プラン実行システム
10 外界監視部
20 イベント対応部
30 プランニングエージェント
40 通常・割込アクション実行部
51 CPU
52 ROM
53 RAM
57 通信I/F
62 バス
301 イベントルールDB
302 外部イベント取得部
304 内部イベント取得部
305 条件判定部
306 処理内容抽出部
307 通知部
501 信念DB
503 プラン群スタック
504 アクション条件管理DB
505 アクション履歴DB
506 ゴール取得部
507 ゴールキュー
508 通常・割込プラン作成部
509 更新部
510 アクション管理部
511 内部イベント通知部
1 Plan Execution System 10 External Field Monitoring Unit 20 Event Response Unit 30 Planning Agent 40 Normal / Interrupt Action Execution Unit 51 CPU
52 ROM
53 RAM
57 Communication I / F
62 Bus 301 Event Rule DB
302 External event acquisition unit 304 Internal event acquisition unit 305 Condition determination unit 306 Processing content extraction unit 307 Notification unit 501 Belief DB
503 Plan group stack 504 Action condition management DB
505 Action history DB
506 Goal acquisition unit 507 Goal queue 508 Normal / interrupt plan creation unit 509 Update unit 510 Action management unit 511 Internal event notification unit

Claims (6)

利用者の要求を示す通常目標情報を記憶する通常目標記憶部と、
利用者の意図したとおりに処理が行われていないことに対する利用者の反応に応じて変更可能な状況情報を示す可変状況情報と、前記利用者の反応に応じて変更を行わない状況情報を示す不変状況情報と、を記憶する状況情報記憶部と、
前記通常目標情報に応じたアクションである、前記可変状況情報と前記不変状況情報のうちいずれか一つ以上を使用して処理を行う通常アクションの実行順序を示す通常プランを作成する通常プラン作成部と、
作成された前記通常プラン毎に、前記実行順序に従って、前記通常アクションを実行する通常アクション実行部と、
実行された前記通常アクションの履歴を記憶するアクション履歴記憶部と、
前記通常アクション毎に、当該通常アクションが実行時に使用する前記可変状況情報のを対応付けたアクション対応情報を記憶するアクション情報記憶部と、
前記アクション履歴記憶部に記憶されている前記通常アクション毎に、当該通常アクションに対応付けられている前記可変状況情報を前記アクション対応情報記憶部から抽出し、抽出した前記可変状況情報が適切か否かの確認を利用者に対して要求する確認要求アクションを作成する割込プラン作成部と、
前記確認要求アクションを前記通常アクションに割り込んで実行する確認要求アクション実行部と、
実行された前記確認要求アクションにより利用者から前記可変状況情報が適切でないことを示す情報が入力された場合に、前記状況情報記憶部に記憶されている、前記確認要求アクションの確認対象である前記可変状況情報を更新する更新部と、
を備えたことを特徴とするアクション実行装置。
A normal target storage unit for storing normal target information indicating a user's request;
Indicates variable status information indicating status information that can be changed according to a user's reaction to processing not being performed as intended by the user, and status information that is not changed according to the user's response A status information storage unit for storing invariant status information;
A normal plan creation unit that creates a normal plan indicating an execution order of normal actions for performing processing using one or more of the variable status information and the invariant status information, which is an action corresponding to the normal target information When,
A normal action execution unit that executes the normal action according to the execution order for each of the created normal plans;
An action history storage unit for storing a history of the executed normal actions;
An action information storage unit that stores action correspondence information in which the normal action is associated with the variable situation information used at the time of execution for each normal action;
For each normal action stored in the action history storage unit, the variable situation information associated with the normal action is extracted from the action correspondence information storage unit, and whether or not the extracted variable situation information is appropriate An interrupt plan creation unit for creating a confirmation request action for requesting confirmation from the user,
A confirmation request action execution unit that executes the confirmation request action by interrupting the normal action;
When information indicating that the variable status information is not appropriate is input from the user by the executed confirmation request action, the confirmation request action is a confirmation target stored in the status information storage unit An update unit for updating variable status information;
An action execution device comprising:
前記アクション履歴記憶部は、前記通常アクション実行部による前記通常アクションの実行が完了した順序に従って履歴を記憶し、
前記割込プラン作成部は、さらに、前記アクション情報記憶部を参照し、新しい前記通常アクションから順に、当該通常アクションに対応付けられている前記可変状況情報の確認を要求する前記確認要求アクションを実行するように実行順序を設定すること、
を特徴とする請求項1に記載のアクション実行装置。
The action history storage unit stores a history according to an order in which the execution of the normal action by the normal action execution unit is completed,
The interrupt plan creation unit further refers to the action information storage unit and executes the confirmation request action for requesting confirmation of the variable status information associated with the normal action in order from the new normal action. To set the execution order to
The action execution device according to claim 1.
外界を監視し、当該外界から取得した情報を解釈して状況情報を取得する外界監視部と、
前記確認要求アクション実行部が前記確認要求アクションを前記通常アクションに割り込んで実行する場合に、前記状況情報記憶部により保持している前記可変状況情報を、前記外界監視部に通知する通知部と、をさらに備え、
前記状況情報記憶部は、前記外界監視部が取得した前記状況情報を、前記可変状況情報として保持し、
前記外界監視部は、前記通知部から前記可変状況情報が通知された場合に、通知された前記可変状況情報以外の前記状況情報を取得するように、前記外界から取得した情報を解釈すること、
を特徴とする請求項1又は2に記載のアクション実行装置。
An external monitoring unit that monitors the external world, interprets information acquired from the external world, and acquires status information;
A notification unit for notifying the external monitoring unit of the variable status information held by the status information storage unit when the verification request action execution unit interrupts and executes the verification request action in the normal action; Further comprising
The status information storage unit holds the status information acquired by the external monitoring unit as the variable status information,
The outside world monitoring unit interprets the information acquired from the outside world so as to acquire the status information other than the notified variable status information when the variable status information is notified from the notification unit;
The action execution device according to claim 1 or 2, wherein
前記通常アクション実行部は、前記確認要求アクション実行部が前記確認要求アクションを前記通常アクションに割り込んで実行する場合に、作成された前記通常プラン毎の前記通常アクションの実行を中断し、
前記通常プラン作成部は、前記更新部により前記可変状況情報が更新された後、前記通常アクション実行部が中断した前記通常アクションを含む前記通常プランの再作成を行い、
前記通常アクション実行部は、更新後の前記可変状況情報を使用して、再作成された前記通常プラン毎の前記通常アクションを実行すること、
を特徴とする請求項1乃至3のいずれか一つに記載のアクション実行装置。
The normal action execution unit, when the confirmation request action execution unit interrupts and executes the confirmation request action in the normal action, interrupts the execution of the normal action for each normal plan created,
The normal plan creation unit re-creates the normal plan including the normal action interrupted by the normal action execution unit after the variable status information is updated by the update unit,
The normal action execution unit executes the normal action for each of the recreated normal plans using the updated variable status information.
The action execution device according to any one of claims 1 to 3, wherein
前記アクション実行部により、作成された前記通常プランの毎の全ての通常アクションの実行が終了した場合に、前記アクション履歴記憶部が記憶する前記アクション情報を削除する削除部をさらに備えることを特徴とする請求項1乃至4のいずれか一つに記載のアクション実行装置。   When the execution of all the normal actions for each of the created normal plans is finished by the action execution unit, the action execution unit further includes a deletion unit that deletes the action information stored in the action history storage unit. The action execution device according to any one of claims 1 to 4. 利用者の要求を示す通常目標情報を通常目標記憶部に記憶する通常目標記憶ステップと、
利用者の意図したとおりに処理が行われていないことに対する利用者の反応に応じて変更可能な状況情報を示す可変状況情報と、前記利用者の反応に応じて変更を行わない状況情報を示す不変状況情報と、を状況情報記憶部に記憶する状況情報記憶ステップと、
前記通常目標情報に応じたアクションである、前記可変状況情報と前記不変状況情報のうちいずれか一つ以上を使用して処理を行う通常アクションの実行順序を示す通常プランを作成する通常プラン作成ステップと、
作成された前記通常プラン毎に、前記実行順序に従って、前記通常アクションを実行する通常アクション実行ステップと、
実行された前記通常アクションの履歴をアクション履歴記憶部に記憶するアクション履歴記憶ステップと、
前記通常アクション毎に、当該通常アクションが実行時に使用する前記可変状況情報を対応付けたアクション対応情報をアクション情報記憶部に記憶するアクション情報記憶ステップと、
前記アクション履歴記憶部に記憶されている前記通常アクション毎に、当該通常アクションに対応付けられている前記可変状況情報を前記アクション対応情報記憶部から抽出し、抽出した前記可変状況情報が適切か否かの確認を利用者に対して要求する確認要求アクションを作成する割込プラン作成ステップと、
前記確認要求アクションを前記通常アクションに割り込んで実行する確認要求アクション実行ステップと、
実行された前記確認要求アクションにより利用者から前記可変状況情報が適切でないことを示す情報が入力された場合に、前記状況情報記憶部に記憶されている、前記確認要求アクションの確認対象である前記可変状況情報を更新する更新ステップと、
を有することを特徴とするアクション実行方法。
A normal target storage step of storing normal target information indicating a user's request in the normal target storage unit;
Indicates variable status information indicating status information that can be changed according to a user's reaction to processing not being performed as intended by the user, and status information that is not changed according to the user's response A situation information storage step for storing invariant situation information in the situation information storage unit;
A normal plan creation step of creating a normal plan indicating an execution order of normal actions for performing processing using one or more of the variable status information and the invariant status information, which is an action according to the normal target information When,
A normal action execution step of executing the normal action according to the execution order for each of the generated normal plans;
An action history storage step of storing a history of the executed normal actions in an action history storage unit;
An action information storage step for storing, in each action information storage unit, action correspondence information that associates the variable situation information used by the normal action at the time of execution for each normal action;
For each normal action stored in the action history storage unit, the variable situation information associated with the normal action is extracted from the action correspondence information storage unit, and whether or not the extracted variable situation information is appropriate An interrupt plan creation step for creating a confirmation request action for requesting confirmation from the user,
A confirmation request action execution step of interrupting and executing the confirmation request action in the normal action;
When information indicating that the variable status information is not appropriate is input from the user by the executed confirmation request action, the confirmation request action is a confirmation target stored in the status information storage unit An update step for updating variable status information;
An action execution method characterized by comprising:
JP2007175101A 2007-07-03 2007-07-03 Action execution device and method Pending JP2009015493A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007175101A JP2009015493A (en) 2007-07-03 2007-07-03 Action execution device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007175101A JP2009015493A (en) 2007-07-03 2007-07-03 Action execution device and method

Publications (1)

Publication Number Publication Date
JP2009015493A true JP2009015493A (en) 2009-01-22

Family

ID=40356339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007175101A Pending JP2009015493A (en) 2007-07-03 2007-07-03 Action execution device and method

Country Status (1)

Country Link
JP (1) JP2009015493A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018528518A (en) * 2015-07-27 2018-09-27 グーグル エルエルシー Predict the likelihood that a condition will be satisfied using a recursive neural network
US10402721B2 (en) 2015-07-27 2019-09-03 Google Llc Identifying predictive health events in temporal sequences using recurrent neural network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018528518A (en) * 2015-07-27 2018-09-27 グーグル エルエルシー Predict the likelihood that a condition will be satisfied using a recursive neural network
US10402721B2 (en) 2015-07-27 2019-09-03 Google Llc Identifying predictive health events in temporal sequences using recurrent neural network
US10726327B2 (en) 2015-07-27 2020-07-28 Google Llc Predicting likelihoods of conditions being satisfied using recurrent neural networks
US11790216B2 (en) 2015-07-27 2023-10-17 Google Llc Predicting likelihoods of conditions being satisfied using recurrent neural networks

Similar Documents

Publication Publication Date Title
EP3513324B1 (en) Computerized natural language query intent dispatching
US20140297354A1 (en) Workflow control apparatus and method therefor
JP5091894B2 (en) Stream recovery method, stream recovery program, and failure recovery apparatus
US20150081292A1 (en) Method and device for automatically managing audio air control messages on an aircraft
WO2015141700A1 (en) Dialogue system construction support apparatus and method
JP2007241872A (en) Program for monitoring change in computer resource on network
US10304455B1 (en) Method and system for performing a task based on user input
US10360306B2 (en) Monitoring of a maintenance intervention on an aircraft
US11676496B2 (en) Methods and systems for querying for parameter retrieval
CN114648893A (en) Dialogue system for autonomous aircraft
CN111309294B (en) Business processing method and device, electronic equipment and storage medium
JP2008293252A (en) Manipulation system and control method for manipulation system
JP2009015493A (en) Action execution device and method
JPH0863478A (en) Method and processor for language processing
JP2019148832A (en) Map information system and program
CN110865829B (en) Database upgrading method, system, equipment and storage medium
WO2009119219A1 (en) Information providing device, recording medium on which computer program is recorded and information providing method
JP7243207B2 (en) Information processing system, information processing device and program
JP3878147B2 (en) Terminal device
Subramanian et al. Custom IBM Watson speech-to-text model for anomaly detection using ATC-pilot voice communication
JP3946224B2 (en) Robot control system
JP4357442B2 (en) Plan execution device, plan execution method and program
CN111061642B (en) Full-automatic competition data processing system and method based on user data
CN105487847B (en) A kind of function dissemination method and equipment
JP2006331118A (en) Apparatus, method and program for command execution