JP6832502B2 - Agent device, dialogue system, dialogue method and program - Google Patents

Agent device, dialogue system, dialogue method and program Download PDF

Info

Publication number
JP6832502B2
JP6832502B2 JP2017012528A JP2017012528A JP6832502B2 JP 6832502 B2 JP6832502 B2 JP 6832502B2 JP 2017012528 A JP2017012528 A JP 2017012528A JP 2017012528 A JP2017012528 A JP 2017012528A JP 6832502 B2 JP6832502 B2 JP 6832502B2
Authority
JP
Japan
Prior art keywords
dialogue
action
type
information
dialogue action
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.)
Active
Application number
JP2017012528A
Other languages
Japanese (ja)
Other versions
JP2018010610A (en
Inventor
遠藤 充
充 遠藤
山上 勝義
勝義 山上
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to CN201710404504.3A priority Critical patent/CN107562770A/en
Priority to US15/627,350 priority patent/US11055799B2/en
Priority to EP18190248.7A priority patent/EP3438988A1/en
Priority to EP17176796.5A priority patent/EP3264301A1/en
Publication of JP2018010610A publication Critical patent/JP2018010610A/en
Application granted granted Critical
Publication of JP6832502B2 publication Critical patent/JP6832502B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ユーザと対話して情報処理を行うための対話システムと、この対話システムで用いられるエージェント装置、対話方法及びプログラムに関する。 The present invention relates to a dialogue system for interacting with a user to perform information processing, and an agent device, a dialogue method, and a program used in this dialogue system.

従来、コンピュータ等の装置によりユーザと対話することで必要な情報を特定するシステムが知られている。このシステムでは、ユーザとの対話状態に応じて適切な制御を行う必要がある。特許文献1には、対話状態に応じてPOMDP(部分観測マルコフ決定過程:Partially Observable Markov Decision Process)モデルを用いて行動を決定する技術が開示されている。非特許文献1には、対話行為タイプと行為項目とからなる対話行為について、記載されている。 Conventionally, there is known a system that identifies necessary information by interacting with a user using a device such as a computer. In this system, it is necessary to perform appropriate control according to the state of interaction with the user. Patent Document 1 discloses a technique for determining behavior using a POMDP (Partially Observable Markov Decision Process) model according to a dialogue state. Non-Patent Document 1 describes a dialogue act consisting of a dialogue act type and an act item.

特開2010−129033号公報Japanese Unexamined Patent Publication No. 2010-129033

Steve Young、他6名、「The Hidden Information State model: A practical framework for POMDP-based spoken dialogue management」、Computer Speech & Language 24(2010)150-174Steve Young, 6 others, "The Hidden Information State model: A practical framework for POMDP-based spoken dialogue management", Computer Speech & Language 24 (2010) 150-174

ところで、対話システムにおいて、数千以上の結論を導くような大規模タスクを遂行するためには、効率的に対話状態に対応する制御を行う必要がある。 By the way, in a dialogue system, in order to perform a large-scale task that draws thousands or more conclusions, it is necessary to efficiently perform control corresponding to the dialogue state.

そこで、本発明は、従来の技術より効率的に対話状態に応じた制御を行い得る対話システムを提供する。また、本発明は、その対話システムで用いられるエージェント装置、対話方法、及び、プログラムを提供する。 Therefore, the present invention provides a dialogue system capable of performing control according to the dialogue state more efficiently than the conventional technique. The present invention also provides an agent device, a dialogue method, and a program used in the dialogue system.

上記課題を解決するために本発明の一態様に係るエージェント装置は、ユーザインタフェース処理を行うフロントエンド、及び、情報処理を行うバックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行うエージェント装置であって、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定部と、前記決定部により決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの前記一方又は他方へ選択的に提供する提供部とを備え、前記決定部は、前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定し、前記決定部は、前記提供用の対話行為における対話行為タイプを、過去に決定した対話行為タイプの系列にも基づいて、決定し、前記決定部は、観測としての対話行為タイプの系列に基づいて、行動としての対話行為タイプを決定する行動決定部と、前記フロントエンド及び前記バックエンドの集合から対話行為を逐次取得し、取得した対話行為から付帯情報を分離することで対話行為タイプの系列を前記行動決定部に観測として逐次入力する分離部と、前記行動決定部で決定された対話行為タイプと前記分離部で分離された付帯情報とを合成することで提供用の対話行為を生成する合成部とを有し、前記行動決定部は、行動としての対話行為タイプの前記決定を、過去に決定した行動としての対話行為タイプの系列にも基づいて、行うIn order to solve the above problems, the agent device according to one aspect of the present invention is composed of a front end that performs user interface processing, a back end that performs information processing, a dialogue action type, and incidental information. An agent device that exchanges and exchanges dialogue actions, which are information in the form of dialogue actions, and a determination unit that determines the dialogue actions to be provided according to the dialogue actions acquired from either the front end or the back end, and the determination. dialog acts for providing determined the that the parts provided with said front-end and providing unit for selectively providing to said one or the other of the back-end, the determination unit may interact in dialogue act for the providing The action type is determined based on the sequence of dialogue action types, not based on the sequence of incidental information, in the dialogue action sequentially acquired from the front end and the set of back ends, and the determination unit determines the dialogue for provision. The dialogue action type in the action is determined based on the series of dialogue action types determined in the past, and the determination unit determines the dialogue action type as an action based on the series of dialogue action types as observations. Dialogue actions are sequentially acquired from the action decision unit and the set of the front end and the back end, and by separating incidental information from the acquired dialogue actions, a series of dialogue action types is sequentially input to the action decision section as observations. It has a separation unit, a synthesis unit that generates a dialogue action for provision by synthesizing a dialogue action type determined by the action determination unit and ancillary information separated by the separation unit, and the action determination unit. Makes the determination of the dialogue action type as an action based on the series of dialogue action types as an action determined in the past .

また、上記課題を解決するために本発明の一態様に係る対話システムは、上述のエージェント装置と、自然言語で表現される情報をユーザとの間で交換する前記フロントエンドと、知識ベースの検索に基づき情報の提供を行う前記バックエンドとを備える。 Further, in order to solve the above problems, the dialogue system according to one aspect of the present invention includes the above-mentioned agent device, the front end for exchanging information expressed in natural language with the user, and a knowledge-based search. It is provided with the back end that provides information based on the above.

また、上記課題を解決するために本発明の一態様に係る対話方法は、自然言語で表現される情報をユーザとの間で交換するフロントエンドと、知識ベースの検索に基づく情報の提供を行うバックエンドと、前記フロントエンド及び前記バックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行うエージェント装置とを含む対話システムにおいて用いられる対話方法であって、前記エージェント装置が、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、前記エージェント装置が、前記決定ステップで決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの前記一方又は他方へ選択的に提供する提供ステップとを含み、前記決定ステップでは前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定し、前記決定ステップは、前記フロントエンド及び前記バックエンドの集合から対話行為を逐次取得し、取得した対話行為における付帯情報と対話行為タイプとを分離する分離サブステップと、前記分離サブステップで分離された対話行為タイプを観測とし、当該観測に基づいて、観測に対応して行動を決定するための基準となる信念状態情報を参照して、行動としての対話行為タイプを決定する行動決定サブステップと、前記行動決定サブステップで決定された対話行為タイプと前記分離サブステップで分離された付帯情報とを合成することで提供用の対話行為を生成する合成サブステップと、前記分離サブステップで分離された対話行為タイプの系列である観測と、前記行動決定サブステップで決定された対話行為タイプの系列である行動とに応じて前記信念状態情報を更新する更新ステップとを含むFurther, in order to solve the above problems, the dialogue method according to one aspect of the present invention provides information based on a knowledge-based search and a front end for exchanging information expressed in natural language with a user. It is used in a dialogue system including a back end, each of the front end and the back end, and an agent device that exchanges dialogue actions, which is information in a predetermined dialogue action format composed of a dialogue action type and incidental information. In the dialogue method, a determination step in which the agent device determines a dialogue action for provision according to a dialogue action acquired from one of the front end and the back end, and the agent device determines in the determination step. It has been a dialogue act for the offer, and a providing step of selectively providing to said one or the other of the front end and the back end, a dialogue act type of dialogue act for the offer by the determining step, In the dialogue action sequentially acquired from the front end and the back end set, the decision is made based on the dialogue action type series, not based on the incidental information series, and the determination step is the set of the front end and the back end. The dialogue action is sequentially acquired from, and the separation sub-step that separates the incidental information and the dialogue action type in the acquired dialogue action and the dialogue action type separated by the separation sub-step are observed, and the observation is based on the observation. The action decision substep that determines the dialogue action type as an action, the dialogue action type determined in the action determination substep, and the above, with reference to the belief state information that serves as a reference for determining the action in response to A synthetic substep that generates a dialogue action for provision by synthesizing incidental information separated in the separation substep, an observation that is a series of dialogue action types separated in the separation substep, and the action determination sub. Includes an update step that updates the belief state information in response to an action that is a sequence of dialogue action types determined in the step .

また、上記課題を解決するために本発明の一態様に係るプログラムは、ユーザインタフェース処理を行うフロントエンド、及び、情報処理を行うバックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行う対話制御処理を、コンピュータに実行させるためのプログラムであって、前記対話制御処理は、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、前記決定ステップで決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの前記一方又は他方へ選択的に提供する提供ステップとを含み、前記決定ステップでは前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定し、前記決定ステップでは、前記提供用の対話行為における対話行為タイプを、過去に決定した対話行為タイプの系列にも基づいて、決定し、前記決定ステップは、観測としての対話行為タイプの系列に基づいて、行動としての対話行為タイプを決定する行動決定サブステップと、前記フロントエンド及び前記バックエンドの集合から対話行為を逐次取得し、取得した対話行為から付帯情報を分離することで対話行為タイプの系列を前記行動決定部に観測として逐次入力する分離サブステップと、前記行動決定部で決定された対話行為タイプと前記分離部で分離された付帯情報とを合成することで提供用の対話行為を生成する合成サブステップとを含み、前記行動決定サブステップでは、行動としての対話行為タイプの前記決定を、過去に決定した行動としての対話行為タイプの系列にも基づいて、行うFurther, in order to solve the above problems, the program according to one aspect of the present invention is composed of a front end that performs user interface processing, a back end that performs information processing, an interaction type, and incidental information. A program for causing a computer to execute a dialogue control process for giving and receiving a dialogue action, which is information in a predetermined dialogue action format, and the dialogue control process is a dialogue action acquired from one of the front end and the back end. A decision step for determining a dialogue act for provision according to the above , and a provision step for selectively providing the dialogue act for provision determined in the determination step to one or the other of the front end and the back end. In the determination step, the dialogue action type in the dialogue action for provision is changed to the dialogue action type series in the dialogue action sequentially acquired from the front end and the back end set, not based on the sequence of incidental information. Based on the decision , the decision step determines the dialogue type in the providing dialogue action based on the series of dialogue action types determined in the past, and the decision step determines the dialogue action as an observation. To sequentially acquire dialogue actions from the action determination substep that determines the dialogue action type as an action based on the type sequence and the set of the front end and the back end, and separate the incidental information from the acquired dialogue actions. Provided by synthesizing a separation substep in which a sequence of dialogue action types is sequentially input to the action determination unit as an observation, and an incidental information separated by the dialogue action type determined by the action determination unit and the separation unit. Including a synthetic substep that generates a dialogue action for, the action determination substep makes the determination of the dialogue action type as an action based on a series of dialogue action types as a previously determined action. ..

本発明によれば、対話状態に応じた制御が効率的に行われ得る。 According to the present invention, control according to the dialogue state can be efficiently performed.

実施の形態に係る対話システムが提供するサービスの態様の一例を示す概念図である。It is a conceptual diagram which shows an example of the mode of the service provided by the dialogue system which concerns on embodiment. 実施の形態に係るデータセンタ運営会社の一例を示す概念図である。It is a conceptual diagram which shows an example of the data center operating company which concerns on embodiment. 実施の形態に係る対話システムの概略構成図である。It is a schematic block diagram of the dialogue system which concerns on embodiment. 実施の形態に係る対話システムにおける対話処理の一例を示すフローチャートである。It is a flowchart which shows an example of the dialogue processing in the dialogue system which concerns on embodiment. 実施の形態に係る知識ベースの一例を示す図である。It is a figure which shows an example of the knowledge base which concerns on embodiment. 実施の形態に係る知識処理の一例を示す概念図である。It is a conceptual diagram which shows an example of the knowledge processing which concerns on embodiment. 実施の形態に係る対話システムにおける対話のシーケンスの一例を示すシーケンス図である。It is a sequence diagram which shows an example of the sequence of dialogue in the dialogue system which concerns on embodiment. 対話状態についての状態遷移図(其の一)である。It is a state transition diagram (No. 1) about the dialogue state. 対話状態についての状態遷移図(其の二)である。It is a state transition diagram (No. 2) about the dialogue state. 対話状態についての状態遷移図(其の三)である。It is a state transition diagram (No. 3) about the dialogue state. 対話状態についての状態遷移図(其の四)である。It is a state transition diagram (No. 4) about the dialogue state. 実施の形態に係る対話システムを用いた実験の結果を示す図である。It is a figure which shows the result of the experiment which used the dialogue system which concerns on embodiment. 対話システムが提供するサービス(類型1)を示す概念図である。It is a conceptual diagram which shows the service (type 1) provided by a dialogue system. 対話システムが提供するサービス(類型2)を示す概念図である。It is a conceptual diagram which shows the service (type 2) provided by a dialogue system. 対話システムが提供するサービス(類型3)を示す概念図である。It is a conceptual diagram which shows the service (type 3) provided by a dialogue system. 対話システムが提供するサービス(類型4)を示す概念図である。It is a conceptual diagram which shows the service (type 4) provided by a dialogue system.

(本発明の基礎となった知見等)
専門知識が豊富な専門家と専門知識が乏しい一般者とが対話により情報を交換することで、両者の納得する結論としての情報を特定するタスクが遂行される場面は多い。このようなタスクの一例としては、例えば、医者と患者との間で行われる問診が挙げられる。問診では、専門知識はあるが患者の自覚症状についての情報がない医者と、専門知識は乏しいが自分の症状についての情報を、問いかけに答えることで或いは自ら発することで、提供できる患者との間で、対話によって手掛りとなる情報の量を増やして結論(診断結果)に反映する。この問診等といった、一般者であるユーザとの対話により結論としての情報を特定するタスクを、コンピュータ等の機械を用いて遂行する対話システムが検討されている。例えばPOMDPモデルによる対話制御では、音声認識、言語理解等のエラーを含んだ不確実な入力を扱うことができ、ユーザに対する確認行為等を過不足なく行うための行動選択の最適化が期待できる。
(Knowledge that became the basis of the present invention, etc.)
By exchanging information through dialogue between experts with abundant expertise and the general public with little expertise, there are many situations in which the task of identifying information as a convincing conclusion is carried out. An example of such a task is an interview conducted between a doctor and a patient. Interviews are between doctors who have expertise but no information about the patient's subjective symptoms and patients who have little expertise but can provide information about their symptoms by answering questions or by issuing their own. Then, increase the amount of information that can be used as a clue through dialogue and reflect it in the conclusion (diagnosis result). A dialogue system is being studied in which a task of identifying information as a conclusion through dialogue with a general user, such as this interview, is performed using a machine such as a computer. For example, in the dialogue control by the POMDP model, it is possible to handle uncertain input including errors such as voice recognition and language comprehension, and optimization of action selection for performing confirmation action to the user without excess or deficiency can be expected.

しかし、問診の例では、問診の結論(診断結果)となり得る病気の候補の数は、数千以上に及ぶ。つまり、患者から得られた情報に基づき、病気の候補を特定するプロセスを状態の遷移として表すには、論理的な条件分岐と結論とを含めて数千以上の状態が必要となる。対話制御に必要な状態(対話状態)の数が数千以上と多くなると、対話制御におけるユーザに対する確認行為等の行動選択の最適化のための演算負荷が増大し、対話制御のために例えば大規模なコンピュータリソースが必要となり得る。これまで、小規模の対話制御で大規模のタスクを遂行するための技術について検討がなされていなかった。 However, in the case of the interview, the number of disease candidates that can be the conclusion (diagnosis result) of the interview is more than thousands. In other words, in order to represent the process of identifying disease candidates as state transitions based on the information obtained from patients, thousands or more states including logical conditional branching and conclusions are required. When the number of states (dialogue states) required for dialogue control increases to several thousand or more, the calculation load for optimizing action selection such as confirmation action for the user in dialogue control increases, and for example, it is large for dialogue control. Large computer resources may be required. So far, no studies have been made on techniques for performing large-scale tasks with small-scale interactive control.

そこで、小規模の対話システムにおいて大規模のタスクの遂行を可能にすべく、本願発明者らは、対話制御に係る対話状態の数を減らす方式を着想した。そして、その方式を用いて、対話状態の数を減らすことで、従来の技術より効率的に対話状態に対する制御を行い得る対話システムを提供する。また、その対話システムの一部であるエージェント装置、対話方法、及び、プログラムを提供する。 Therefore, in order to enable the performance of a large-scale task in a small-scale dialogue system, the inventors of the present application have conceived a method of reducing the number of dialogue states related to dialogue control. Then, by using this method and reducing the number of dialogue states, a dialogue system capable of controlling the dialogue states more efficiently than the conventional technique is provided. It also provides an agent device, a dialogue method, and a program that are part of the dialogue system.

本発明の一態様に係るエージェント装置は、ユーザインタフェース処理を行うフロントエンド、及び、情報処理を行うバックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行うエージェント装置であって、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定部と、前記決定部により決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの一方へ提供する提供部とを備え、前記決定部は、前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。ここで付帯情報は上述の行為項目に相当する。この構成によると、対話行為から付帯情報を除いた対話行為タイプの系列に基づいて行動を決定する。このため、対話行為のバリエーションが多くなる要因となる付帯情報を除いて、対話行為タイプの系列から行動を決定するので、対話状態の数の低減化が可能となる。この結果として、強化学習により行動選択の最適化を行う場合における最適化の負荷が抑えられ、最適化が容易となり得る。これにより、例えば小規模の対話システムにおいて大規模のタスクを遂行可能なように、効率的に対話状態に応じた制御を行うことができるようになる。 The agent device according to one aspect of the present invention is information in a predetermined dialogue action format composed of a front end that performs user interface processing, a back end that performs information processing, and a dialogue action type and incidental information. An agent device for exchanging and receiving dialogue acts, a determination unit that determines a dialogue act for provision according to a dialogue act acquired from either the front end or the back end, and the provision determined by the determination unit. The decision unit includes a providing unit that provides the dialogue action for the front end and the back end, and the determination unit sets the dialogue action type in the providing dialogue action to the front end and the back end. The decision is made based on the series of dialogue action types, not based on the series of incidental information in the dialogue actions sequentially acquired from. Here, the incidental information corresponds to the above-mentioned action item. According to this configuration, the action is determined based on the series of dialogue action types excluding incidental information from the dialogue action. For this reason, the number of dialogue states can be reduced because the action is determined from the series of dialogue action types, excluding the incidental information that causes many variations of the dialogue action. As a result, the load of optimization when the action selection is optimized by reinforcement learning can be suppressed, and the optimization can be facilitated. As a result, for example, in a small-scale dialogue system, it becomes possible to efficiently perform control according to the dialogue state so that a large-scale task can be performed.

また、例えば、前記決定部は、前記提供用の対話行為における対話行為タイプを、過去に決定した対話行為タイプの系列にも基づいて、決定することとしてもよい。これにより、エージェント装置は、観測及び行動としての対話行為タイプの系列から行動を適切に決定し得るようになる。 Further, for example, the determination unit may determine the dialogue action type in the dialogue action for provision based on the series of dialogue action types determined in the past. This allows the agent device to appropriately determine actions from a series of dialogue action types as observations and actions.

また、前記決定部は、観測としての対話行為タイプの系列に基づいて、行動としての対話行為タイプを決定する行動決定部と、前記フロントエンド及び前記バックエンドの集合から対話行為を逐次取得し、取得した対話行為から付帯情報を分離することで対話行為タイプの系列を前記行動決定部に観測として逐次入力する分離部と、前記行動決定部で決定された対話行為タイプと前記分離部で分離された付帯情報とを合成することで提供用の対話行為を生成する合成部とを有し、前記行動決定部は、行動としての対話行為タイプの前記決定を、過去に決定した行動としての対話行為タイプの系列にも基づいて、行うこととしてもよい。これにより、エージェント装置は取得した対話行為における付帯情報を、提供する対話行為のために利用でき、行動決定部においては付帯情報に依らずに行動としての対話行為タイプを決定し得るようになる。 In addition, the decision unit sequentially acquires dialogue actions from the action decision unit that determines the dialogue action type as an action, and the set of the front end and the back end, based on the series of dialogue action types as observations. By separating the incidental information from the acquired dialogue action, the dialogue action type series is sequentially input to the action decision unit as an observation, and the dialogue action type determined by the action decision section and the separation section are separated. It has a synthesis unit that generates a dialogue action for provision by synthesizing the incidental information, and the action determination unit determines the dialogue action type as an action, and the dialogue action as an action determined in the past. It may be done based on the series of types. As a result, the agent device can use the acquired incidental information in the dialogue act for the dialogue act to be provided, and the action determination unit can determine the dialogue act type as an action without depending on the incidental information.

また、前記行動決定部は、POMDP(Partially Observable Markov Decision Process)モデルに基づいて行動を決定することとしてもよい。これにより、強化学習により行動選択の最適化を行うことができる。 In addition, the action decision-making unit may decide the action based on the POMDP (Partially Observable Markov Decision Process) model. As a result, the action selection can be optimized by reinforcement learning.

また、前記観測としての対話行為タイプは、予め定められた複数の対話行為タイプ値のいずれかを表し、前記行動としての対話行為タイプは、前記フロントエンドに向けた第1種の対話行為タイプ値と前記バックエンドに向けた第2種の対話行為タイプ値とに区別される予め定められた複数の対話行為タイプ値のいずれかを表し、前記提供部は、前記決定部により決定された提供用の対話行為における対話行為タイプが第1種及び第2種のいずれの対話行為タイプ値を表すかに基づいて、前記フロントエンド及び前記バックエンドのうち当該対話行為の提供先を選択し、選択した提供先へ当該対話行為を提供することとしてもよい。これにより、エージェント装置は、ユーザ向けのフロントエンドへの対話行為の提供のみならず、対話行為タイプによって区別してバックエンドへの対話行為の提供も行える。 Further, the dialogue action type as the observation represents one of a plurality of predetermined dialogue action type values, and the dialogue action type as the action is a type 1 dialogue action type value toward the front end. Represents one of a plurality of predetermined dialogue action type values, which is distinguished from the second type dialogue action type value toward the back end, and the providing unit is a providing unit determined by the determining unit. Based on whether the dialogue action type in the dialogue action represents the type 1 or type 2 dialogue action type value, the destination of the dialogue action is selected and selected from the front end and the back end. The dialogue act may be provided to the provider. As a result, the agent device can not only provide the dialogue action to the front end for the user, but also provide the dialogue action to the back end by distinguishing by the dialogue action type.

また、前記付帯情報はキーワードを表すこととしてもよい。これにより、多様な情報を表し得るキーワード(付帯情報)を用いた多様な対話が可能となるにも関わらず、対話行為から付帯情報を除いた対話行為タイプに基づいて行動を決定するので、対話状態の数の低減化が可能となる。 Further, the incidental information may represent a keyword. As a result, although various dialogues using keywords (incidental information) that can represent various information are possible, the action is determined based on the dialogue act type excluding the incidental information from the dialogue act. It is possible to reduce the number of states.

また、本発明の一態様に係る対話システムは、上述のエージェント装置と、自然言語で表現される情報をユーザとの間で交換する前記フロントエンドと、知識ベースの検索に基づき情報の提供を行う前記バックエンドとを備える。これにより、例えば、症状についての質問により病気を特定する問診タスク等といった専門知識を必要とするタスクを、実現し得る。そして、このようなタスクのための対話(つまり対話行為の授受)において、対話行為のバリエーションが多くなる要因となる付帯情報を除いて、対話行為タイプの系列から行動を決定するので、対話状態の数の低減化が可能となる。 Further, the dialogue system according to one aspect of the present invention provides information based on the above-mentioned agent device, the front end for exchanging information expressed in natural language with a user, and a knowledge-based search. It includes the back end. Thereby, for example, a task requiring specialized knowledge such as a medical inquiry task for identifying a disease by asking a question about a symptom can be realized. Then, in the dialogue for such a task (that is, the transfer of the dialogue act), the action is determined from the sequence of the dialogue act type, except for the incidental information that causes many variations of the dialogue act, so that the dialogue state The number can be reduced.

また、例えば、前記付帯情報は前記知識ベースの検索のために利用可能なキーワードを表し、前記バックエンドは、前記エージェント装置から取得した対話行為における付帯情報が表すキーワードを用いて前記知識ベースの検索処理を行い、検索処理の結果に基づいて生成した対話行為を前記エージェント装置に提供することとしてもよい。これにより、知識ベースの検索に利用可能な、ユーザから取得されるキーワードが多様であっても、対話状態の数の低減化が可能となり、例えば強化学習によって行動選択(対話行為の選択)の最適化等が容易に行えるようになり得る。 Further, for example, the incidental information represents a keyword that can be used for the knowledge base search, and the back end uses the keyword represented by the incidental information in the dialogue act acquired from the agent device to search the knowledge base. The processing may be performed, and the dialogue action generated based on the result of the search processing may be provided to the agent device. This makes it possible to reduce the number of dialogue states even if the keywords obtained from the user are diverse, which can be used for knowledge-based search. For example, reinforcement learning is used to optimize action selection (selection of dialogue action). It can be easily converted.

また、前記バックエンドは、前記知識ベースの検索処理の結果が充分に絞り込まれたか否かを判定し、充分に絞り込まれたと判定した場合には当該結果を表す対話行為を前記エージェント装置に提供し、充分に絞り込まれていないと判定した場合には前記検索処理の結果を絞り込むために有効なキーワードを表す対話行為を前記エージェント装置に提供することとしてもよい。これにより、所望の情報を特定するための絞込みを対話的に行えるようになり得る。 Further, the back end determines whether or not the result of the knowledge-based search process is sufficiently narrowed down, and if it is determined that the result is sufficiently narrowed down, provides the agent device with an action of dialogue representing the result. If it is determined that the search process is not sufficiently narrowed down, the agent device may be provided with an action of dialogue representing a keyword effective for narrowing down the result of the search process. As a result, it may be possible to interactively narrow down the information to identify the desired information.

また、本発明の一態様に係る対話方法は、自然言語で表現される情報をユーザとの間で交換するフロントエンドと、知識ベースの検索に基づく情報の提供を行うバックエンドと、前記フロントエンド及び前記バックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行うエージェント装置とを含む対話システムにおいて用いられる対話方法であって、前記エージェント装置が、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、前記エージェント装置が、前記決定ステップで決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの一方へ提供する提供ステップとを含み、前記決定ステップでは前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。これにより、対話行為のバリエーションが多くなる要因となる付帯情報を除いて、対話行為タイプの系列から行動を決定するので、対話状態の数の低減化が可能となり、効率的に対話状態に応じた制御を行うことができるようになる。 Further, the dialogue method according to one aspect of the present invention includes a front end for exchanging information expressed in natural language with a user, a back end for providing information based on a knowledge base search, and the front end. A dialogue method used in a dialogue system including each of the backends and an agent device that exchanges dialogue actions, which is information in a predetermined dialogue action format composed of a dialogue action type and incidental information. A decision step in which the agent device determines a dialogue action for provision according to a dialogue action acquired from one of the front end and the back end, and a decision step in which the agent device determines the dialogue action for provision determined in the determination step. Including a providing step of providing an action to one of the front end and the back end, the determination step sequentially acquires the dialogue action type in the providing dialogue action from the set of the front end and the back end. The decision is made based on the series of dialogue type, not based on the series of incidental information in the dialogue. As a result, the action is determined from the series of dialogue action types, excluding the incidental information that causes many variations of the dialogue action, so that the number of dialogue states can be reduced and the dialogue state can be efficiently adjusted. You will be able to control.

また、例えば、前記決定ステップは、前記フロントエンド及び前記バックエンドの集合から対話行為を逐次取得し、取得した対話行為における付帯情報と対話行為タイプとを分離する分離サブステップと、前記分離サブステップで分離された対話行為タイプを観測とし、当該観測に基づいて、観測に対応して行動を決定するための基準となる信念状態情報を参照して、行動としての対話行為タイプを決定する行動決定サブステップと、前記行動決定サブステップで決定された対話行為タイプと前記分離サブステップで分離された付帯情報とを合成することで提供用の対話行為を生成する合成サブステップと、前記分離サブステップで分離された対話行為タイプの系列である観測と、前記行動決定サブステップで決定された対話行為タイプの系列である行動とに応じて前記信念状態情報を更新する更新ステップとを含むこととしてもよい。これにより、付帯情報を用いずに対話行為タイプの系列によって効率的に信念状態を更新し得る。 Further, for example, the determination step sequentially acquires a dialogue action from the front end and the back end set, and separates the incidental information and the dialogue action type in the acquired dialogue action, and the separation substep. The dialogue action type separated by is used as an observation, and based on the observation, the action decision to determine the dialogue action type as an action is made by referring to the belief state information that is the reference for determining the action in response to the observation. A synthetic sub-step that generates a dialogue action for provision by synthesizing a sub-step, a dialogue action type determined in the action determination sub-step, and ancillary information separated in the separation sub-step, and the separation sub-step. It may also include an observation that is a sequence of dialogue action types separated in, and an update step that updates the belief state information according to an action that is a sequence of dialogue action types determined in the action determination substep. Good. As a result, the belief state can be efficiently updated by the dialogue type series without using incidental information.

また、本発明の一態様に係るプログラムは、ユーザインタフェース処理を行うフロントエンド、及び、情報処理を行うバックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行う対話制御処理を、コンピュータに実行させるためのプログラムであって、前記対話制御処理は、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、前記決定ステップで決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの一方へ提供する提供ステップとを含み、前記決定ステップでは前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。このプログラムをコンピュータにインストールすれば、コンピュータが対話エージェントとしての装置として機能し、対話行為のバリエーションが多くなる要因となる付帯情報を除いて、対話行為タイプの系列から行動を決定するので、対話状態の数の低減化が可能となる。これにより、強化学習により行動選択の最適化を行う場合における最適化の負荷が抑えられ、最適化が容易となり得る。 Further, the program according to one aspect of the present invention includes information in a predetermined dialogue action format composed of a front end that performs user interface processing, a back end that performs information processing, and a dialogue action type and incidental information. A program for causing a computer to execute a dialogue control process for giving and receiving a certain dialogue action, and the dialogue control process is a dialogue for providing according to a dialogue action acquired from one of the front end and the back end. The decision step includes a decision step for determining an action and a provision step for providing the offer dialogue action determined in the decision step to one of the front end and the back end, and the decision step includes the offer dialogue. The dialogue action type in the action is determined not based on the series of incidental information but based on the series of dialogue action types in the dialogue action sequentially acquired from the front end and the set of the back ends. If this program is installed on the computer, the computer functions as a device as a dialogue agent, and the action is determined from the series of dialogue action types, except for the incidental information that causes many variations of the dialogue action. It is possible to reduce the number of. As a result, the load of optimization when optimizing the action selection by reinforcement learning can be suppressed, and the optimization can be facilitated.

なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD−ROM等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。 It should be noted that these comprehensive or specific embodiments may be realized by a system, a method, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, and the system, method, integrated circuit, computer. It may be realized by any combination of programs or recording media.

以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の包括的又は具体的な一例を示すものである。以下の実施の形態で示される数値、形状、構成要素、構成要素の配置、ステップ、ステップの順序等は、一例であって本発明を限定するものではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. It should be noted that all of the embodiments described below show a comprehensive or specific example of the present invention. The numerical values, shapes, components, arrangement of components, steps, order of steps, etc. shown in the following embodiments are examples and do not limit the present invention. Further, among the components in the following embodiments, the components not described in the independent claims are components that can be arbitrarily added. Further, each figure is a schematic view and is not necessarily exactly illustrated.

(提供するサービスの全体像)
まず、本実施の形態における対話システムが提供するサービスの態様について説明する。
(Overview of services provided)
First, an aspect of the service provided by the dialogue system in the present embodiment will be described.

図1Aは、本実施の形態における対話システム10が提供するサービスの態様の一例を示す図である。対話システム10は、グループ1100、データセンタ運営会社1110及びサービスプロバイダ1120を備える。 FIG. 1A is a diagram showing an example of a mode of service provided by the dialogue system 10 in the present embodiment. The dialogue system 10 includes a group 1100, a data center operating company 1110, and a service provider 1120.

グループ1100は、例えば企業、団体又は家庭等の施設(例えばビルディング、住宅等)であり、その規模を問わない。グループ1100は、機器1101及びホームゲートウェイ1102を備える。機器1101は、ユーザと何らかの方法で情報を交換するためのユーザインタフェースを有する。機器1101は、例えば、インターネットと接続可能な機器(例えば、スマートフォン、パーソナルコンピュータ(PC)、テレビ等)である。なお、機器1101は、それ自身ではインターネットと接続不可能な機器(例えば、洗濯機、冷蔵庫等)であってもよく、ホームゲートウェイ1102を介してインターネットと接続可能となる機器であってもよい。なお、ホームゲートウェイ1102が必要ない場合もある。ユーザ1010は、機器1101を使用する。機器1101が、インターネットに無線接続可能で携帯可能な機器(例えばスマートフォン、ノートPC等)であってもよく、この場合には、ユーザ1010及び機器1101は、必ずしもグループ1100内に所在していなくてもよい。なお、機器1101は、1台の機器に限られず、機器1101が、複数台の機器により構成されているとしてもよい。 Group 1100 is, for example, a facility such as a company, a group, or a home (for example, a building, a house, etc.), regardless of its size. Group 1100 includes equipment 1101 and a home gateway 1102. The device 1101 has a user interface for exchanging information with the user in some way. The device 1101 is, for example, a device that can connect to the Internet (for example, a smartphone, a personal computer (PC), a television, etc.). The device 1101 may be a device that cannot be connected to the Internet by itself (for example, a washing machine, a refrigerator, etc.), or a device that can be connected to the Internet via the home gateway 1102. In some cases, the home gateway 1102 is not required. User 1010 uses device 1101. The device 1101 may be a device that can be wirelessly connected to the Internet and is portable (for example, a smartphone, a notebook PC, etc.). In this case, the user 1010 and the device 1101 are not necessarily located in the group 1100. May be good. The device 1101 is not limited to one device, and the device 1101 may be composed of a plurality of devices.

データセンタ運営会社1110は、クラウドサーバ1111を備える。クラウドサーバ1111は、インターネットを介して様々な機器と連携するコンピュータであり、例えば仮想化サーバである。クラウドサーバ1111は、例えば、通常のデータベース管理ツール等で扱うことが困難な巨大なデータ(ビッグデータ)等を管理する。データセンタ運営会社1110は、データの管理、クラウドサーバ1111の管理等を行っている。なお、データセンタ運営会社1110は、データの管理又はクラウドサーバ1111の管理のみを行っている管理会社に限られず、他の事業を併せて行っている会社であってもよく、例えば、機器1101を開発又は製造している機器メーカであってもよい。また、データセンタ運営会社1110は一つの会社に限られず、例えば、図1Bに示すように、機器メーカ及び管理会社が共同又は分担してデータの管理又はクラウドサーバ1111の管理を行っている場合は、機器メーカ及び管理会社の両者がデータセンタ運営会社1110に該当し得る。 The data center operating company 1110 includes a cloud server 1111. The cloud server 1111 is a computer that cooperates with various devices via the Internet, and is, for example, a virtualization server. The cloud server 1111 manages, for example, huge data (big data) that is difficult to handle with a normal database management tool or the like. The data center operating company 1110 manages data, manages the cloud server 1111 and the like. The data center operating company 1110 is not limited to a management company that only manages data or cloud server 1111, and may be a company that also manages other businesses. For example, the device 1101 may be used. It may be an equipment manufacturer that develops or manufactures. The data center operating company 1110 is not limited to one company. For example, as shown in FIG. 1B, when the equipment manufacturer and the management company jointly or share data management or cloud server 1111 management. , Both the equipment manufacturer and the management company may fall under the data center operating company 1110.

サービスプロバイダ1120は、サーバ1121を備える。サーバ1121は、例えば1台又は複数台のコンピュータで実現され、その規模は問わず、記憶媒体として大容量のハードディスク等のストレージを備えてもよいし、例えば、PC内のメモリ等しか備えていなくてもよい。なお、サーバ1121が必ずしも記憶媒体を備えていなくてもよい。 Service provider 1120 includes server 1121. The server 1121 is realized by, for example, one or a plurality of computers, and may be provided with a storage such as a large-capacity hard disk as a storage medium regardless of the scale, or, for example, only the memory in the PC or the like. You may. Note that the server 1121 does not necessarily have to include a storage medium.

次に、上述の態様の対話システム10における情報の流れを説明する。 Next, the flow of information in the dialogue system 10 of the above-described aspect will be described.

まず、グループ1100の機器1101は、ユーザインタフェースを介して取得した入力情報を、直接或いはホームゲートウェイ1102を介してデータセンタ運営会社1110のクラウドサーバ1111に送信する。機器1101においてユーザ1010による入力情報の入力に用いられるユーザインタフェースは、例えば、キーボード、タッチパネル、或いは、既存の音声認識技術を用いた音声入力装置等である。クラウドサーバ1111は、機器1101からの入力情報を取得する。 First, the device 1101 of the group 1100 transmits the input information acquired via the user interface to the cloud server 1111 of the data center operating company 1110 directly or via the home gateway 1102. The user interface used for inputting input information by the user 1010 in the device 1101 is, for example, a keyboard, a touch panel, a voice input device using existing voice recognition technology, or the like. The cloud server 1111 acquires the input information from the device 1101.

次に、データセンタ運営会社1110のクラウドサーバ1111は、機器1101からの入力情報に基づく情報をサービスプロバイダ1120のサーバ1121に送信する。この入力情報に基づく情報は、入力情報の少なくとも一部と同一の情報を含むものであっても、その同一の情報を含まず入力情報に対して演算等の処理を施した結果としての情報であってもよい。また、この入力情報に基づく情報の送信の単位は、いかなる単位であってもよい。サーバ1121は、クラウドサーバ1111からの情報を取得する。 Next, the cloud server 1111 of the data center operating company 1111 transmits information based on the input information from the device 1101 to the server 1121 of the service provider 1120. The information based on this input information is information as a result of performing arithmetic processing or the like on the input information without including the same information even if the information includes at least a part of the input information. There may be. Further, the unit of information transmission based on this input information may be any unit. Server 1121 acquires information from cloud server 1111.

そして、サービスプロバイダ1120のサーバ1121は、クラウドサーバ1111からの情報に対応して、ユーザへの提供用の情報を特定して、その提供用の情報をユーザ1010に提供すべく、クラウドサーバ1111に送信する。クラウドサーバ1111は、サーバ1121からの提供用の情報を機器1101に転送する又はその提供用の情報に対して演算等の処理を施した結果としての情報を機器1101に送信する。これにより、機器1101のユーザインタフェースからユーザ1010に情報が提供される。機器1101においてユーザ1010への情報の提供に用いられるユーザインタフェースは、例えば、ディスプレイ、或いは、既存の音声合成技術を用いた音声出力装置等である。 Then, the server 1121 of the service provider 1120 identifies the information for provision to the user in response to the information from the cloud server 1111 and provides the cloud server 1111 with the information for provision to the user 1010. Send. The cloud server 1111 transfers the information for provision from the server 1121 to the device 1101, or transmits the information as a result of performing processing such as calculation on the information for the provision to the device 1101. As a result, information is provided to the user 1010 from the user interface of the device 1101. The user interface used in the device 1101 to provide information to the user 1010 is, for example, a display, a voice output device using existing voice synthesis technology, or the like.

なお、サーバ1121が、クラウドサーバ1111を介さずに機器1101と通信を行うことで、ユーザ1010からの入力情報の取得、及び、提供用の情報の提供を行うこととしてもよい。また、対話システム10は、上述した例と異なる態様であってもよい。例えば、対話システム10において、データセンタ運営会社1110及びサービスプロバイダ1120を省いてもよく、機器1101がユーザから取得した入力情報に基づいて、提供用の情報を特定して、その提供用の情報をユーザに提供してもよい。 Note that the server 1121 may acquire input information from the user 1010 and provide information for provision by communicating with the device 1101 without going through the cloud server 1111. Further, the dialogue system 10 may have a mode different from the above-described example. For example, in the dialogue system 10, the data center operating company 1110 and the service provider 1120 may be omitted, and the information for provision is specified based on the input information acquired from the user by the device 1101 and the information for provision is specified. It may be provided to the user.

(実施の形態1)
(構成)
以下、一例としてPOMDPモデルを用いた対話システム10においてユーザと情報を交換する対話方法を行うための構成について説明する。
(Embodiment 1)
(Constitution)
Hereinafter, as an example, a configuration for performing a dialogue method for exchanging information with a user in the dialogue system 10 using the POMDP model will be described.

一般的に、POMDPモデルは、状態の集合Sと、行動の集合Aと、観測の集合Zと、状態遷移行列Tと、観測行列Oと、報酬行列Rと、信念状態の初期状態B0というモデル要素で定義される。ある環境内でエージェントが現在の状態を観測して取るべき行動を決定するPOMDPモデルを用いた従来の対話システムでは、ユーザを環境、システム(コンピュータシステム)をエージェントと対応づけ、ユーザの対話行為を観測とし、システムの対話行為を行動とみなす。これに対して、対話システム10では、1つのエージェントと2つの環境という構造でのモデル化を行う。 In general, the POMDP model is a model of a set of states S, a set of actions A, a set of observations Z, a state transition matrix T, an observation matrix O, a reward matrix R, and an initial state B0 of a belief state. Defined by the element. In a conventional dialogue system that uses a POMDP model in which an agent observes the current state and decides an action to be taken in a certain environment, the user is associated with the environment and the system (computer system) is associated with the agent, and the user's dialogue is performed. It is an observation, and the dialogue of the system is regarded as an action. On the other hand, in the dialogue system 10, modeling is performed with a structure of one agent and two environments.

図2は、対話システム10の概略構成図である。 FIG. 2 is a schematic configuration diagram of the dialogue system 10.

図2に示すように、対話システム10は、エージェント2001と、第1の環境としてのフロントエンド2002と、第2の環境としてのバックエンド2005と、知識ベース206とを備える。 As shown in FIG. 2, the dialogue system 10 includes an agent 2001, a front end 2002 as a first environment, a back end 2005 as a second environment, and a knowledge base 206.

エージェント2001は、対話エージェントとしての装置(エージェント装置)である。エージェント2001は、例えば、プロセッサ(マイクロプロセッサ)、メモリ等を備えるコンピュータに実装され得る。具体的には、例えば、メモリに格納されたプログラムをプロセッサが実行すること等によりエージェント2001の機能が実現され得る。エージェント2001は、フロントエンド2002とバックエンド2005との間で対話行為の交換を仲介する。即ち、エージェント2001は、フロントエンド2002及びバックエンド2005の各々と、対話行為の授受を行う。対話行為は、対話行為タイプと付帯情報とで構成される所定形式(所定対話行為形式)の情報である。 The agent 2001 is a device (agent device) as a dialogue agent. Agent 2001 may be implemented in a computer including, for example, a processor (microprocessor), memory, and the like. Specifically, for example, the function of the agent 2001 can be realized by the processor executing a program stored in the memory. Agent 2001 mediates the exchange of dialogue between the front end 2002 and the back end 2005. That is, the agent 2001 exchanges and exchanges dialogues with each of the front end 2002 and the back end 2005. The dialogue act is information in a predetermined format (predetermined dialogue act format) composed of the dialogue act type and incidental information.

フロントエンド2002は、ユーザインタフェース処理を行う装置であり、自然言語で表現される情報をユーザとの間で交換する。フロントエンド2002は、例えば、エージェント2001と同一又は別のコンピュータに実装され得る。例えば、コンピュータのユーザインタフェース、及び、コンピュータのメモリに格納されたプログラムを実行するプロセッサ等により、フロントエンド2002の機能が実現され得る。 The front end 2002 is a device that performs user interface processing, and exchanges information expressed in natural language with a user. The front end 2002 may be implemented, for example, on the same or different computer as the agent 2001. For example, the functions of the front end 2002 can be realized by the user interface of the computer, the processor that executes the program stored in the memory of the computer, and the like.

バックエンド2005は、検索処理等の情報処理を行う装置であり、知識ベース206への問い合わせ(検索処理)に基づく情報の提供を含む知識処理を行う。バックエンド2005は、例えば、エージェント2001と同一又は別のコンピュータに実装され得る。例えば、コンピュータの通信インタフェース、及び、コンピュータのメモリに格納されたプログラムを実行するプロセッサ等により、バックエンド2005の機能が実現され得る。 The backend 2005 is a device that performs information processing such as search processing, and performs knowledge processing including provision of information based on an inquiry (search processing) to the knowledge base 206. The backend 2005 may be implemented, for example, on the same or different computer as the agent 2001. For example, the functions of the back end 2005 can be realized by a communication interface of a computer, a processor that executes a program stored in the memory of the computer, and the like.

エージェント2001と、フロントエンド2002及びバックエンド2005の各々とが、互いに離れた複数の装置で実現される場合には、エージェント2001と、フロントエンド2002及びバックエンド2005の各々とは直接又は他装置を介して通信する。 When the agent 2001 and each of the front end 2002 and the back end 2005 are realized by a plurality of devices separated from each other, the agent 2001 and each of the front end 2002 and the back end 2005 may directly or another device. Communicate via.

知識ベース206は、情報を保持する装置であり、例えば、情報を表すデータを構造化して管理するデータベース管理装置である。知識ベース206は、例えば、バックエンド2005と同一又は別のコンピュータに実装され得る。例えば、コンピュータにおけるメモリ、ハードディスク等の記憶媒体等によって知識ベース206が実現され得る。問診タスクを遂行するための対話システム10においては、知識ベース206は、問診タスクの遂行に有用な情報(例えば症状と病気とに関連する情報)を保持している。知識ベース206は複数台の装置で構成されていてもよい。 The knowledge base 206 is a device for holding information, for example, a database management device for structuring and managing data representing information. The knowledge base 206 may be implemented, for example, on the same or different computer as the backend 2005. For example, the knowledge base 206 can be realized by a memory in a computer, a storage medium such as a hard disk, or the like. In the dialogue system 10 for performing the interview task, the knowledge base 206 holds information useful for performing the interview task (for example, information related to symptoms and illness). The knowledge base 206 may be composed of a plurality of devices.

図2では、問診タスクを遂行するための対話システム10における対話行為を例示している。観測2003は、フロントエンド2002からエージェント2001が取得する対話行為の例である。観測2006は、バックエンド2005からエージェント2001が取得する対話行為の例である。行動2004は、エージェント2001がフロントエンド2002へ提供する対話行為の例である。また、行動2007は、エージェント2001がバックエンド2005へ提供する対話行為の例である。観測2003、観測2006、行動2004、及び、行動2007は、いずれも所定対話行為形式の情報(対話行為)の例である。この例での文字列情報の対話行為において、括弧より前の部分(例えば「Provide」、「Confirm」等)が対話行為タイプであり、括弧内の部分(例えば「めまい」、「頭痛」等)が付帯情報である。対話行為タイプは、例えば、予め定められた「Provide」、「Confirm」、「Check」、「push」等といった複数の値(対話行為タイプ値)のいずれかを表し、対話行為タイプ値は例えば文字列で表される。この例では対話行為タイプ値を、英単語で表現しているがこれは一例に過ぎず、いかなる言語或いは規則に基づいて表現してもよい。付帯情報は、例えば、キーワードを示す文字列情報である。 FIG. 2 illustrates a dialogue action in the dialogue system 10 for carrying out an interview task. Observation 2003 is an example of a dialogue act acquired by the agent 2001 from the front end 2002. Observation 2006 is an example of a dialogue act acquired by Agent 2001 from the backend 2005. Action 2004 is an example of a dialogue act provided by Agent 2001 to Front End 2002. Action 2007 is also an example of a dialogue act provided by Agent 2001 to the backend 2005. Observation 2003, observation 2006, action 2004, and action 2007 are all examples of information (dialogue action) in a predetermined dialogue action form. In the dialogue action of the character string information in this example, the part before the parentheses (for example, "Provide", "Confirm", etc.) is the dialogue action type, and the part inside the parentheses (for example, "dizziness", "headache", etc.) Is incidental information. The dialogue type represents one of a plurality of predetermined values (dialogue type values) such as "Provide", "Confirm", "Check", "push", etc., and the dialogue type value is, for example, a character. Represented by columns. In this example, the dialogue type value is expressed in English words, but this is only an example and may be expressed based on any language or rule. The incidental information is, for example, character string information indicating a keyword.

対話システム10においては、エージェント2001と、フロントエンド2002及びバックエンド2005の集合との間で授受される対話行為の系列に対応して、タスクが遂行される。問診タスクの例では、ユーザから対話的にフロントエンド2002を介してエージェント2001に収集された情報に基づき、バックエンド2005で病気の特定が行われる。 In the dialogue system 10, tasks are performed corresponding to a sequence of dialogues between the agent 2001 and the set of front-end 2002 and back-end 2005. In the example of the interview task, the back end 2005 identifies the disease based on the information collected from the user interactively through the front end 2002 to the agent 2001.

以下、エージェント2001、フロントエンド2002、及び、バックエンド2005の、より詳細な構成について説明する。 Hereinafter, more detailed configurations of the agent 2001, the front end 2002, and the back end 2005 will be described.

図2に示すように、フロントエンド2002は、ユーザインタフェース処理に係る入力処理部201と出力処理部208とを備える。エージェント2001は、決定部200と提供部205とを備える。バックエンド2005は知識処理部207を備える。 As shown in FIG. 2, the front end 2002 includes an input processing unit 201 and an output processing unit 208 related to user interface processing. The agent 2001 includes a determination unit 200 and a providing unit 205. The backend 2005 includes a knowledge processing unit 207.

決定部200は、フロントエンド2002及びバックエンド2005の一方から取得した対話行為に応じて、フロントエンド2002及びバックエンド2005の一方への提供用の対話行為を決定する機能を担う。この機能を実現すべく決定部200は、分離部202と行動決定部203と合成部204とを備える。なお、決定部200は、提供用の対話行為における対話行為タイプを、過去に決定した対話行為タイプの系列にも基づいて、決定するように構成され得る。 The determination unit 200 has a function of determining a dialogue action for provision to one of the front end 2002 and the back end 2005 according to the dialogue action acquired from one of the front end 2002 and the back end 2005. In order to realize this function, the determination unit 200 includes a separation unit 202, an action determination unit 203, and a synthesis unit 204. The decision unit 200 may be configured to determine the dialogue action type in the dialogue action for provision based on the series of dialogue action types determined in the past.

入力処理部201は、例えば、キーボード、タッチパネル、或いは、音声入力装置等のユーザインタフェース等によるユーザからの入力である自然言語表現(文字列)を既存の自然言語処理技術(例えば言語理解技術)により対話行為に変換し、対話行為に信頼度を付けて出力する。これにより、対話行為及び信頼度が分離部202により取得される。入力処理部201は、ユーザの入力が音声である場合に入力された音声を音声認識技術により文字化する前処理を行うこととしてもよい。 The input processing unit 201 uses existing natural language processing technology (for example, language understanding technology) to input a natural language expression (character string) input from a user using, for example, a keyboard, a touch panel, or a user interface such as a voice input device. Convert to dialogue action and output with confidence in the dialogue action. As a result, the dialogue act and the reliability are acquired by the separation unit 202. The input processing unit 201 may perform preprocessing for converting the input voice into characters by voice recognition technology when the user's input is voice.

分離部202は、フロントエンド2002の入力処理部201或いはバックエンド2005の知識処理部207から取得した対話行為を、対話行為タイプと付帯情報とに分離する。例えば、対話行為「Provide(頭痛)」は、対話行為タイプ「Provide」と付帯情報「頭痛」とに分離される。分離部202は、分離した対話行為タイプを行動決定部203に入力する。即ち、分離部202は、フロントエンド2002及びバックエンド2005の集合から対話行為を逐次取得し、取得した対話行為から付帯情報を分離することで対話行為タイプの系列を行動決定部203に観測として逐次入力する。また、分離部202は、分離した付帯情報を合成部204へ入力する。 The separation unit 202 separates the dialogue action acquired from the input processing unit 201 of the front end 2002 or the knowledge processing unit 207 of the back end 2005 into the dialogue action type and the incidental information. For example, the dialogue action "Provide (headache)" is divided into the dialogue action type "Provide" and the incidental information "headache". The separation unit 202 inputs the separated dialogue action type to the action determination unit 203. That is, the separation unit 202 sequentially acquires the dialogue action from the set of the front end 2002 and the back end 2005, separates the incidental information from the acquired dialogue action, and sequentially observes the dialogue action type series in the action determination unit 203. input. Further, the separation unit 202 inputs the separated incidental information to the synthesis unit 204.

行動決定部203は、POMDPモデルを用いた既存の行動決定技術により、観測として逐次入力される対話行為タイプの系列に基づいて、行動としての対話行為タイプを決定して出力する。行動決定部203により例えば、対話行為タイプ「push」が決定され、出力される。POMDPモデルで参照される方策(policy)の学習には既存の技術を利用し得る。なお、POMDPで扱う状態の確率分布(信念状態とも称する)が、0か1の値しかとらないケースでは、モデルをMDP(マルコフ決定過程:Markov Decision Process)モデルとみなすことができる。つまり行動決定部203による行動の決定には、MDPモデルによるものも含まれる。これらのモデル(POMDPモデル、MDPモデル)では、選択的な行動決定のために参照される方策の最適化を、強化学習(Reinforcement Learning)によって行うことができる。なお、行動決定部203では、観測に基づいて、信念状態及び方策を参照して、行動を決定する。行動決定部203は、この信念状態を示す情報としての信念状態情報を保持しており、観測と決定した行動とに応じて信念状態情報を更新し得る。また、行動決定部203は、決定した行動としての対話行為タイプの履歴を保持してもよい。そして、行動決定部203は、行動としての対話行為タイプの決定を、過去に決定した行動としての対話行為タイプの系列にも基づいて行うこととしてもよい。 The action determination unit 203 determines and outputs the dialogue action type as an action based on the series of dialogue action types sequentially input as observations by the existing action decision technique using the POMDP model. For example, the dialogue action type "push" is determined and output by the action determination unit 203. Existing techniques can be used to learn the policies referenced in the POMDP model. In the case where the probability distribution (also referred to as a belief state) of the state handled by POMDP takes only a value of 0 or 1, the model can be regarded as an MDP (Markov Decision Process) model. That is, the action determination by the action determination unit 203 includes the one based on the MDP model. In these models (POMDP model, MDP model), the optimization of the measures referred to for selective behavioral decision can be performed by reinforcement learning (Reinforcement Learning). In addition, the action determination unit 203 determines the action based on the observation with reference to the belief state and the policy. The action determination unit 203 holds the belief state information as information indicating the belief state, and can update the belief state information according to the observation and the determined action. In addition, the action decision unit 203 may keep a history of the dialogue action type as the decided action. Then, the action determination unit 203 may determine the dialogue action type as an action based on the series of dialogue action types as the actions determined in the past.

合成部204は、分離部202で分離された対話行為タイプに基づいて行動決定部203で決定されて出力された対話行為タイプと、分離部202で分離された付帯情報とを合成することで、提供用の対話行為を生成して出力する。合成部204により、例えば、対話行為「push(頭痛)」が出力される。 The synthesis unit 204 synthesizes the dialogue action type determined and output by the action determination unit 203 based on the dialogue action type separated by the separation unit 202 and the incidental information separated by the separation unit 202. Generate and output a dialogue action for provision. For example, the dialogue act "push (headache)" is output by the synthesis unit 204.

提供部205は、決定部200により決定された提供用の対話行為を、フロントエンド2002及びバックエンド2005の一方へ提供する機能を担う。提供部205は、合成部204から出力された対話行為の出力先となる環境を、フロントエンド2002及びバックエンド2005のいずれかに切り替え得る。具体的には、提供部205は、提供用の対話行為の出力先を、出力処理部208にすべきか、知識処理部207にすべきかを、対話行為の出力先を区別するために予め定められた基準に基づいて判定する。予め定め得られた基準は、例えば、対話行為の先頭の文字が大文字か小文字かにより出力先を区別する基準である。提供部205は、例えば行動2004で示すように提供用の対話行為の先頭の文字(つまり対話行為タイプの先頭の文字)が大文字であればその対話行為を出力処理部208に出力する。また、提供部205は、例えば行動2007で示すように提供用の対話行為の先頭の文字(つまり対話行為タイプの先頭の文字)が小文字であればその対話行為を知識処理部207に出力する。 The providing unit 205 has a function of providing the dialogue action for providing determined by the determining unit 200 to one of the front end 2002 and the back end 2005. The providing unit 205 can switch the environment to which the dialogue act output from the combining unit 204 is output to either the front end 2002 or the back end 2005. Specifically, the providing unit 205 determines in advance whether the output destination of the dialogue act for provision should be the output processing unit 208 or the knowledge processing unit 207 in order to distinguish the output destination of the dialogue act. Judgment is based on the above criteria. The predetermined standard is, for example, a standard for distinguishing the output destination depending on whether the first character of the dialogue act is uppercase or lowercase. For example, if the first character of the dialogue action for provision (that is, the first character of the dialogue action type) is uppercase as shown in the action 2004, the providing unit 205 outputs the dialogue action to the output processing unit 208. Further, if the first character of the dialogue action for provision (that is, the first character of the dialogue action type) is lowercase as shown in the action 2007, the providing unit 205 outputs the dialogue action to the knowledge processing unit 207.

出力処理部208は、提供部205から出力された対話行為の示す意味表現を、応答文生成技術(例えば既存の文生成技術)によって、応答文に変換して、文字列としてユーザに提供する。文字列のユーザへの提供は、例えば、ディスプレイ、音声出力装置等のユーザインタフェースによって行われる。出力処理部208は、ユーザへ提供すべき文字列を、音声合成技術により音声化する後処理を行うこととしてもよい。 The output processing unit 208 converts the semantic expression indicated by the dialogue act output from the providing unit 205 into a response sentence by a response sentence generation technology (for example, an existing sentence generation technology) and provides the user as a character string. The character string is provided to the user by, for example, a user interface such as a display or an audio output device. The output processing unit 208 may perform post-processing to convert the character string to be provided to the user into a voice by a voice synthesis technique.

知識処理部207は、知識ベース206を参照して、提供部205から出力された対話行為に応じた情報処理を行い、その結果を示す対話行為を、分離部202へ提供する。知識処理部207における情報処理は、例えば、知識ベース206から情報を検索して抽出する検索処理であり、例えば、エージェント2001からこれまでに取得した対話行為における付帯情報が表す文字列としてのキーワードのリストを、検索キーワード(検索用のキーワード)の集合として、知識ベースの内容を、AND検索する検索処理を行う。知識処理部207は、検索処理の結果に基づいて対話行為を生成して、生成した対話行為をエージェント2001の分離部202へ提供する。例えば、知識処理部207は、検索処理の結果が、充分に絞り込まれたか否かを判定し、充分に絞り込まれたことを示すように予め定められた所定の条件(例えば検索された情報の数の上限等の条件)が満たされて充分に絞り込まれたと判定した場合には、その検索結果を示す対話行為を生成して出力(分離部202へ提供)する。一方、充分に絞り込まれていないと判定した場合には、知識処理部207は、検索処理の結果を絞り込むために有効なキーワード(検索キーワード)を推定して、そのキーワードを示す対話行為を生成して出力(分離部202へ提供)する。検索処理の結果を絞り込むために有効なキーワードを示す対話行為の一例は、例えば、付帯情報として「発熱」を含ませた「suggest(発熱)」である。 The knowledge processing unit 207 performs information processing according to the dialogue action output from the providing unit 205 with reference to the knowledge base 206, and provides the separating unit 202 with the dialogue action indicating the result. The information processing in the knowledge processing unit 207 is, for example, a search process for searching and extracting information from the knowledge base 206, for example, a keyword as a character string represented by incidental information in the dialogue act acquired from the agent 2001 so far. A search process is performed in which a list is used as a set of search keywords (keywords for search) to perform an AND search for the contents of the knowledge base. The knowledge processing unit 207 generates a dialogue action based on the result of the search process, and provides the generated dialogue action to the separation unit 202 of the agent 2001. For example, the knowledge processing unit 207 determines whether or not the result of the search process is sufficiently narrowed down, and a predetermined condition (for example, the number of searched information) is set in advance so as to indicate that the search process is sufficiently narrowed down. When it is determined that the conditions such as the upper limit of the above are satisfied and the search results are sufficiently narrowed down, a dialogue action indicating the search result is generated and output (provided to the separation unit 202). On the other hand, when it is determined that the search processing is not sufficiently narrowed down, the knowledge processing unit 207 estimates a keyword (search keyword) effective for narrowing down the search processing result, and generates a dialogue action indicating the keyword. Is output (provided to the separation unit 202). An example of a dialogue act indicating a keyword effective for narrowing down the result of the search process is, for example, "suggest (fever)" including "fever" as incidental information.

このような構成を備えることによりエージェント2001の決定部200では、逐次取得した対話行為における対話行為タイプを抽出して、過去の対話行為タイプの系列に基づき、行動として出力すべき提供用の対話行為における対話行為タイプを決定できる。即ち、エージェント2001では、対話行為における付帯情報に基づく判断を行うことなく、過去の対話行為タイプの系列に基づき、出力すべき対話行為タイプの決定を行うことが可能となっている。 By providing such a configuration, the determination unit 200 of the agent 2001 extracts the dialogue action type in the sequentially acquired dialogue actions, and based on the series of past dialogue action types, the dialogue action for provision to be output as an action. Can determine the type of dialogue in. That is, the agent 2001 can determine the dialogue action type to be output based on the series of past dialogue action types without making a judgment based on the incidental information in the dialogue action.

このように対話行為の種類(対話行為全体の値の各々)ではなく、対話行為タイプの種類(対話行為タイプ値の各々)に基づいて対話行為タイプを決定することにより、対話状態の数を、少なく抑えることができる。対話状態の数を少なく抑えることは、強化学習による行動選択の最適化に有利となる。この最適化の結果としてエージェント2001は、環境の1つであるフロントエンド2002から、観測2003としての情報を取得(収集)するための質問のタイプ等に係る行動2004を状況に応じて適切に選択できるようになり得るし、情報処理の結果として環境の他の1つであるバックエンドから観測2006を得るための行動2007を適切に選択できるようになり得る。これらの選択(例えば質問のタイプの異なる対話行為タイプの選択等)を通じて、エージェント2001により、対話の主体者の制御、不確実な情報の確認の制御等の対話制御処理が行われ得る。 In this way, the number of dialogue states is determined by determining the dialogue type based on the type of dialogue type (each of the dialogue type values) rather than the type of dialogue (each of the values of the entire dialogue). It can be kept low. Keeping the number of dialogue states small is advantageous for optimizing action selection by reinforcement learning. As a result of this optimization, the agent 2001 appropriately selects the action 2004 related to the type of question for acquiring (collecting) information as observation 2003 from the front end 2002, which is one of the environments, according to the situation. It may be possible, and as a result of information processing, it may be possible to appropriately select the action 2007 for obtaining observation 2006 from the other one of the environments, the backend. Through these selections (for example, selection of dialogue action types with different question types), the agent 2001 can perform dialogue control processing such as control of the subject of the dialogue and control of confirmation of uncertain information.

なお、エージェント2001は、取得した対話行為における対話行為タイプと分離した付帯情報については、取得した最新の1つを保持すれば足りる。 It is sufficient for the agent 2001 to keep the latest acquired information for the incidental information separated from the dialogue action type in the acquired dialogue action.

また、バックエンド2005においては、対話開始以降、取得した付帯情報の系列を、メモリ等の一領域であるスタックに積んで管理すると、複数の付帯情報を用いた高度なタスクを遂行可能となる。バックエンド2005での情報処理によって、例えば、「頭痛」、「めまい」等といった症状を表す付帯情報が収集され、これらの症状に基づいて、「病気A」、「病気B」、「病気C」等といった病気が、所望の情報として特定され得る。バックエンド2005においては、取得した対話行為の対話行為タイプを、例えばコマンドの種類として扱い、現在の対話行為タイプのみに応じて処理を行えばよく、対話行為タイプの履歴を管理する必要はない。 Further, in the back end 2005, if the series of acquired incidental information is stacked and managed in a stack which is one area such as a memory after the start of the dialogue, it becomes possible to perform an advanced task using a plurality of incidental information. Information processing in the backend 2005 collects incidental information representing symptoms such as "headache" and "dizziness", and based on these symptoms, "disease A", "disease B", and "disease C". Diseases such as, etc. can be identified as desired information. In the backend 2005, the acquired dialogue action type may be treated as, for example, a command type, and processing may be performed only according to the current dialogue action type, and it is not necessary to manage the history of the dialogue action type.

(動作)
以下、上述した構成を備える対話システム10の動作について説明する。
(motion)
Hereinafter, the operation of the dialogue system 10 having the above-described configuration will be described.

図3は、対話システム10における対話処理の一例を示すフローチャートである。以下、同図に即して、対話に係るエージェント2001の動作に注目して説明する。 FIG. 3 is a flowchart showing an example of dialogue processing in the dialogue system 10. Hereinafter, the operation of the agent 2001 related to the dialogue will be described with reference to the figure.

対話の開始にあたって、まず、エージェント2001は、信念状態を設定する(ステップS31)。信念状態とは、対話の進行状況とユーザの意図をあわせて定義された対話状態に対して、総和が1となるような確率値の集合(確率分布)のことである。例えば、対話開始時にはひとつの対話状態にいると想定し、その状態の確率値を1、それ以外の状態の確率値を0とする。信念状態の設定は、エージェント2001の決定部200が、初期状態としての信念状態を示す信念状態情報をメモリ等の記憶媒体に保持することで行われる。 At the start of the dialogue, the agent 2001 first sets the belief state (step S31). The belief state is a set of probability values (probability distribution) such that the sum is 1 with respect to the dialogue state defined by combining the progress of the dialogue and the intention of the user. For example, it is assumed that the user is in one dialogue state at the start of the dialogue, the probability value of that state is 1, and the probability value of the other states is 0. The belief state is set by the determination unit 200 of the agent 2001 holding the belief state information indicating the belief state as the initial state in a storage medium such as a memory.

エージェント2001の決定部200は、信念状態情報が示す信念状態に基づいて行動を決定する(ステップS32)。具体的には、決定部200の行動決定部203は、どのような信念状態のときにどのような行動を取るべきかという基準の集合である方策を参照し、信念状態に基づいて行動としての対話行為タイプを決定する。決定部200では、行動決定部203において決定された対話行為タイプを含む、提供用の対話行為を提供部205に伝える。 The determination unit 200 of the agent 2001 determines an action based on the belief state indicated by the belief state information (step S32). Specifically, the action decision unit 203 of the decision unit 200 refers to a policy that is a set of criteria for what kind of action should be taken in what belief state, and acts as an action based on the belief state. Determine the type of dialogue. The decision unit 200 conveys to the provider 205 a dialogue action for provision, including the dialogue action type determined by the action decision unit 203.

次に、エージェント2001は、ステップS32で決定された行動が向けられた環境がフロントエンド2002であるか、バックエンド2005であるかを判定する(ステップS33)。具体的には、提供部205が、予め定められた基準に基づいて、提供用の対話行為に応じて出力先を判定する。そして提供部205は、判定結果に応じて、提供用の対話行為を、フロントエンド2002の出力処理部208、及び、バックエンド2005の知識処理部207のいずれかに提供する。 Next, the agent 2001 determines whether the environment to which the action determined in step S32 is directed is the front end 2002 or the back end 2005 (step S33). Specifically, the providing unit 205 determines the output destination according to the dialogue action for providing based on a predetermined standard. Then, the providing unit 205 provides the dialogue act for providing to either the output processing unit 208 of the front end 2002 or the knowledge processing unit 207 of the back end 2005 according to the determination result.

ステップS33での判定の結果として、環境の1つとしてのフロントエンド2002にエージェント2001から対話行為が提供された場合には、フロントエンド2002は、ユーザとのインタラクションを実行する(ステップS34)。つまり、フロントエンド2002の出力処理部208は、提供部205から取得した所定対話行為形式の行動(対話行為)を自然言語に変換してユーザに提示する。また、フロントエンド2002の入力処理部201は、ユーザからの応答(回答)を自然言語の形式で取得して、対話行為の形式に変換し、エージェント2001に提供する。 As a result of the determination in step S33, when the agent 2001 provides the front end 2002 as one of the environments, the front end 2002 executes the interaction with the user (step S34). That is, the output processing unit 208 of the front end 2002 converts the predetermined dialogue action type action (dialogue action) acquired from the providing unit 205 into natural language and presents it to the user. Further, the input processing unit 201 of the front end 2002 acquires the response (answer) from the user in the form of natural language, converts it into the form of dialogue, and provides it to the agent 2001.

一方、ステップS33での判定の結果として、環境の他の1つとしてのバックエンド2005にエージェント2001から対話行為が提供された場合には、バックエンド2005は、知識処理を実行する(ステップS35)。つまり、バックエンド2005の知識処理部207は、提供部205から取得した所定対話行為形式の行動(対話行為)に基づき、知識ベース206の検索処理を行い、検索処理の結果に基づく情報を対話行為の形式にして、エージェント2001に提供する。知識処理部207は、対話行為が知識ベース206の検索用のコマンド(例えば機械語のコマンド)としてそのまま用いることができればその対話行為であるコマンドを実行し、そのまま用いることができなければ機械語のコマンドに変換して実行する。また、知識処理部207は、検索処理の結果としての知識ベース206からの戻り値等に基づく情報を、対話行為の形式にして、エージェント2001に提供する。 On the other hand, as a result of the determination in step S33, when the agent 2001 provides the backend 2005 as another environment, the backend 2005 executes knowledge processing (step S35). .. That is, the knowledge processing unit 207 of the back end 2005 performs a search process of the knowledge base 206 based on a predetermined dialogue action type action (dialogue action) acquired from the providing unit 205, and performs a dialogue action of information based on the result of the search process. Is provided to Agent 2001 in the form of. If the dialogue action can be used as it is as a search command (for example, a machine language command) of the knowledge base 206, the knowledge processing unit 207 executes the command that is the dialogue action, and if it cannot be used as it is, the machine language Convert to a command and execute. Further, the knowledge processing unit 207 provides the agent 2001 with information based on the return value from the knowledge base 206 as a result of the search processing in the form of a dialogue act.

ステップS34又はステップS35に続いて、エージェント2001は、フロントエンド2002又はバックエンド2005から所定対話行為形式の観測(対話行為)を受理(取得)する(ステップS36)。 Following step S34 or step S35, the agent 2001 receives (acquires) the observation (dialogue act) of the predetermined dialogue action form from the front end 2002 or the back end 2005 (step S36).

次に、エージェント2001は、取得した対話行為に基づいて、対話処理を終了すべきか判断する(ステップS37)。例えば、エージェント2001は、観測として、フロントエンド2002から「Acknowledge()」という対話行為を取得したら、対話処理を終了すべきと判断し、対話処理を終了させる。 Next, the agent 2001 determines whether to end the dialogue process based on the acquired dialogue action (step S37). For example, when the agent 2001 acquires the dialogue act "Acknowledge ()" from the front end 2002 as an observation, it determines that the dialogue processing should be terminated and terminates the dialogue processing.

ステップS37で終了と判断しない場合には、エージェント2001は、現在の信念状態と、決定した行動(対話行為タイプの形式の行動)と、環境から得られた観測(対話行為タイプの形式の観測)とに基づき、信念状態を更新する(ステップS38)。つまり決定部200は、信念状態を示す信念状態情報を、取得した対話行為における対話行為タイプの系列と、決定した対話行為タイプの系列とに応じて更新する。 If it is not determined to end in step S37, the agent 2001 determines the current state of belief, the determined action (action in the form of dialogue action), and the observation obtained from the environment (observation in the form of dialogue action type). Based on the above, the belief state is updated (step S38). That is, the determination unit 200 updates the belief state information indicating the belief state according to the series of dialogue action types in the acquired dialogue action and the series of determined dialogue action types.

ステップS38に続いて、エージェント2001は、ステップS32に戻って、ステップS36で取得した対話行為に対応して、行動の決定を行う。 Following step S38, the agent 2001 returns to step S32 and makes an action decision in response to the dialogue action acquired in step S36.

このように、対話処理においては、エージェント2001による、次の決定ステップ及び提供ステップを含む対話制御処理が含まれている。対話処理において、繰り返されるステップS36で、フロントエンド2002及びバックエンド2005のいずれかから対話行為を取得する度に、エージェント2001は、取得した対話行為に応じて提供用の対話行為を決定する決定ステップ(ステップS32)を行う。そしてエージェント2001は、この決定ステップで決定した提供用の対話行為を、フロントエンド2002及びバックエンド2005のいずれかへ提供する提供ステップ(ステップS33〜S35)を行う。決定ステップでは、エージェント2001は、提供用の対話行為における対話行為タイプを、フロントエンド2002及びバックエンド2005の集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。エージェント2001は、対話行為タイプの系列に基づいて、信念状態を更新し、信念状態に基づいて、行動としての対話行為タイプを決定し得る。 As described above, the dialogue processing includes the dialogue control processing by the agent 2001 including the next determination step and the providing step. In the dialogue process, each time the dialogue action is acquired from either the front end 2002 or the back end 2005 in the repeated step S36, the agent 2001 determines the dialogue action for provision according to the acquired dialogue action. (Step S32) is performed. Then, the agent 2001 performs a providing step (steps S33 to S35) of providing the providing dialogue act determined in this determination step to either the front end 2002 or the back end 2005. In the determination step, the agent 2001 bases the dialogue type in the providing dialogue act on the dialogue type sequence, not on the incidental information sequence, in the dialogue action sequentially acquired from the set of front-end 2002 and back-end 2005. To decide. Agent 2001 may update the belief state based on the sequence of dialogue action types and determine the dialogue action type as an action based on the belief state.

このように、エージェント2001における信念状態は、行動の対話行為タイプと観測の対話行為タイプによって逐次更新され、対話処理の開始以降における対話行為タイプの系列の全てを反映した信念状態となっている。このため、エージェント2001は、信念状態に基づいて行動の決定を行えば、対話の進行状況に適合した行動で、かつ、ユーザの意図に適合した行動をとることができる。 As described above, the belief state in the agent 2001 is sequentially updated by the dialogue action type of the action and the dialogue action type of the observation, and is a belief state that reflects all the series of the dialogue action types after the start of the dialogue processing. Therefore, if the agent 2001 determines the action based on the belief state, the agent 2001 can take an action that matches the progress of the dialogue and an action that matches the intention of the user.

以下、バックエンド2005における情報処理の一種である知識処理の一例について、図4A及び図4Bを用いて説明する。 Hereinafter, an example of knowledge processing, which is a type of information processing in the backend 2005, will be described with reference to FIGS. 4A and 4B.

図4Aは、バックエンド2005で参照される知識ベース206の一例を示す図である。 FIG. 4A is a diagram showing an example of the knowledge base 206 referenced in the backend 2005.

知識ベース206は、バックエンド2005の知識処理部207による知識処理において検索対象となるデータベースであり、例えば症状を検索キーワードとして病気を検索するための知識を構造化して管理している。図4Aの表は、知識ベース206の知識内容のイメージの一例を示す。図4Aの表中、ある症状の行と、ある病気の列との交点となるセルには、その病気である場合においてその症状が出やすければ「+」を、その症状が出にくければ「−」を記述している。検索キーワードとして、例えば、症状が出ることを指定する指定キーワードと、症状が出ないことを指定する除外キーワードとに区別して検索を行うこととしてもよい。症状を指定する指定キーワードと除外キーワードとのうちの1つ以上の組み合わせでAND検索を行うことで病気の集合から該当する病気を絞り込むことが可能となる。図4Aの例では、症状Aを指定キーワード(+)とし、症状Dを除外キーワード(−)としてAND検索を行うことで、該当する病気は、病気1のみとなる。図4Aは説明の便宜上の一例に過ぎず、知識ベース206において、検索キーワード(例えば症状)と検索対象名(例えば病気)とは、それぞれ多数(例えば数十、数千以上等)であり得る。 The knowledge base 206 is a database to be searched in the knowledge processing by the knowledge processing unit 207 of the backend 2005, and for example, the knowledge for searching for a disease using a symptom as a search keyword is structured and managed. The table of FIG. 4A shows an example of an image of the knowledge content of the knowledge base 206. In the table of FIG. 4A, in the cell at the intersection of the row of a certain symptom and the column of a certain disease, "+" is displayed if the symptom is likely to occur in the case of the disease, and "-" is displayed if the symptom is difficult to appear. Is described. As the search keyword, for example, the search may be performed by distinguishing between a designated keyword that specifies that a symptom appears and an exclusion keyword that specifies that a symptom does not occur. By performing an AND search with one or more combinations of a designated keyword that specifies a symptom and an exclusion keyword, it is possible to narrow down the corresponding disease from the set of diseases. In the example of FIG. 4A, by performing an AND search with the symptom A as the designated keyword (+) and the symptom D as the exclusion keyword (−), the corresponding disease is only the disease 1. FIG. 4A is only an example for convenience of explanation, and in the knowledge base 206, the search keyword (for example, a symptom) and the search target name (for example, a disease) can be a large number (for example, tens, thousands or more), respectively.

図4Bは、バックエンド2005の知識処理部207による知識処理の一例を、質問木で表した概念図である。 FIG. 4B is a conceptual diagram in which an example of knowledge processing by the knowledge processing unit 207 of the back end 2005 is represented by a question tree.

図4Bの例は、図4Aの表で例示される知識ベース206を用いて、症状に係る質問により病気を特定するという問診タスクを遂行することに関連した質問木の例であり、ここでは、説明の便宜上、比較的単純な質問木を示している。図4Bの質問木のルートノードは最初の質問を表し、症状Aが発症しているかどうかの質問を「症状A」と表現している。リーフノードは、質問により特定された病気を示している。ルートとリーフとの中間に位置する各中間ノードは、2番目以降の質問を表している。ノード間の矢印(エッジ)は、質問への回答が「+」(質問の症状が発症していることを示す回答)であるか「−」(質問の症状が発症していないことを示す回答)であるかに対応しており、質問木全体は、二分木となっている。ルートノードでは、全ての病気の集合を対応させ、質問によって、該当する病気の集合が逐次分割されて、病気が絞り込まれる。これ以上病気の集合を分割する質問がなくなったところで、そのときに残っている病気の集合(1つ又は複数の病気)が結論(検索処理の結果)となる。この質問木は、質問の順番によって、候補の絞込みの効率が異なる。最悪ケースの質問回数をなるべく少なくするためには、残っている病気の集合の「+」と「−」の割合が、1:1になるべく近い質問を選ぶとよい。 The example of FIG. 4B is an example of a question tree related to performing the interview task of identifying a disease by a symptom question using the knowledge base 206 exemplified in the table of FIG. 4A. For convenience of explanation, a relatively simple question tree is shown. The root node of the question tree in FIG. 4B represents the first question, and the question of whether symptom A has developed is expressed as "symptom A". Leaf nodes indicate the illness identified by the question. Each intermediate node located between the root and the leaf represents the second and subsequent questions. The arrows (edges) between the nodes indicate whether the answer to the question is "+" (answer indicating that the question symptom is occurring) or "-" (answer indicating that the question symptom is not occurring). ), And the entire question tree is a binary tree. At the root node, all the disease sets are made to correspond, and the disease is narrowed down by sequentially dividing the corresponding disease set by a question. When there are no more questions to divide the disease set, the remaining disease set (one or more diseases) at that time becomes the conclusion (result of the search process). In this question tree, the efficiency of narrowing down candidates differs depending on the order of questions. In order to reduce the number of questions in the worst case as much as possible, it is advisable to select questions in which the ratio of "+" and "-" in the remaining illness set is as close as 1: 1.

バックエンド2005の知識処理部207としての動作は、エージェント2001からコマンドを示す対話行為を取得して、コマンドに基づく知識処理(検索処理等)を行い、コマンドに対する戻り値を示す対話行為をエージェント2001に返す(提供する)。より具体的には、知識処理部207は、取得した対話行為における対話行為タイプに付帯する付帯情報(症状を示すキーワード)を検索キーワードとしてスタックに積み、検索キーワードのリストに従って知識ベース206の検索を行う検索処理を行う。知識処理部207は、検索処理の結果として、検索対象の病気が充分絞り込まれたか否かを判定して、充分絞り込まれた場合には、結論として絞り込まれた検索対象の情報(病気)をエージェント2001に返す。絞り込みが不充分であると判定した場合には、知識処理部207は、検索対象を絞り込むのに有効な検索キーワードを、エージェント2001に提案(提供)する。なお、ここで示した、バックエンド2005による病気の特定という処理は、バックエンド2005による情報処理の一例に過ぎない。バックエンド2005で行われる情報処理は、例えば、キーワードを用いて、インターネット検索(インターネット上の情報の検索)を行い、検索の結果が所定数(例えば1つ、数個等)以下になるまでは、次の有効な検索キーワードを提案(提供)し、所定数以下になると検索の結果としての情報を提供するような処理であってもよい。この場合に、バックエンド2005は、既存のインターネット検索プログラムへのラッパー等を含んで構成され得る。 The operation of the backend 2005 as the knowledge processing unit 207 is to acquire a dialogue action indicating a command from the agent 2001, perform knowledge processing (search processing, etc.) based on the command, and perform a dialogue action indicating a return value to the command in the agent 2001. Return (provide) to. More specifically, the knowledge processing unit 207 stacks incidental information (keywords indicating symptoms) incidental to the dialogue action type in the acquired dialogue action on the stack as search keywords, and searches the knowledge base 206 according to the list of search keywords. Perform search processing. As a result of the search process, the knowledge processing unit 207 determines whether or not the illnesses to be searched are sufficiently narrowed down, and if the illnesses to be searched are sufficiently narrowed down, the agent uses the information (disease) to be searched as a conclusion. Return to 2001. When it is determined that the narrowing down is insufficient, the knowledge processing unit 207 proposes (provides) to the agent 2001 a search keyword effective for narrowing down the search target. The process of identifying a disease by the backend 2005 shown here is only an example of information processing by the backend 2005. For information processing performed in the backend 2005, for example, an Internet search (search for information on the Internet) is performed using keywords, and until the search result becomes a predetermined number (for example, one, several, etc.) or less. , The next valid search keyword may be proposed (provided), and when the number is less than a predetermined number, information as a result of the search may be provided. In this case, the backend 2005 may be configured to include a wrapper to an existing Internet search program and the like.

以下、対話システム10による対話のシーケンスについて説明する。図5は、対話システム10による対話のシーケンスの一例を示したシーケンス図である。 Hereinafter, the sequence of dialogue by the dialogue system 10 will be described. FIG. 5 is a sequence diagram showing an example of a dialogue sequence by the dialogue system 10.

図5において、フロントエンド2002、エージェント2001及びバックエンド2005のそれぞれ(各オブジェクト)における処理区間(活性区間)を縦長長方形で表しており、オブジェクトから下に向かう縦の破線が時間経過を表し、横向きの矢線(矢印)のうち、実線の矢印が呼び出しメッセージ(つまりエージェント2001からの対話行為の提供)を表し、破線の矢印が手続きの結果通知メッセージ(つまりエージェント2001による対話行為の取得)を表している。また、図5ではバックエンド2005内で管理されるスタック50の内容(検索キーワードのリスト)を付記している。スタック50内においてキーワードに付加された正(+)の符号は、知識ベース206の検索時にそのキーワードが指定キーワードとして扱われることを意味し、キーワードに付加された負(−)の符号は、知識ベース206の検索時にそのキーワードが除外キーワードとして扱われることを意味する。 In FIG. 5, the processing section (active section) in each (each object) of the front end 2002, the agent 2001, and the back end 2005 is represented by a vertically long rectangle, and the vertical broken line extending downward from the object represents the passage of time and is oriented horizontally. Of the arrow lines (arrows), the solid arrow represents the calling message (that is, the provision of the dialogue action from the agent 2001), and the dashed arrow represents the result notification message of the procedure (that is, the acquisition of the dialogue action by the agent 2001). ing. Further, in FIG. 5, the contents (list of search keywords) of the stack 50 managed in the backend 2005 are added. A positive (+) sign added to a keyword in the stack 50 means that the keyword is treated as a designated keyword when searching the knowledge base 206, and a negative (-) sign added to the keyword is knowledge. This means that the keyword is treated as an excluded keyword when searching the base 206.

以下、図5に即して、問診タスクに係る対話の例に係るシーケンスにおける各ステップを順に説明する。 Hereinafter, each step in the sequence according to the example of the dialogue related to the interview task will be described in order with reference to FIG.

ステップS101では、エージェント2001は、バックエンド2005に、知識ベース206の検索処理のための検索キーワードを格納するスタック50を空にさせるコマンドを表す対話行為「clear()」を、与える(提供する)。なお、エージェント2001が提供する対話行為の先頭が小文字であればバックエンド2005が提供先であり、大文字であればフロントエンド2002が提供先となるように定められている。 In step S101, the agent 2001 provides (provides) the backend 2005 with an interactive action "clear ()" representing a command to empty the stack 50 for storing the search keyword for the search process of the knowledge base 206. .. If the beginning of the dialogue act provided by the agent 2001 is lowercase, the backend 2005 is the provider, and if it is uppercase, the frontend 2002 is the provider.

ステップS102では、エージェント2001は、バックエンド2005から、例えばコマンドに応じた処理が終わったこと等を表す対話行為「pass()」を、受ける(取得する)。 In step S102, the agent 2001 receives (acquires) from the backend 2005, for example, a dialogue action “pass ()” indicating that processing according to a command has been completed.

ステップS103では、エージェント2001は、フロントエンド2002に、「今日はどうされましたか?」という旨の質問を表す対話行為「What1st()」を提供する。これにより、フロントエンド2002は、ユーザに、例えば「今日はどうされましたか?」という自然言語で、質問する。この例では、この質問に対してユーザは、症状を示す「頭がくらくらします。」という回答を行う。 In step S103, the agent 2001 provides the front end 2002 with a dialogue act "What1st ()" that expresses the question "What happened today?". This causes the front end 2002 to ask the user, for example, in the natural language "What happened today?" In this example, the user responds to this question with a symptom, "I'm dizzy."

ステップS104では、エージェント2001は、ユーザの「頭がくらくらします。」という回答をフロントエンド2002で変換した対話行為「Provide(頭痛)」を、フロントエンド2002から取得する。 In step S104, the agent 2001 acquires from the front end 2002 the dialogue act "Provide (headache)" in which the user's answer "I feel dizzy" is converted by the front end 2002.

ステップS104に続いて、エージェント2001は、取得した対話行為「Provide(頭痛)」における対話行為タイプ「Provide」に応じて対話行為タイプ「Confirm」を決定し、その「Confirm」と、取得した対話行為における付帯情報である「頭痛」とを合成することで提供用の対話行為「Confirm(頭痛)」を生成する。 Following step S104, the agent 2001 determines the dialogue action type "Confirm" according to the dialogue action type "Provide" in the acquired dialogue action "Provide (headache)", and determines the "Confirm" and the acquired dialogue action. By synthesizing with "headache" which is ancillary information in, a dialogue act "Confirm (headache)" for provision is generated.

ステップS105では、エージェント2001は、対話行為「Confirm(頭痛)」をフロントエンド2002に提供する。これにより、フロントエンド2002は、対話行為「Confirm(頭痛)」に基づいて変換した自然言語「頭痛ですか?」により、ユーザに対して確認の質問を行う。この例では、この質問に対してユーザは、頭痛を訂正して「めまいです。」という回答を行う。 In step S105, the agent 2001 provides the dialogue act "Confirm" to the front end 2002. As a result, the front end 2002 asks the user a confirmation question in the natural language "headache?" Converted based on the dialogue action "Confirm (headache)". In this example, the user corrects the headache and answers "I'm dizzy" to this question.

ステップS106では、エージェント2001は、ユーザの「めまいです。」という回答(つまり確認内容を訂正する回答)をフロントエンド2002で変換した対話行為「Correct(めまい)」を、フロントエンド2002から取得する。 In step S106, the agent 2001 acquires from the front end 2002 the dialogue action “Correct (dizziness)” in which the user's answer “I am dizzy” (that is, the answer to correct the confirmation content) is converted by the front end 2002.

ステップS106に続いて、エージェント2001は、取得した対話行為「Correct(めまい)」における対話行為タイプ「Correct」に応じて対話行為タイプ「push」を決定し、その「push」と、取得した対話行為における付帯情報である「めまい」とを合成することで提供用の対話行為「push(めまい)」を生成する。 Following step S106, the agent 2001 determines the dialogue action type "push" according to the dialogue action type "Correct" in the acquired dialogue action "Correct (dizziness)", and the "push" and the acquired dialogue action. By synthesizing the incidental information "dizziness" in the above, the dialogue act "push" for provision is generated.

ステップS107では、エージェント2001は、対話行為「push(めまい)」をバックエンド2005に提供する。対話行為「push(めまい)」が表すコマンド(例えば検索キーワードの設定のためのコマンド)に応じて、バックエンド2005のスタック50には、付帯情報の「めまい」を示す指定キーワードが蓄積される。 In step S107, agent 2001 provides the dialogue act "push" to the backend 2005. In response to a command represented by the dialogue action "push (dizziness)" (for example, a command for setting a search keyword), a designated keyword indicating "dizziness" of incidental information is accumulated in the stack 50 of the backend 2005.

ステップS108では、エージェント2001は、バックエンド2005から、例えばコマンドに応じた処理が終わったこと等を表す対話行為「pass()」を取得する。 In step S108, the agent 2001 acquires, for example, a dialogue action “pass ()” indicating that the processing according to the command has been completed from the back end 2005.

ステップS108に続いて、エージェント2001は、取得した対話行為「pass()」における対話行為タイプ「pass」に応じて対話行為タイプ「WhatElse」を決定し、対話行為「WhatElse()」を生成する。 Following step S108, the agent 2001 determines the dialogue action type "WhatElse" according to the dialogue action type "pass" in the acquired dialogue action "pass ()", and generates the dialogue action "WhatElse ()".

ステップS109では、エージェント2001は、対話行為「WhatElse()」をフロントエンド2002に提供する。なお、エージェント2001においては、逐次取得した対話行為における対話行為タイプの系列によって、対話行為タイプの決定に際して参照される信念状態が変化しているので、同内容の対話行為を取得した場合であっても異なる提供用の対話行為を決定して提供し得る。フロントエンド2002は、対話行為「WhatElse()」に基づいて変換した自然言語「他に気になることはありますか?」により、ユーザに対して更なる質問を行う。この例では、この質問に対してユーザは、更なる症状を示す「動悸もします。」という回答を行う。 In step S109, the agent 2001 provides the dialogue act "WhatElse ()" to the front end 2002. In Agent 2001, the belief state referred to when determining the dialogue action type changes depending on the series of dialogue action types in the sequentially acquired dialogue actions, so that the case where the dialogue actions with the same contents are acquired. Can also determine and provide different offering dialogues. The front end 2002 asks the user further questions in the natural language "Are there any other concerns?" Translated based on the dialogue "WhatElse ()". In this example, the user responds to this question with "palpitations," which indicates further symptoms.

ステップS110では、エージェント2001は、ユーザの「動悸もします。」という回答をフロントエンド2002で変換した対話行為「Provide(動悸)」を、フロントエンド2002から取得する。 In step S110, the agent 2001 acquires from the front end 2002 the dialogue act "Provide (palpitations)" in which the user's answer "palpitations" is converted by the front end 2002.

ステップS110に続いて、エージェント2001は、取得した対話行為「Provide(動悸)」における対話行為タイプ「Provide」に応じて対話行為タイプ「push」を決定し、その「push」と、取得した対話行為における付帯情報である「動悸」とを合成することで提供用の対話行為「push(動悸)」を生成する。 Following step S110, the agent 2001 determines the dialogue action type "push" according to the dialogue action type "Provide" in the acquired dialogue action "Provide (palpitations)", and determines the dialogue action type "push" and the acquired dialogue action. By synthesizing the incidental information "palpitations" in the above, the dialogue act "push" for provision is generated.

ステップS111では、エージェント2001は、対話行為「push(動悸)」をバックエンド2005に提供する。対話行為「push(動悸)」が表すコマンド(例えば検索キーワードの設定のためのコマンド)に応じて、バックエンド2005のスタック50には、更に付帯情報の「動悸」を示す指定キーワードが蓄積される。 In step S111, the agent 2001 provides the dialogue act "push" to the backend 2005. In response to the command represented by the dialogue action "push (palpitations)" (for example, a command for setting a search keyword), the stack 50 of the backend 2005 further accumulates a designated keyword indicating "palpitations" of incidental information. ..

ステップS112では、エージェント2001は、バックエンド2005から、例えばコマンドに応じた処理が終わったこと等を表す対話行為「pass()」を取得する。 In step S112, the agent 2001 acquires, for example, a dialogue action “pass ()” indicating that the processing according to the command has been completed from the back end 2005.

ステップS112に続いて、エージェント2001は、取得した対話行為「pass()」における対話行為タイプ「pass」に応じて対話行為タイプ「WhatElse」を決定し、対話行為「WhatElse()」を生成する。 Following step S112, the agent 2001 determines the dialogue action type "WhatElse" according to the dialogue action type "pass" in the acquired dialogue action "pass ()", and generates the dialogue action "WhatElse ()".

ステップS113では、エージェント2001は、対話行為「WhatElse()」をフロントエンド2002に提供する。フロントエンド2002は、対話行為「WhatElse()」に基づいて変換した自然言語「他に気になることはありますか?」により、ユーザに対して更なる質問を行う。この例では、この質問に対してユーザは、他の症状がないことを示す「ないです。」という回答を行う。 In step S113, the agent 2001 provides the dialogue act "WhatElse ()" to the front end 2002. The front end 2002 asks the user further questions in the natural language "Are there any other concerns?" Translated based on the dialogue "WhatElse ()". In this example, the user answers this question with "No", which indicates that there are no other symptoms.

ステップS114では、エージェント2001は、ユーザの「ないです。」という回答をフロントエンド2002で変換した対話行為「Negative()」を、フロントエンド2002から取得する。 In step S114, the agent 2001 acquires, from the front end 2002, the dialogue action “Negative ()” in which the user's answer “No” is converted by the front end 2002.

ステップS114に続いて、エージェント2001は、取得した対話行為「Negative()」における対話行為タイプ「Negative」に応じて対話行為タイプ「solve1st」を決定し、提供用の対話行為「solve1st()」を生成する。 Following step S114, the agent 2001 determines the dialogue action type "solve1st" according to the dialogue action type "Negative" in the acquired dialogue action "Negative ()", and determines the dialogue action "solve1st ()" for provision. Generate.

ステップS115では、エージェント2001は、対話行為「solve1st()」をバックエンド2005に提供する。対話行為「solve1st()」が表すコマンド(例えば検索実行のためのコマンド)に応じて、バックエンド2005では知識ベース206の検索処理を行う。バックエンド2005は、検索処理の結果が充分に絞り込まれたか否かを判定する。例えば、バックエンド2005は、検索処理の結果としての病気が所定数(例えば1つ、数個等)以下に絞り込まれたか否かを判定する。バックエンド2005は、検索処理の結果が充分に絞り込まれない場合には、知識ベース206を用いて、検索処理の結果を絞り込むために有効な検索キーワードを特定して提案する。この例では、検索処理の結果が所定数以下に絞り込まれずに、絞り込みに有効な検索キーワードとして「発熱」が提案される。このとき、この例では、バックエンド2005のスタック50に、指定キーワードか除外キーワードかが未決定の状態の「発熱」を示す検索キーワードが蓄積される。 In step S115, the agent 2001 provides the dialogue act "solve1st ()" to the backend 2005. In response to the command represented by the dialogue action "solve1st ()" (for example, the command for executing the search), the backend 2005 performs the search process of the knowledge base 206. The backend 2005 determines whether or not the result of the search process is sufficiently narrowed down. For example, the backend 2005 determines whether or not the number of diseases as a result of the search process is narrowed down to a predetermined number (for example, one, several, etc.) or less. When the results of the search process are not sufficiently narrowed down, the backend 2005 uses the knowledge base 206 to identify and propose effective search keywords for narrowing down the results of the search process. In this example, the result of the search process is not narrowed down to a predetermined number or less, and "heat generation" is proposed as a search keyword effective for narrowing down. At this time, in this example, the search keyword indicating "heat generation" in which the designated keyword or the excluded keyword is undecided is accumulated in the stack 50 of the back end 2005.

ステップS116では、エージェント2001は、バックエンド2005から、「発熱」の症状の質問を提案することを表す対話行為「suggest(発熱)」を取得する。 In step S116, the agent 2001 acquires from the backend 2005 a dialogue act "suggest" that represents suggesting a question of the symptoms of "fever".

ステップS116に続いて、エージェント2001は、取得した対話行為「suggest(発熱)」における対話行為タイプ「suggest」に応じて対話行為タイプ「Check」を決定し、その「Check」と、取得した対話行為における付帯情報である「発熱」とを合成することで提供用の対話行為「Check(発熱)」を生成する。 Following step S116, the agent 2001 determines the dialogue action type "Check" according to the dialogue action type "suggest" in the acquired dialogue action "suggest (fever)", and the "Check" and the acquired dialogue action By synthesizing the incidental information "fever" in the above, the dialogue action "Check (fever)" for provision is generated.

ステップS117では、エージェント2001は、対話行為「Check(発熱)」をフロントエンド2002に提供する。フロントエンド2002は、対話行為「Check(発熱)」に基づいて変換した自然言語「発熱はありますか?」により、ユーザに対して発熱の症状についての質問を行う。この例では、この質問に対してユーザは、発熱の症状が現れていないことを示す「ありません。」という回答を行う。 In step S117, the agent 2001 provides the dialogue act "Check" to the front end 2002. The front end 2002 asks the user a question about the symptoms of fever by using the natural language "Do you have fever?" Translated based on the dialogue action "Check (fever)". In this example, the user responds to this question with "No", which indicates that the symptoms of fever are not present.

ステップS118では、エージェント2001は、ユーザの「ありません。」という回答をフロントエンド2002で変換した対話行為「Negative()」を、フロントエンド2002から取得する。 In step S118, the agent 2001 acquires from the front end 2002 the dialogue action “Negative ()” obtained by converting the user's answer “No” by the front end 2002.

ステップS118に続いて、エージェント2001は、取得した対話行為「Negative()」における対話行為タイプ「Negative」に応じて対話行為タイプ「set_negative」を決定し、提供用の対話行為「set_negative()」を生成する。 Following step S118, the agent 2001 determines the dialogue action type "set_negative" according to the dialogue action type "Negative" in the acquired dialogue action "Negative ()", and sets the dialogue action "set_negative ()" for provision. Generate.

ステップS119では、エージェント2001は、対話行為「set_negative()」をバックエンド2005に提供する。対話行為「set_negative()」が表すコマンド(例えばスタックに最後に積まれた検索キーワードを除外キーワードに設定した上で検索キーワードのリストで検索を実行するためのコマンド)に応じて、バックエンド2005では、スタック50の「発熱」を除外キーワードとして知識ベース206の検索処理を行う。そしてバックエンド2005は、検索処理の結果が充分に絞り込まれたか否かを判定する。この例では、検索処理の結果がまだ所定数以下に絞り込まれずに、絞り込みに有効な検索キーワードとして更に「咳」が提案される。このとき、この例では、バックエンド2005のスタック50に、「咳」を示す検索キーワードが蓄積される。 In step S119, the agent 2001 provides the dialogue act "set_negative ()" to the backend 2005. In the backend 2005, depending on the command represented by the dialogue "set_negative ()" (for example, the command to set the search keyword last on the stack as an exclusion keyword and then execute the search in the search keyword list). , The knowledge base 206 is searched using the "heat generation" of the stack 50 as an exclusion keyword. Then, the back end 2005 determines whether or not the result of the search process is sufficiently narrowed down. In this example, the result of the search process is not yet narrowed down to a predetermined number or less, and "cough" is further proposed as a search keyword effective for narrowing down. At this time, in this example, the search keyword indicating "cough" is accumulated in the stack 50 of the backend 2005.

ステップS120では、エージェント2001は、バックエンド2005から、「咳」の症状の質問を提案することを表す対話行為「suggest(咳)」を取得する。 In step S120, the agent 2001 acquires from the backend 2005 a dialogue act "suggest" that represents suggesting a question of the symptoms of "cough".

ステップS120に続いて、エージェント2001は、取得した対話行為「suggest(咳)」における対話行為タイプ「suggest」に応じて対話行為タイプ「Check」を決定し、その「Check」と、取得した対話行為における付帯情報である「咳」とを合成することで提供用の対話行為「Check(咳)」を生成する。 Following step S120, the agent 2001 determines the dialogue action type "Check" according to the dialogue action type "suggest" in the acquired dialogue action "suggest", and the "Check" and the acquired dialogue action By synthesizing the incidental information "cough" in the above, the dialogue action "Check (cough)" for provision is generated.

ステップS121では、エージェント2001は、対話行為「Check(咳)」をフロントエンド2002に提供する。フロントエンド2002は、対話行為「Check(咳)」に基づいて変換した自然言語「咳は出ますか?」により、ユーザに対して咳の症状についての質問を行う。この例では、この質問に対してユーザは、咳の症状が現れていることを示す「出ます。」という回答を行う。 In step S121, agent 2001 provides the front end 2002 with a dialogue action "Check". The front end 2002 asks the user a question about the symptoms of coughing in the natural language "Do you cough?" Translated based on the dialogue "Check". In this example, the user responds to this question by answering "I get", which indicates that coughing symptoms are present.

ステップS122では、エージェント2001は、ユーザの「出ます。」という回答をフロントエンド2002で変換した対話行為「Positive()」を、フロントエンド2002から取得する。 In step S122, the agent 2001 acquires, from the front end 2002, the dialogue action “Positive ()” in which the user's answer “I will come out” is converted by the front end 2002.

ステップS122に続いて、エージェント2001は、取得した対話行為「Positive()」における対話行為タイプ「Positive」に応じて対話行為タイプ「set_positive」を決定し、提供用の対話行為「set_positive()」を生成する。 Following step S122, the agent 2001 determines the dialogue action type "set_positive" according to the dialogue action type "Positive" in the acquired dialogue action "Positive ()", and sets the dialogue action "set_positive ()" for provision. Generate.

ステップS123では、エージェント2001は、対話行為「set_positive()」をバックエンド2005に提供する。対話行為「set_positive()」が表すコマンド(例えばスタックに最後に積まれた検索キーワードを指定キーワードに設定した上で検索キーワードのリストで検索を実行するためのコマンド)に応じて、バックエンド2005では、スタック50の「咳」を指定キーワードにし、知識ベース206の検索処理を行う。そしてバックエンド2005は、検索処理の結果が充分に絞り込まれたか否かを判定する。この例では、検索処理の結果が所定数以下の1つである「病気C」に絞り込まれる。 In step S123, agent 2001 provides the dialogue act "set_positive ()" to the backend 2005. In the backend 2005, depending on the command represented by the dialogue action "set_positive ()" (for example, the command to set the search keyword last stacked on the stack as the specified keyword and then execute the search in the search keyword list). , The search process of the knowledge base 206 is performed using "cough" of the stack 50 as a designated keyword. Then, the back end 2005 determines whether or not the result of the search process is sufficiently narrowed down. In this example, the result of the search process is narrowed down to "disease C" which is one of a predetermined number or less.

ステップS124では、エージェント2001は、バックエンド2005から、結論としての「病気C」を表す対話行為「conclude(病気C)」を取得する。 In step S124, agent 2001 acquires from the backend 2005 the dialogue act “conclude” that represents the conclusion “disease C”.

ステップS124に続いて、エージェント2001は、取得した対話行為「conclude(病気C)」における対話行為タイプ「conclude」に応じて対話行為タイプ「Present」を決定し、その「Present」と、取得した対話行為における付帯情報である「病気C」とを合成することで提供用の対話行為「Present(病気C)」を生成する。 Following step S124, the agent 2001 determines the dialogue action type "Present" according to the dialogue action type "conclude" in the acquired dialogue action "conclude (disease C)", and the "Present" and the acquired dialogue. By synthesizing "illness C" which is incidental information in the act, a dialogue act "Present (illness C)" for provision is generated.

ステップS125では、エージェント2001は、対話行為「Present(病気C)」をフロントエンド2002に提供する。フロントエンド2002は、対話行為「Present(病気C)」に基づいて変換した自然言語「病気Cのようです。」により、ユーザに対して結論を提供する。この例では、この結論の提供に対してユーザは、「わかりました。」という回答を行う。 In step S125, agent 2001 provides the dialogue act "Present (disease C)" to the front end 2002. The front end 2002 provides the user with a conclusion by the natural language "like illness C" translated based on the dialogue act "Present (illness C)". In this example, the user answers "OK" to the provision of this conclusion.

ステップS126では、エージェント2001は、ユーザの「わかりました。」という回答をフロントエンド2002で変換した対話行為「Acknowledge()」を、フロントエンド2002から取得する。これにより、エージェント2001が対話処理を終了させて、対話のシーケンスが終了する。 In step S126, the agent 2001 acquires from the front end 2002 the dialogue action “Acknowledge ()” in which the user's answer “OK” is converted by the front end 2002. As a result, the agent 2001 ends the dialogue processing, and the dialogue sequence ends.

このように、エージェント2001が仲介してフロントエンド2002とバックエンド2005との対話が行われる。 In this way, the agent 2001 mediates the dialogue between the front end 2002 and the back end 2005.

上述の例で、エージェント2001がフロントエンド2002との間で授受する情報である対話行為のシーケンスは、次の対話行為シーケンス1となっている。 In the above example, the sequence of dialogue actions, which is the information exchanged by the agent 2001 with the front end 2002, is the next dialogue action sequence 1.

対話行為シーケンス1=[What1st(),Provide(頭痛),Confirm(頭痛),Correct(めまい),WhatElse(),Provide(動悸),WhatElse(),Negative(),Check(発熱),Negative(),Check(咳),Positive(),Present(病気C),Acknowledge()] Dialogue sequence 1 = [What1st (), Provide (headache), Confirm (headache), Correct (dizziness), WhatElse (), Provide (palpitations), WhatElse (), Negative (), Check (fever), Negative () , Check (cough), Positive (), Present (illness C), Acknowledge ()]

また、対話行為シーケンス1にエージェント2001とバックエンド2005との間で授受される対話行為を加えたシーケンスは、次の対話行為シーケンス2となっている。 Further, the sequence in which the dialogue action exchanged between the agent 2001 and the backend 2005 is added to the dialogue action sequence 1 is the next dialogue action sequence 2.

対話行為シーケンス2=[clear(),pass(),What1st(),Provide(頭痛),Confirm(頭痛),Correct(めまい),push(めまい),pass(),WhatElse(),Provide(動悸),push(動悸),pass(),WhatElse(),Negative(),solve1st(),suggest(発熱),Check(発熱),Negative(),set_negative(),suggest(咳),Check(咳),Positive(),set_positive(),conclude(病気C),Present(病気C),Acknowledge()] Dialogue sequence 2 = [clear (), pass (), What1st (), Provide (headache), Confirm (headache), Correct (dizziness), push (dizziness), pass (), WhatElse (), Provide (palpitations) , Push (palpitations), pass (), WhatElse (), Negative (), solve1st (), suggest (fever), Check (fever), Negative (), set_negative (), suggest (cough), Check (cough), Positive (), set_positive (), conclude (disease C), Present (disease C), Acknowledge ()]

対話行為シーケンス2において奇数番目の対話行為はエージェント2001の行動に該当し、偶数番目の対話行為はエージェント2001が、環境としてのフロントエンド2002又はバックエンド2005から得た観測に該当する。括弧内の付帯情報に注目すると、観測とそれに続く行動の間で一致している。つまり、エージェント2001(対話エージェント)は、Provideに対してConfirm、Correctに対してpush等と対話行為タイプを決定しているが、付帯情報については、単に仲介しているだけである。このような観測に応じて行動を決定する動作は、エージェント2001の決定部200(つまり分離部202、行動決定部203、及び、合成部204)によって実現される。 In the dialogue action sequence 2, the odd-numbered dialogue actions correspond to the actions of the agent 2001, and the even-numbered dialogue actions correspond to the observations obtained by the agent 2001 from the front-end 2002 or the back-end 2005 as an environment. Focusing on the ancillary information in parentheses, there is a consensus between observations and subsequent actions. That is, the agent 2001 (dialogue agent) determines the dialogue action type such as Confirm for Provide and push for Correct, but merely mediates the incidental information. The operation of determining the action according to such an observation is realized by the determination unit 200 of the agent 2001 (that is, the separation unit 202, the action determination unit 203, and the synthesis unit 204).

(対話状態に係る考察)
以下、上述した対話システム10による対話において遷移する対話状態の数の低減化等について、図6A〜図6Dを用いて考察を行う。
(Consideration related to dialogue state)
Hereinafter, reduction of the number of dialogue states transitioning in the dialogue by the dialogue system 10 described above will be considered with reference to FIGS. 6A to 6D.

まず、上述の図5の例に係る対話行為シーケンス1を用いて、ユーザと関わるフロントエンドのみを環境とした対話システムを仮定し、この仮定した対話システムでのフロントエンドとエージェント(ここでは知識処理の機能を包含するシステム)とでの対話の例について考える。 First, using the dialogue action sequence 1 according to the example of FIG. 5 above, a dialogue system in which only the front end related to the user is used as an environment is assumed, and the front end and the agent (here, knowledge processing) in this assumed dialogue system. Consider an example of dialogue with a system that includes the functions of.

図6Aは、対話行為シーケンス1が含まれるように作成した状態遷移の一例を示す状態遷移図である。なお、POMDPモデルにおいては、状態がsであるときに、行動aを取ったら、状態がs´に遷移する時の遷移確率T(s´|s,a)と、行動aを取った結果状態s´において観測zが得られる観測確率O(z|a,s´)とで行動と観測と状態の関係が表現される。ここでは、POMDPモデルにおける上述の確率を閾値処理して、行動と観測と状態の関係を、状態遷移図で表している。以下で説明する図6B〜図6Dの各状態遷移図も図6Aと同様である。例えば、状態遷移図での矢線は、状態の遷移確率が一定閾値を超える経路を表したものである。また、図6A〜図6Dにおいて、各ノードを表す円には、状態の名前を記している。ノード間のエッジを表す矢線には、エージェントから環境への行動としての対話行為を記している。また、各ノード(状態)に、エージェントによる環境の観測としての対話行為を記している。これにより、状態遷移図において、行動によって、環境の状態が変化し、変化した状態の下で観測がなされることが表される。 FIG. 6A is a state transition diagram showing an example of a state transition created so as to include the dialogue action sequence 1. In the POMDP model, if the action a is taken when the state is s, the transition probability T (s'| s, a) when the state transitions to s'and the result state of taking the action a are taken. The relationship between behavior, observation, and state is expressed by the observation probability O (z | a, s') at which the observation z is obtained at s'. Here, the above-mentioned probabilities in the POMDP model are threshold-processed, and the relationship between behavior, observation, and state is represented by a state transition diagram. Each state transition diagram of FIGS. 6B to 6D described below is the same as that of FIG. 6A. For example, the arrow line in the state transition diagram represents a path in which the state transition probability exceeds a certain threshold value. Further, in FIGS. 6A to 6D, the name of the state is written on the circle representing each node. The arrow line representing the edge between the nodes describes the dialogue action as an action from the agent to the environment. In addition, each node (state) describes the dialogue act as an observation of the environment by the agent. As a result, in the state transition diagram, it is shown that the state of the environment changes depending on the action, and the observation is made under the changed state.

ここでは、対話行為シーケンス1を2つの部分(パート)に分けて考察を行う。まず、先行するパートである[What1st(),Provide(頭痛),Confirm(頭痛),Correct(めまい),WhatElse(),Provide(動悸),WhatElse(),Negative()]のパートは、オープン質問(open question)を主としたユーザ主体の対話が行われているパートである。このパートは、問診タスクにおいて、患者中心の問診と言われる。一方、後続するパートである[Check(発熱),Negative(),Check(咳),Positive(),Present(病気C),Acknowledge()]のパートは、クローズド質問(closed question)を主としたシステム(対話システム)主体の対話が行われているパートである。このパートは、問診タスクにおいて、医師中心の問診と言われる。 Here, the dialogue action sequence 1 is divided into two parts (parts) for consideration. First, the preceding parts [What1st (), Provide (headache), Confirm (headache), Correct (dizziness), WhatElse (), Provide (palpitations), WhatElse (), Negative ()] are open questions. This is a part where user-centered dialogue is mainly conducted (open question). This part is referred to as a patient-centric interview in the interview task. On the other hand, the following parts [Check (fever), Negative (), Check (cough), Positive (), Present (illness C), Acknowledge ()] mainly consisted of closed questions. System (dialogue system) This is the part where the main dialogue is taking place. This part is referred to as a doctor-centered interview in the interview task.

先行するパート(ユーザ主体の対話パート)について、図6Aでは、このパートの状態(ノード)を直線状に配置している。このパートに対応する対話行為のシーケンスは、Negative()という観測で終わる可変長のシーケンスとなる。このパートの状態の数を減らすには、「s1a」〜「s3a」を縮退させて、ループ構造にすればよいように思われる。ループによって、可変長のシーケンスに対応できる。 Regarding the preceding part (user-centered dialogue part), in FIG. 6A, the states (nodes) of this part are arranged in a straight line. The sequence of dialogues corresponding to this part is a variable-length sequence ending with an observation called Negative (). In order to reduce the number of states of this part, it seems that "s1a" to "s3a" should be degenerated into a loop structure. The loop allows for variable length sequences.

また、後続するパート(システム主体の対話パート)について、図6Aでは、このパートの状態(ノード)を木構造となるように配置している。対話行為シーケンス1のシステム主体の対話パートを、トレースするためには、「s4a」に続いて、状態の系列[s6a、s9a、s13a]という経路を辿ればよい。木構造のパートは全体として、図4Bに例示したような質問木に対応しており、質問と回答に従って異なる結論に到達できるようになっている。このシステム主体の対話パートは、例えば知識ベースの規模により増大し得る。つまり、1000の結論があれば、状態数は1000以上になる。また、図4Bの質問木では、単純な例であるので長さが揃っているが、システム主体の対話パートの経路の長さは可変長である。このパートも、ループ構造にすればよいように思われる。 Further, regarding the succeeding part (system-based dialogue part), in FIG. 6A, the states (nodes) of this part are arranged so as to form a tree structure. In order to trace the system-based dialogue part of the dialogue action sequence 1, the path of the state sequence [s6a, s9a, s13a] may be followed after "s4a". The tree structure part as a whole corresponds to the question tree as illustrated in FIG. 4B, allowing different conclusions to be reached according to the questions and answers. This system-based dialogue part can be increased, for example, by the scale of the knowledge base. That is, if there are 1000 conclusions, the number of states will be 1000 or more. Further, in the question tree of FIG. 4B, since it is a simple example, the lengths are the same, but the length of the path of the dialogue part mainly based on the system is variable. It seems that this part should also have a loop structure.

図6Bは、以上の考察に基づいて、2つのループ構造を持つようにした状態遷移の例を示す状態遷移図である。 FIG. 6B is a state transition diagram showing an example of a state transition having two loop structures based on the above considerations.

図6Bは、図6Aと同様に、対話行為シーケンス1のユーザ主体の対話パート[What1st(),Provide(頭痛),Confirm(頭痛),Correct(めまい),WhatElse(),Provide(動悸),WhatElse(),Negative()]と、システム主体の対話パート[Check(発熱),Negative(),Check(咳),Positive(),Present(病気C),Acknowledge()]とに対応している。但し、図6Bでは、対話行為の付帯情報である「頭痛」、「病気C」等は、一般化して「*」で表している。この一般化した部分の付帯情報はいずれであっても、状態との対応関係が変わらないと考えられる。 FIG. 6B shows the user-centered dialogue part [What1st (), Provide (headache), Confirm (headache), Correct (dizziness), WhatElse (), Provide (palpitations), WhatElse) of the dialogue action sequence 1 as in FIG. 6A. (), Negative ()] and system-based dialogue parts [Check (fever), Negative (), Check (cough), Positive (), Present (illness C), Acknowledge ()] are supported. However, in FIG. 6B, “headache”, “illness C”, etc., which are incidental information of the dialogue act, are generally represented by “*”. It is considered that the correspondence with the state does not change regardless of the incidental information of this generalized part.

図6Bの状態「s1b」に注目すると、次の状態は「s1b」又は「s2b」である。つまり、「s1b」から出て「s1b」に戻るループを0回以上回った後に、ループから抜け出して、「s2b」に進む。「s1b」と「s2b」には、異なる観測が記されており、行動としての対話行為「WhatElse()」に対して、「Negative()」という対話行為が観測された場合に、ループから抜け出す。 Focusing on the state "s1b" in FIG. 6B, the next state is "s1b" or "s2b". That is, after going through the loop that exits from "s1b" and returns to "s1b" 0 times or more, the loop exits and proceeds to "s2b". Different observations are recorded in "s1b" and "s2b", and when the dialogue action "Negative ()" is observed for the dialogue action "WhatElse ()" as an action, the loop is exited. ..

また、状態「s3b」に注目すると、次の状態は「s3b」又は「s4b」である。つまり、「s3b」から出て「s3b」に戻るループを0回以上回った後に、ループから抜け出して、「s4b」に進む。「s3b」と「s4b」には、同じ観測(「Negative()」及び「Positive()」)が記されており、行動「Check(*)」も同じであるため、ループを抜けるための条件は明確でない。このような場合には、ループを回る遷移確率とループを抜ける遷移確率との比によって、何回回ったらループを抜けるのかが決定される。しかし、問診により病気を特定するという問診タスクを考えれば、終了は、医者が、問診の内容によって決めるものであって、回数で決めるべきものではない。或いは「s4b」を除いて「s3b」から「s5b」に、行動「Present(*)」によって遷移すればよいのかもしれない(図示せず)。しかし、行動選択のための情報がない。ここでは、「Check(*)」という行動によってループを回るか「Present(*)」という行動によってループを抜けるかについて、強化学習によって得られた方策に従うとしても、状態と観測とが同じであれば、常に同じ行動が選ばれる。つまり、無限ループに入るか、ループを1回も回らないで通過するかしかできないことになる。これは、ユーザと関わるフロントエンドのみを環境として、対話行為の付帯情報を使わずに、状態を極力縮退させようとした場合に起こる。これでは、タスクが遂行できない。 Focusing on the state "s3b", the next state is "s3b" or "s4b". That is, after going through the loop that exits from "s3b" and returns to "s3b" 0 or more times, the loop exits and proceeds to "s4b". Since the same observations ("Negative ()" and "Positive ()") are described in "s3b" and "s4b" and the action "Check (*)" is also the same, the conditions for exiting the loop Is not clear. In such a case, the ratio of the transition probability of going around the loop and the transition probability of going out of the loop determines how many times the loop is exited. However, considering the interview task of identifying the disease by interview, the end is decided by the doctor according to the content of the interview, not by the number of times. Alternatively, the transition from "s3b" to "s5b" except for "s4b" may be performed by the action "Present (*)" (not shown). However, there is no information for action selection. Here, whether the action of "Check (*)" goes around the loop or the action of "Present (*)" exits the loop, even if the policy obtained by reinforcement learning is followed, the state and the observation are the same. If so, the same action is always chosen. In other words, you can only enter an infinite loop or go through the loop without going around once. This happens when only the front end related to the user is used as the environment and the state is degenerated as much as possible without using the incidental information of the dialogue action. With this, the task cannot be performed.

次に、上述の図5の例に係る対話行為シーケンス2を用いて、フロントエンド2002とバックエンド2005とのそれぞれを環境とした対話システム10について考える。 Next, using the dialogue action sequence 2 according to the example of FIG. 5 described above, consider a dialogue system 10 in which the front end 2002 and the back end 2005 are used as environments.

図6Cは、対話行為シーケンス2に対応して作成した状態遷移の一例を示す状態遷移図である。図6Cの状態遷移図は、2つのループ構造を持ち、かつ、2つの環境に対応するようにしたものである。 FIG. 6C is a state transition diagram showing an example of the state transition created corresponding to the dialogue action sequence 2. The state transition diagram of FIG. 6C has two loop structures and corresponds to two environments.

全体を通して、2つのループが存在するのは、図6Bと図6Cとで同様である。図6Cでは、各ノードの配置について、左側がフロントエンド2002とエージェント2001との間で授受される対話行為と、右側がエージェント2001とバックエンド2005との間で授受される対話行為と、それぞれ対応するようにノードを配置している。 The existence of two loops throughout is similar in FIGS. 6B and 6C. In FIG. 6C, regarding the arrangement of each node, the left side corresponds to the dialogue action exchanged between the front end 2002 and the agent 2001, and the right side corresponds to the dialogue action exchanged between the agent 2001 and the back end 2005. Nodes are arranged so as to.

ここでは、上述の対話行為シーケンス1と同様に、対話行為シーケンス2を2つの部分(パート)に分けて考察を行う。つまり、ユーザ主体の対話パートである[clear(),pass(),What1st(),Provide(頭痛),Confirm(頭痛),Correct(めまい),push(めまい),pass(),WhatElse(),Provide(動悸),push(動悸),pass(),WhatElse(),Negative()]のパートと、これに後続するパートであるシステム主体の対話パートである[solve1st(),suggest(発熱),Check(発熱),Negative(),set_negative(),suggest(咳),Check(咳),Positive(),set_positive(),conclude(病気C),Present(病気C),Acknowledge()]のパートに分ける。 Here, as in the above-mentioned dialogue action sequence 1, the dialogue action sequence 2 is divided into two parts (parts) for consideration. That is, the user-centered dialogue parts [clear (), pass (), What1st (), Provide (headache), Confirm (headache), Correct (dizziness), push (dizziness), pass (), WhatElse (), Provide (palpitations), push (palpitations), pass (), WhatElse (), Negative ()] and the subsequent part, the system-based dialogue part [solve1st (), suggest (heat), Check (fever), Negative (), set_negative (), suggest (cough), Check (cough), Positive (), set_positive (), conclude (illness C), Present (illness C), Acknowledge ()] Divide.

図6Cにおけるユーザ主体の対話パートには、1つ目のループが存在し、このループの終了条件は、フロントエンド2002からの観測(具体的には「Negative()」)によって与えられる。この1つ目のループの終了条件は、図6Bに示す1つ目のループの終了条件と同様である。一方、図6Cにおけるシステム主体の対話パートには、2つ目のループが存在し、ループの終了条件は、バックエンド2005からの観測(具体的には「conclude(*)」)によって与えられる。補足すれば、「s5c」においてとるべき行動は「Check(*)」であり、その遷移先は3つあるが、次に想定される観測毎に状態を設定されているので、観測確率を乗ずると観測に応じた状態の確率が高くなる。つまり、2つ目のループの終了条件は、図6Bとは異なり、観測として与えられた対話行為が状態の確率に反映され、行動決定の基準となり得るので、強化学習により適切な方策の獲得が可能となる。 The user-centered dialogue part in FIG. 6C has a first loop, and the termination condition of this loop is given by observation from the front end 2002 (specifically, "Negative ()"). The end condition of the first loop is the same as the end condition of the first loop shown in FIG. 6B. On the other hand, the system-based dialogue part in FIG. 6C has a second loop, and the end condition of the loop is given by observation from the back end 2005 (specifically, “conclude (*)”). Supplementally, the action to be taken in "s5c" is "Check (*)", and there are three transition destinations, but since the state is set for each next assumed observation, the observation probability is multiplied. And the probability of the state according to the observation increases. In other words, unlike FIG. 6B, the end condition of the second loop is that the dialogue action given as an observation is reflected in the probability of the state and can be a standard for action decision, so that it is possible to acquire an appropriate measure by reinforcement learning. It will be possible.

なお、図6Cにおける1つ目のループでは、[Confirm(頭痛),Correct(めまい)]というシーケンスに対応する状態遷移は省略されており、これについては、次の図6Dを用いて考察する。 In the first loop in FIG. 6C, the state transition corresponding to the sequence [Confirm (headache), Correct (dizziness)] is omitted, and this will be considered with reference to FIG. 6D below.

図6Dは、図6Cの「s2c」の状態を分割して、不確実性への対応を行うための拡張を行った状態遷移を示す状態遷移図である。図6Dにおいて、「s2d lev0」、「s2d lev1」、「s2d posi」、及び「s2d corr」の4つを除くノードについては、図6Cにおける同じ名前のノードと対応している。 FIG. 6D is a state transition diagram showing a state transition in which the state of “s2c” in FIG. 6C is divided and expanded to deal with uncertainty. In FIG. 6D, the nodes other than the four nodes “s2d lev0”, “s2d lev1”, “s2d pose”, and “s2d corr” correspond to the nodes having the same name in FIG. 6C.

拡張の1つ目は、フロントエンド2002の入力処理部201から得られる言語理解の結果の信頼度に応じた状態の分割である。「s2d lev0」及び「s2d lev1」の各ノードは、予め設定した信頼度の閾値との大小比較によって分かれるようにしたものであり、閾値より大きいものは「s2d lev0」とし、閾値未満であれば「s2d lev1」としている。この例では、2分割であるが、必要に応じて分割数は、数倍程度に増やせばよい。例えば、4分割する場合の各閾値の設定の仕方としては、信頼度の取り得る値域を4等分するように閾値を設定する方法、頻度分布を得て4分位点を閾値として設定する方法等が挙げられる。 The first extension is the division of states according to the reliability of the result of language understanding obtained from the input processing unit 201 of the front end 2002. Each node of "s2d lev0" and "s2d lev1" is divided by a magnitude comparison with a preset reliability threshold value. Those larger than the threshold value are set to "s2d lev0", and if it is less than the threshold value, it is set as "s2d lev0". It is set as "s2d lev1". In this example, the number of divisions is two, but the number of divisions may be increased to several times as necessary. For example, as a method of setting each threshold value in the case of dividing into four, a method of setting the threshold value so as to divide the range in which reliability can be obtained into four equal parts, and a method of obtaining a frequency distribution and setting the quartile as the threshold value. And so on.

拡張の2つ目は、エージェント2001がフロントエンド2002から得られた情報をバックエンド2005へ仲介する前に、フロントエンド2002に確認を行うことで確実性を高める場合に対応した状態「s2d posi」と「s2d corr」とを設けたことである。 The second expansion is the state "s2d posi" corresponding to the case where the agent 2001 confirms with the front end 2002 before mediating the information obtained from the front end 2002 to the back end 2005 to increase the certainty. And "s2d corr" are provided.

対話行為シーケンス2の[Provide(頭痛),Confirm(頭痛),Correct(めまい),push(めまい),pass(),WhatElse(),Provide(動悸),push(動悸)]の部分に沿って、状態遷移の様子を追ってみると、「Provide(頭痛)」が観測される際の信頼度が比較的低い場合に状態「s2d lev1」にいると想定され、「Confirm(頭痛)」という行動が決定され、状態は「s2d corr」に遷移し、「Correct(めまい)」が観測される。次に「push(めまい)」という行動が決定されて「s3c」に遷移し、「pass()」が観測される。次に、「WhatElse()」という行動が決定され、「Provide(動悸)」が比較的高い信頼度とともに観測されると「s2d lev0」にいると想定される。ここでは、確認を行わずに、行動「push(動悸)」を伴って「s3c」に遷移する。 Follow the [Provide (headache), Confirm (headache), Correct (dizziness), push (dizziness), pass (), WhatElse (), Provide (palpitations), push (palpitations)] part of the dialogue action sequence 2. If you follow the state transition, it is assumed that you are in the state "s2d lev1" when the reliability when "Provide (headache)" is observed is relatively low, and the action "Confirm (headache)" is decided. Then, the state transitions to "s2d corr" and "Correct (dizziness)" is observed. Next, the action of "push (dizziness)" is determined, the transition to "s3c" occurs, and "pass ()" is observed. Next, when the action "WhatElse ()" is determined and "Provide (palpitations)" is observed with relatively high reliability, it is assumed that it is in "s2d lev0". Here, the transition to "s3c" is accompanied by the action "push" without confirmation.

このように、状態を、フロントエンド2002からの観測の信頼度に基づいて分割し、分割された状態毎に別々の行動を紐付けることができる。図6Dの例では、信頼度のレベル(つまり閾値での分割数)が2つで、信頼度が高いときには確認を行わず、信頼度が低いときには確認を行う。このような信頼度に応じた行動を定める方策を人手によって設定することは、信頼度のレベルが2つであれば容易である。信頼度のレベルを多段階にする場合においては、レベル毎に確認を行うか行わないかを設定することには、試行錯誤が必要となり得る。 In this way, the states can be divided based on the reliability of the observation from the front end 2002, and different actions can be associated with each divided state. In the example of FIG. 6D, when the reliability level (that is, the number of divisions at the threshold value) is two, the confirmation is not performed when the reliability is high, and the confirmation is performed when the reliability is low. It is easy to manually set such a policy for determining the behavior according to the reliability if the reliability level is two. When the reliability level is set to multiple levels, trial and error may be required to set whether to confirm or not for each level.

なお、図5の例についての説明において、対話行為シーケンス2について、観測の対話行為とそれに続く行動の対話行為との間で付帯情報が一致することを説明したが、図6Dでは、[s2d lev1,s2d posi,s3c」の経路で、例えば、[Provide(頭痛),Confirm(頭痛),Positive(),push(頭痛)]というシーケンスに対応する状態遷移も可能となっている。上述したように、エージェント2001は、取得した対話行為における対話行為タイプと分離した付帯情報については、取得した最新の1つを保持しているので、保持している最新の付帯情報を、必要に応じて行動の対話行為として補うことで、図6Dの状態遷移に対応できる。 In the explanation of the example of FIG. 5, it was explained that the incidental information matches between the observation dialogue action and the subsequent action dialogue action in the dialogue action sequence 2, but in FIG. 6D, [s2d lev1 , S2d pose, s3c ”, for example, state transitions corresponding to the sequences [Provide (headache), Confirm (headache), Positive (), push (headache)] are also possible. As described above, the agent 2001 holds the latest one of the acquired incidental information that is separated from the dialogue action type in the acquired dialogue act, so that the latest incidental information that is retained is necessary. Correspondingly, the state transition of FIG. 6D can be dealt with by supplementing the action as a dialogue action.

(比較実験結果)
以下、対話システム10の効果を定量的に示すための比較実験について説明する。
(Comparative experiment results)
Hereinafter, a comparative experiment for quantitatively showing the effect of the dialogue system 10 will be described.

対話システム10を用いて問診タスクとしての対話のシミュレーション実験を行った。図7は、対話システム10を用いたシミュレーション実験の結果を示す図である。 A simulation experiment of dialogue as an interview task was conducted using the dialogue system 10. FIG. 7 is a diagram showing the results of a simulation experiment using the dialogue system 10.

このシミュレーション実験では、知識ベース206として、39種類の症状と854の病気の関係を収めたものを用いた。また、対話行為タイプとして、観測2003、観測2006、行動2004、及び、行動2007(図2参照)に含まれる対話行為における対話行為タイプを用いた。対話のシミュレーション実験において対話システム10のフロントエンド2002と対話するユーザとしての患者シミュレータは、指定された病気と関連づけられた症状の回答(対話行為「Provide()」に相当する回答)を1回行い、その後は、対話システム10の質問に返答する。 In this simulation experiment, a knowledge base 206 containing the relationship between 39 types of symptoms and 854 diseases was used. Further, as the dialogue action type, the dialogue action types in the dialogue actions included in Observation 2003, Observation 2006, Action 2004, and Action 2007 (see FIG. 2) were used. In the dialogue simulation experiment, the patient simulator as a user who interacts with the front end 2002 of the dialogue system 10 makes a single answer (answer corresponding to the dialogue act "Provide ()") of the symptom associated with the specified disease. After that, the question of the dialogue system 10 is answered.

その他の主な条件は、以下の通りである。 Other main conditions are as follows.

・フロントエンド2002における言語理解の機能部分は、25%の割合で誤った症状を生成する。
・信頼度に応じた状態の分割数は4で、分割のための3つの閾値は、0.2、0.5及び0.8である。
・バックエンド2005(知識処理部207)は、症状に係る検索キーワードを用いて検索して特定された病気(病気の候補)が1つになるか、又は、病気を絞り込むためのキーワード(症状)の候補がなくなると、検索により特定された病気を結論として出力(エージェント2001に提供)する。それ以外の場合には、バックエンド2005は、絞り込むために有効なキーワードを提案(エージェント2001に提供)する。
・結論として得られた病気の数が3つ以内で、かつ、患者シミュレータに対して指定された病気が含まれれば、正解とする。
-The functional part of language comprehension in the front end 2002 produces false symptoms at a rate of 25%.
The number of divisions in the state according to the reliability is 4, and the three thresholds for division are 0.2, 0.5, and 0.8.
-The backend 2005 (Knowledge Processing Unit 207) searches for and identified diseases (disease candidates) using search keywords related to symptoms, or keywords (symptoms) for narrowing down the diseases. When there are no more candidates for, the disease identified by the search is output as a conclusion (provided to Agent 2001). Otherwise, the backend 2005 proposes (provides agent 2001) keywords that are valid for narrowing down.
-If the number of illnesses obtained in conclusion is 3 or less and the illnesses specified for the patient simulator are included, the answer is correct.

図7には、以上の条件で、「確認戦略なし」と、「確認戦略あり(hand-crafted)」と、「確認戦略あり(強化学習)」との3種類のモデルにおける実験結果をまとめている。ここで、「確認戦略なし」は、図6Cの状態遷移図に対応するモデルである。また、「確認戦略あり(hand-crafted)」は、信頼度が0.5以上の2つの状態については確認を行わず、信頼度が0.5未満の2つの状態については確認を行うようにしたものであり、図6Dの状態遷移図に対応するモデルである。「確認戦略あり(強化学習)」も、図6Dの状態遷移図の類型に相当するモデルであるが、このモデルでは、信頼度に応じた4つの状態が取るべき行動について、確認(Confirm)してから「push」するか、確認しないで「push」するかは、POMDPモデルでの強化学習によって得られた方策に従うようにした。ある環境内でエージェントは現在の状態を観測して取るべき行動を決定するところ、強化学習では、エージェントが逐次選択した行動を行うことで、環境から最も多くの報酬が得られるような方策を学習する。「確認戦略あり(強化学習)」のモデルの強化学習での報酬については、トレーニング用の対話コーパスに表れる対話行為の系列が通る経路については5、それ以外は−50を基本として、特に、「s2d corr」からの「push(*)」は100、「s2d posi」からの「push(*)」は−1として、誤りの訂正のための確認を行って訂正されれば価値が高く、訂正の必要がないときの確認は価値が低いという設定を行った。 FIG. 7 summarizes the experimental results of three types of models, "without confirmation strategy", "with confirmation strategy (hand-crafted)", and "with confirmation strategy (reinforcement learning)" under the above conditions. There is. Here, "no confirmation strategy" is a model corresponding to the state transition diagram of FIG. 6C. In addition, "with confirmation strategy (hand-crafted)" does not confirm the two states with a reliability of 0.5 or more, and confirms the two states with a reliability of less than 0.5. This is a model corresponding to the state transition diagram of FIG. 6D. "With confirmation strategy (reinforcement learning)" is also a model corresponding to the type of state transition diagram in Fig. 6D, but in this model, the actions to be taken by the four states according to the reliability are confirmed. Whether to "push" after that or to "push" without confirmation follows the policy obtained by reinforcement learning in the POMDP model. In an environment, the agent observes the current state and decides the action to be taken, and in reinforcement learning, the agent learns the policy to get the most reward from the environment by performing the action of successive selection. To do. Regarding the reward for reinforcement learning of the model with "confirmation strategy (reinforcement learning)", the route through which the sequence of dialogue actions appearing in the dialogue corpus for training passes is 5, and the others are based on -50, especially " "Push (*)" from "s2d corr" is 100, and "push (*)" from "s2d pose" is -1, and it is highly valuable if it is corrected by checking for error correction. The value of confirmation when there is no need for is low.

図7の平均ターン数は、フロントエンド2002とユーザ(患者シミュレータ)の間のインタラクションのみについてカウントしたターン数である。また、平均報酬は、「確認戦略あり(強化学習)」の他に強化学習を用いないモデルについても同じ条件で算出している。 The average number of turns in FIG. 7 is the number of turns counted only for the interaction between the front end 2002 and the user (patient simulator). In addition, the average reward is calculated under the same conditions for models that do not use reinforcement learning in addition to "with confirmation strategy (reinforcement learning)".

実験結果として図7のように、正解率は、「確認戦略あり(強化学習)」が最も高く、「確認戦略あり(hand-crafted)」が次に高く、「確認戦略なし」が最も低いことが確認できた。また、平均ターン数は、「確認戦略あり(強化学習)」が最も少なく、「確認戦略あり(hand-crafted)」が次に少なく、「確認戦略なし」が最も多いことが確認できた。また、得られる平均報酬は、「確認戦略あり(強化学習)」が最も高く、「確認戦略あり(hand-crafted)」が次に高く、「確認戦略なし」が最も低いことが確認できた。 As a result of the experiment, as shown in Fig. 7, the correct answer rate is highest for "with confirmation strategy (reinforcement learning)", next for "with confirmation strategy (hand-crafted)", and lowest for "without confirmation strategy". Was confirmed. In addition, it was confirmed that the average number of turns was the lowest with "confirmation strategy (reinforcement learning)", the second lowest with "hand-crafted", and the most with "without confirmation strategy". In addition, it was confirmed that the average reward obtained was highest for "with confirmation strategy (reinforcement learning)", next for "with confirmation strategy (hand-crafted)", and lowest for "without confirmation strategy".

なお、「確認戦略あり(強化学習)」のモデルの強化学習に用いたPOMDPソルバーによる学習結果が収束するまでに要した時間は1秒未満であるが、図6Aの状態遷移図に対応するモデルではPOMDPソルバーが要した時間は30日以上であった。 It should be noted that the time required for the learning result by the POMDP solver used for the reinforcement learning of the model with "confirmation strategy (reinforcement learning)" to converge is less than 1 second, but the model corresponding to the state transition diagram of FIG. 6A. Then, the time required for the POMDP solver was 30 days or more.

(他の実施の形態等)
以上のように、本発明に係る技術の例示として実施の形態1を用いて説明した。しかしながら、上述の実施の形態は一例にすぎず、各種の変更、付加、省略等が可能であることは言うまでもない。
(Other embodiments, etc.)
As described above, the first embodiment has been used as an example of the technique according to the present invention. However, it goes without saying that the above-described embodiment is only an example, and various changes, additions, omissions, etc. are possible.

上述の実施の形態では、バックエンド2005が知識ベース206の検索処理を行う例を示したが、バックエンド2005における情報処理は、検索処理でなくてもよく、いかなる処理であってもよい。バックエンド2005は知識ベース206以外の外部装置と通信してもよい。また、知識ベース206は必ずしもバックエンド2005の外部に存在する必要はなくバックエンド2005に含まれるものとしてもよい。 In the above-described embodiment, the back-end 2005 performs the search process of the knowledge base 206, but the information processing in the back-end 2005 does not have to be the search process and may be any process. The backend 2005 may communicate with an external device other than the knowledge base 206. Further, the knowledge base 206 does not necessarily have to exist outside the backend 2005, and may be included in the backend 2005.

また、上述の実施の形態では、フロントエンド2002、バックエンド2005が1つずつである例を示したが、フロントエンド2002及びバックエンド2005のそれぞれは、1つに限定されず、複数設けてもよい。 Further, in the above-described embodiment, an example in which one front end 2002 and one back end 2005 are shown, but each of the front end 2002 and the back end 2005 is not limited to one, and a plurality of each may be provided. Good.

また、上述の実施の形態では、付帯情報がキーワードである例を示したが、付帯情報は文字列以外の情報であってもよい。例えば、付帯情報は、標章、図形、画像、音声データ等であってもよい。また、例えば、付帯情報は、キーワードのみではなく、キーワードの種類を表すスロットとキーワードとの組であってもよい。 Further, in the above-described embodiment, an example in which the incidental information is a keyword is shown, but the incidental information may be information other than a character string. For example, the incidental information may be a mark, a figure, an image, audio data, or the like. Further, for example, the incidental information may be not only the keyword but also a set of a slot indicating the type of the keyword and the keyword.

また、上述の実施の形態では行動決定部203が、POMDPモデルに基づいて行動として対話行為タイプを決定することとしたが、行動決定部203は、必ずしもPOMDPモデルに基づくものでなくてもよい。行動決定部203は、例えば、信念状態に依らず、予め定められた方策と過去に入力された対話行為タイプの系列(履歴)とに基づいて、対話行為タイプを決定するものであってもよい。 Further, in the above-described embodiment, the action determination unit 203 determines the dialogue action type as an action based on the POMDP model, but the action determination unit 203 does not necessarily have to be based on the POMDP model. The action determination unit 203 may determine the dialogue action type based on a predetermined policy and a series (history) of the dialogue action types input in the past, regardless of the belief state, for example. ..

また、上述の実施の形態では、提供部205が、対話行為における先頭文字が大文字か小文字かにより対話行為の提供先がフロントエンド2002かバックエンド2005かを判定する例を示した。しかし、対話行為における対話行為タイプの値(対話行為タイプ値)が、フロントエンド2002に向けたものとして予め定められた種類(第1種)か、バックエンド2005に向けたものとして予め定められた種類(第2種)かにより区別できれば足りるので、その区別を、大文字か小文字かによる区別以外の方法で実現してもよい。提供部205が、対話行為タイプ値と、第1種か第2種かの種類(つまり提供先を区別する種類)とを対応付けた対応表を有していてもよい。例えば、提供部205は、決定部200により決定された提供用の対話行為における対話行為タイプが第1種及び第2種のいずれの対話行為タイプ値を表すかに基づいて、対話行為の提供先を選択し、選択した提供先へ対話行為を提供し得る。 Further, in the above-described embodiment, the providing unit 205 has shown an example in which the providing unit 205 determines whether the providing destination of the dialogue act is the front end 2002 or the back end 2005 depending on whether the first character in the dialogue act is uppercase or lowercase. However, the value of the dialogue type in the dialogue (dialogue type value) is predetermined as the type (first type) for the front end 2002 or for the back end 2005. Since it is sufficient if the distinction can be made according to the type (type 2), the distinction may be realized by a method other than the distinction between uppercase and lowercase letters. The providing unit 205 may have a correspondence table in which the dialogue action type value is associated with the type 1 or the type 2 (that is, the type that distinguishes the providing destinations). For example, the providing unit 205 is a destination of the dialogue action based on whether the dialogue action type in the dialogue action for provision determined by the determination unit 200 represents the dialogue action type value of the first type or the second type. Can be selected to provide dialogue to the selected destination.

上述の実施の形態では、対話システム10を問診に用いる場合を例として説明した。しかし、上述の対話行為タイプは、問診に限らず、対話により情報を特定するタスクにおいては共通するものである。 In the above-described embodiment, the case where the dialogue system 10 is used for the interview has been described as an example. However, the above-mentioned dialogue action type is common not only in interviews but also in tasks of identifying information by dialogue.

そのため、対話システム10を、問診の例に限らず、種々の分野において、ユーザとの対話により情報を特定するタスクの遂行に適用することが可能である。具体例としては、対話システム10は、料理等の分野でのレシピ検索、観光等の分野での旅行プラン検索、不動産売買等の分野での不動産物件検索、テレビジョン放送等の分野での映像コンテンツ検索等に適用可能である。この場合に、対話システム10(図2参照)では、例えば、知識ベース206には、所定の分野(対話システム10の適用分野等)に有用な情報を保持させておき、フロントエンド2002で、当該分野に関して、自然言語で表現される情報をユーザとの間で交換するようにすればよい。なお、対話システム10が行う対話処理は図3で例示した処理と同様である。 Therefore, the dialogue system 10 can be applied to the execution of a task of specifying information by dialogue with a user in various fields, not limited to the example of interview. As a specific example, the dialogue system 10 is used for recipe search in the field of cooking, travel plan search in the field of tourism, real estate property search in the field of real estate sales, video content in the field of television broadcasting, etc. It can be applied to searches, etc. In this case, in the dialogue system 10 (see FIG. 2), for example, the knowledge base 206 holds useful information in a predetermined field (application field of the dialogue system 10 and the like), and the front end 2002 provides the information. Information expressed in natural language regarding the field may be exchanged with the user. The dialogue process performed by the dialogue system 10 is the same as the process illustrated in FIG.

対話システム10をレシピ検索に用いる場合においては、知識ベース206に、例えば、食材、調味料、料理、調理方法等に関連する情報を保持させ、フロントエンド2002では、例えば、好みの料理のジャンルや食材等に関する情報をユーザとの対話により取得するようにすればよい。また、対話システム10を旅行プラン検索に用いる場合においては、知識ベース206に、例えば、行き先、人数、宿泊数、予算等に関する情報を保持させ、フロントエンド2002では、例えば、ユーザが所望する旅行プランの行き先や人数等に関する情報をユーザとの対話により取得するようにすればよい。また、対話システム10を不動産物件検索に用いる場合においては、知識ベース206には、例えば、住居エリア、間取り、築年数、最寄り駅からの距離、家賃等に関連する情報を保持させ、フロントエンド2002では、例えば、ユーザが所望する不動産物件の住居エリアや間取り等に関する情報をユーザとの対話により取得するようにすればよい。また、対話システム10を映像コンテンツ検索に用いる場合においては、知識ベース206には、例えば、ジャンル、出演者、放送局、放送日時等に関する情報を保持させ、フロントエンド2002では、例えば、ユーザが見たい番組のジャンルや出演者等に関する情報をユーザとの対話により取得するようにすればよい。なお、いずれのタスクにおいても、ユーザとの対話によりユーザから取得する情報の種類、取得順、総数等は、予め定められた一定値等である必要はなく、ユーザが所望する情報が十分に絞り込まれて特定されるという条件を満たすように動的に決定されればよい。 When the dialogue system 10 is used for recipe search, the knowledge base 206 is made to hold information related to, for example, ingredients, seasonings, dishes, cooking methods, etc., and in the front end 2002, for example, a favorite cooking genre or Information on ingredients and the like may be obtained through dialogue with the user. Further, when the dialogue system 10 is used for the travel plan search, the knowledge base 206 holds information on, for example, the destination, the number of people, the number of accommodations, the budget, etc., and the front end 2002, for example, the travel plan desired by the user. Information on the destination, the number of people, etc. may be obtained through dialogue with the user. Further, when the dialogue system 10 is used for real estate property search, the knowledge base 206 holds information related to, for example, a residential area, a floor plan, an age, a distance from the nearest station, a rent, etc., and front end 2002. Then, for example, information on the residential area, floor plan, etc. of the real estate property desired by the user may be acquired through dialogue with the user. Further, when the dialogue system 10 is used for video content search, the knowledge base 206 is made to hold information on, for example, a genre, a performer, a broadcasting station, a broadcasting date and time, and the front end 2002 is, for example, viewed by a user. Information on the genre of the desired program, performers, etc. may be acquired through dialogue with the user. In any task, the type, acquisition order, total number, etc. of information acquired from the user through dialogue with the user do not have to be a predetermined constant value, etc., and the information desired by the user is sufficiently narrowed down. It may be dynamically determined so as to satisfy the condition of being specified.

以上の各例において、エージェント2001における分離部202は、フロントエンド2002及びバックエンド2005のいずれかから取得した対話行為を対話行為タイプと付帯情報とに分離するが、前述のとおり、情報を特定するタスクでは、対話行為タイプは分野を問わず共通するため、対話行為タイプの値は、問診の例と同様のものを用いることができる。 In each of the above examples, the separation unit 202 in the agent 2001 separates the dialogue action acquired from either the front end 2002 or the back end 2005 into the dialogue action type and the incidental information, but specifies the information as described above. In the task, since the dialogue type is common regardless of the field, the value of the dialogue type can be the same as the example of the interview.

なお、具体的な適用分野に応じて、対話行為タイプを適宜追加してもよい。例えば、レシピ検索においては、実施の形態で例示した対話行為タイプに加え、ユーザからの情報要求に応じて推薦するレシピ(お薦めレシピ)の情報を提示するケースとして、フロントエンド2002からエージェント2001への推薦情報要求の対話行為タイプ「RequestRecommend」、エージェント2001からバックエンド2005への推薦情報探索の対話行為タイプ「seek_recommend」、バックエンド2005からエージェント2001への推薦情報提供の対話行為タイプ「inform_recommend」、エージェント2001からフロントエンド2002への推薦情報提示「PresentRecommend」、及び、お薦め情報等を追加してもよい。このようにして、分野に応じて効率的に情報の特定を行うことが可能となる。 It should be noted that the dialogue action type may be added as appropriate according to the specific application field. For example, in the recipe search, in addition to the dialogue action type illustrated in the embodiment, as a case of presenting information on a recipe (recommended recipe) recommended in response to an information request from the user, the front end 2002 to the agent 2001. Dialogue type "RequestRecommend" for requesting recommendation information, dialogue type "seek_recommend" for searching recommendation information from agent 2001 to backend 2005, dialogue type "inform_recommend" for providing recommendation information from backend 2005 to agent 2001, agent Recommendation information presentation "Present Recommend" from 2001 to the front end 2002, recommendation information, etc. may be added. In this way, it is possible to efficiently identify information according to the field.

また、上記実施の形態における各構成要素(エージェント2001、フロントエンド2002、バックエンド2005等)の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に1チップ化されていてもよいし、一部又はすべてを含むように1チップ化されてもよい。また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。 Further, a part or all of each component (agent 2001, front end 2002, back end 2005, etc.) in the above embodiment is composed of one system LSI (Large Scale Integration). May be. The system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on one chip, and specifically, is a computer system including a microprocessor, a ROM, a RAM, and the like. .. A computer program is recorded in the RAM. When the microprocessor operates according to the computer program, the system LSI achieves its function. In addition, each part of the component components constituting each of the above devices may be individually integrated into one chip, or may be integrated into one chip so as to include a part or all of them. Further, although the system LSI is used here, it may be referred to as an IC, an LSI, a super LSI, or an ultra LSI depending on the degree of integration. Further, the method of making an integrated circuit is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. An FPGA (Field Programmable Gate Array) that can be programmed after the LSI is manufactured, or a reconfigurable processor that can reconfigure the connection and settings of circuit cells inside the LSI may be used. Furthermore, if an integrated circuit technology that replaces an LSI appears due to advances in semiconductor technology or another technology derived from it, it is naturally possible to integrate functional blocks using that technology. The application of biotechnology, etc. is possible.

また、上記実施の形態における各構成要素の一部又は全部は、コンピュータ等の装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。 Further, a part or all of each component in the above embodiment may be composed of an IC card or a single module that can be attached to and detached from a device such as a computer. The IC card or the module is a computer system composed of a microprocessor, a ROM, a RAM, and the like. The IC card or the module may include the above-mentioned super multifunctional LSI. When the microprocessor operates according to a computer program, the IC card or the module achieves its function. This IC card or this module may have tamper resistance.

また、本発明の一態様としては、例えば図3、図5等に示す手順の全部又は一部を含む対話方法であるとしてもよい。対話システム10で用いられる対話方法は、例えば、エージェント2001が、フロントエンド2002及びバックエンド2005の一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、エージェント2001が、前記決定ステップで決定された提供用の対話行為を、フロントエンド2002及びバックエンド2005の一方へ提供する提供ステップとを含み、前記決定ステップでは提供用の対話行為における対話行為タイプを、フロントエンド2002及びバックエンド2005の集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。例えば、前記決定ステップは、フロントエンド2002及びバックエンド2005の集合から対話行為を逐次取得し、取得した対話行為における付帯情報と対話行為タイプとを分離する分離サブステップと、前記分離サブステップで分離された対話行為タイプを観測とし、その観測に基づいて、観測に対応して行動を決定するための基準となる信念状態情報を参照して、行動としての対話行為タイプを決定する行動決定サブステップと、前記行動決定サブステップで決定された対話行為タイプと前記分離サブステップで分離された付帯情報とを合成することで提供用の対話行為を生成する合成サブステップと、前記分離サブステップで分離された対話行為タイプの系列である観測と、前記行動決定サブステップで決定された対話行為タイプの系列である行動とに応じて信念状態情報を更新する更新ステップとを含む。また、この対話方法をコンピュータにより実現するコンピュータプログラム(例えば前記決定ステップと前記提供ステップとを含む対話制御処理を行うプログラム等)であるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、或いは前記プログラム又は前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。 Further, as one aspect of the present invention, for example, it may be a dialogue method including all or a part of the procedures shown in FIGS. 3, 5, and the like. The dialogue method used in the dialogue system 10 includes, for example, a determination step in which the agent 2001 determines a dialogue act for provision according to the dialogue action acquired from one of the front end 2002 and the back end 2005, and the agent 2001 is described above. The decision step includes the provision step of providing the offer dialogue determined in the decision step to one of the front end 2002 and the back end 2005, and the decision step sets the dialogue type in the offer dialogue to the front end 2002 and The determination is made based on the series of dialogue action types, not based on the series of incidental information, in the dialogue actions sequentially acquired from the set of backend 2005. For example, the determination step sequentially acquires the dialogue action from the set of the front end 2002 and the back end 2005, and separates the incidental information and the dialogue action type in the acquired dialogue action into a separation sub-step and the separation sub-step. The action decision substep that determines the dialogue action type as an action by referring to the belief state information that is the basis for deciding the action in response to the observation based on the observation. And the synthetic sub-step that generates the dialogue action for provision by synthesizing the dialogue action type determined in the action determination sub-step and the incidental information separated in the separation sub-step, and the separation in the separation sub-step. It includes an observation that is a series of dialogue action types that have been performed, and an update step that updates the belief state information according to the behavior that is a series of dialogue action types determined in the action determination substep. Further, it may be a computer program (for example, a program that performs a dialogue control process including the determination step and the provision step) that realizes this dialogue method by a computer, or it may be a digital signal composed of the computer program. Good. Further, as one aspect of the present invention, the computer program or a recording medium capable of reading the digital signal by a computer, for example, a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, or a BD. (Blu-ray (registered trademark) Disc), may be recorded on a semiconductor memory or the like. Further, it may be the digital signal recorded on these recording media. Further, as one aspect of the present invention, the computer program or the digital signal may be transmitted via a telecommunication line, a wireless or wired communication line, a network typified by the Internet, data broadcasting, or the like. Further, one aspect of the present invention is a computer system including a microprocessor and a memory, in which the memory records the computer program, and the microprocessor may operate according to the computer program. .. Also, by recording and transferring the program or the digital signal on the recording medium, or by transferring the program or the digital signal via the network or the like, it is carried out by another independent computer system. You may do so.

また、上記実施の形態で示した対話システム10に係る技術は、上述したサービスの態様(図1参照)の他、例えば、以下のクラウドサービスの類型において実現され得る。但し、上記実施の形態で示した技術の適用が、ここで説明するクラウドサービスの類型に限られるものではない。 Further, the technique related to the dialogue system 10 shown in the above embodiment can be realized in the following cloud service types, for example, in addition to the above-mentioned service mode (see FIG. 1). However, the application of the technology shown in the above embodiment is not limited to the types of cloud services described here.

(サービスの類型1:自社データセンタ型クラウドサービス)
図8は、サービスの類型1(自社データセンタ型クラウドサービス)における対話システムが提供するサービスの全体像を示す図である。本類型では、サービスプロバイダ1120が、機器1101からユーザ1010により入力される情報を取得し、ユーザ1010に対して機器1101を介してサービスを提供する。本類型では、サービスプロバイダ1120が、データセンタ運営会社の機能を有している。すなわち、サービスプロバイダ1120が、ビッグデータを管理するクラウドサーバを保有している。本類型では、データセンタ運営会社は存在しない。本類型では、サービスプロバイダ1120は、データセンタとしてのクラウドサーバ1203を有し、オペレーティングシステム(OS)1202及びアプリケーションプログラム(アプリケーション)1201を管理する。サービスプロバイダ1120は、OS1202及びアプリケーション1201を用いて、クラウドサーバ1203により機器1101と通信することで、サービスを提供する。
(Service type 1: In-house data center type cloud service)
FIG. 8 is a diagram showing an overall picture of the service provided by the dialogue system in the service type 1 (in-house data center type cloud service). In this type, the service provider 1120 acquires the information input by the user 1010 from the device 1101 and provides the service to the user 1010 via the device 1101. In this type, the service provider 1120 has the function of a data center operating company. That is, the service provider 1120 has a cloud server that manages big data. In this type, there is no data center operating company. In this type, the service provider 1120 has a cloud server 1203 as a data center, and manages an operating system (OS) 1202 and an application program (application) 1201. The service provider 1120 provides a service by communicating with the device 1101 by the cloud server 1203 using the OS 1202 and the application 1201.

(サービスの類型2:IaaS利用型クラウドサービス)
図9は、サービスの類型2(IaaS利用型クラウドサービス)における対話システムが提供するサービスの全体像を示す図である。ここで、IaaSとは、インフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築および稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
(Service type 2: IaaS cloud service)
FIG. 9 is a diagram showing an overall picture of the service provided by the dialogue system in the service type 2 (IaaS-based cloud service). Here, IaaS is an abbreviation for Infrastructure as a Service, and is a cloud service provision model that provides the infrastructure itself for constructing and operating a computer system as a service via the Internet.

本類型では、データセンタ運営会社1110が、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、OS1202及びアプリケーション1201を管理する。サービスプロバイダ1120は、サービスプロバイダ1120が管理するOS1202及びアプリケーション1201を用いてサービスを提供する。 In this type, the data center operating company 1110 operates and manages the data center (cloud server) 1203. The service provider 1120 also manages the OS 1202 and the application 1201. The service provider 1120 provides a service by using the OS 1202 and the application 1201 managed by the service provider 1120.

(サービスの類型3:PaaS利用型クラウドサービス)
図10は、サービスの類型3(PaaS利用型クラウドサービス)における対話システムが提供するサービスの全体像を示す図である。ここで、PaaSとは、プラットフォーム・アズ・ア・サービスの略であり、ソフトウェアを構築および稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
(Service type 3: Platform as a service cloud service)
FIG. 10 is a diagram showing an overall picture of the service provided by the dialogue system in the service type 3 (PaaS-based cloud service). Here, PaaS is an abbreviation for Platform as a Service, and is a cloud service provision model that provides a platform as a base for building and operating software as a service via the Internet.

本類型では、データセンタ運営会社1110は、OS1202を管理し、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、アプリケーション1201を管理する。サービスプロバイダ1120は、データセンタ運営会社1110が管理するOS1202及びサービスプロバイダ1120が管理するアプリケーション1201を用いてサービスを提供する。 In this type, the data center operating company 1110 manages the OS 1202 and operates and manages the data center (cloud server) 1203. The service provider 1120 also manages the application 1201. The service provider 1120 provides a service using the OS 1202 managed by the data center operating company 1110 and the application 1201 managed by the service provider 1120.

(サービスの類型4:SaaS利用型クラウドサービス)
図11は、サービスの類型4(SaaS利用型クラウドサービス)における対話システムが提供するサービスの全体像を示す図である。ここで、SaaSとは、ソフトウェア・アズ・ア・サービスの略である。SaaS利用型クラウドサービスは、例えば、データセンタ(クラウドサーバ)を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ(クラウドサーバ)を保有していない会社又は個人等の利用者がインターネット等のネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
(Service type 4: SaaS cloud service)
FIG. 11 is a diagram showing an overall picture of the service provided by the dialogue system in the service type 4 (Software as a Service cloud service). Here, SaaS is an abbreviation for Software as a Service. The SaaS cloud service is, for example, an application provided by a platform provider who owns a data center (cloud server), and a user such as a company or an individual who does not have a data center (cloud server) can use the Internet, etc. It is a cloud service provision model that has functions that can be used via the network of.

本類型では、データセンタ運営会社1110は、アプリケーション1201を管理し、OS1202を管理し、データセンタ(クラウドサーバ)1203を運営及び管理している。また、サービスプロバイダ1120は、データセンタ運営会社1110が管理するOS1202及びアプリケーション1201を用いてサービスを提供する。 In this type, the data center operating company 1110 manages the application 1201, manages the OS 1202, and operates and manages the data center (cloud server) 1203. Further, the service provider 1120 provides the service by using the OS 1202 and the application 1201 managed by the data center operating company 1110.

以上、いずれのクラウドサービスの類型においても、サービスプロバイダ1120がサービスを提供する。また、例えば、サービスプロバイダ又はデータセンタ運営会社は、OS、アプリケーション又はビッグデータのデータベース等を自ら開発してもよいし、また、第三者に開発させてもよい。 As described above, the service provider 1120 provides the service in any of the cloud service types. Further, for example, a service provider or a data center operating company may develop an OS, an application, a database of big data, or the like by itself, or may have a third party develop it.

なお、上述したクラウドサービスの類型に依らずに、図1に示す機器1101(例えばスマートフォン、PC等)単体で対話システム10を構成してもよいし、例えば、知識ベース206を機器1101の外部のネットワーク上に配置して知識ベース206及び機器1101とで対話システム10を構成してもよい。 The dialogue system 10 may be configured by the device 1101 (for example, a smartphone, a PC, etc.) shown in FIG. 1 alone, regardless of the type of cloud service described above. For example, the knowledge base 206 may be external to the device 1101. The dialogue system 10 may be configured by arranging on the network with the knowledge base 206 and the device 1101.

また、上記実施の形態で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。 Further, the scope of the present invention also includes a form realized by arbitrarily combining each component and a function shown in the above-described embodiment.

本発明は、例えば問診等といった対話により情報を提供する対話システムとして利用可能である。 The present invention can be used as a dialogue system that provides information through dialogue such as interviews.

10 対話システム
200 決定部
201 入力処理部
202 分離部
203 行動決定部
204 合成部
205 提供部
206 知識ベース
207 知識処理部
208 出力処理部
1010 ユーザ
1100 グループ
1101 機器
1102 ホームゲートウェイ
1110 データセンタ運営会社
1111 クラウドサーバ
1120 サービスプロバイダ
1121 サーバ
1201 アプリケーションプログラム
1202 オペレーティングシステム(OS)
1203 クラウドサーバ
2001 エージェント
2002 フロントエンド
2003、2006 観測
2004、2007 行動
2005 バックエンド
10 Dialogue system 200 Decision unit 201 Input processing unit 202 Separation unit 203 Action decision unit 204 Synthesis unit 205 Providing unit 206 Knowledge base 207 Knowledge processing unit 208 Output processing unit 1010 User 1100 Group 1101 Equipment 1102 Home gateway 1110 Data center operating company 1111 Cloud Server 1120 Service Provider 1121 Server 1201 Application Program 1202 Operating System (OS)
1203 Cloud Server 2001 Agent 2002 Front End 2003, 2006 Observation 2004, 2007 Action 2005 Back End

Claims (9)

ユーザインタフェース処理を行うフロントエンド、及び、情報処理を行うバックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行うエージェント装置であって、
前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定部と、
前記決定部により決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの前記一方又は他方へ選択的に提供する提供部とを備え、
前記決定部は、前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定し、
前記決定部は、前記提供用の対話行為における対話行為タイプを、過去に決定した対話行為タイプの系列にも基づいて、決定し、
前記決定部は、
観測としての対話行為タイプの系列に基づいて、行動としての対話行為タイプを決定する行動決定部と、
前記フロントエンド及び前記バックエンドの集合から対話行為を逐次取得し、取得した対話行為から付帯情報を分離することで対話行為タイプの系列を前記行動決定部に観測として逐次入力する分離部と、
前記行動決定部で決定された対話行為タイプと前記分離部で分離された付帯情報とを合成することで提供用の対話行為を生成する合成部とを有し、
前記行動決定部は、行動としての対話行為タイプの前記決定を、過去に決定した行動としての対話行為タイプの系列にも基づいて、行う
エージェント装置。
An agent device that exchanges dialogue actions, which are information in a predetermined dialogue action format composed of a front end that performs user interface processing and a back end that performs information processing, and a dialogue action type and incidental information. ,
A decision unit that determines the dialogue action for provision according to the dialogue action acquired from one of the front end and the back end, and
A providing unit that selectively provides the front-end and one or the other of the back-end the dialogue action for providing determined by the determining unit is provided.
The determination unit obtains the dialogue action type in the dialogue action for provision based on the dialogue action type sequence in the dialogue action sequentially acquired from the front end and the back end set, not based on the incidental information sequence. Decide and
The determination unit determines the dialogue action type in the dialogue action for provision based on the series of dialogue action types determined in the past.
The decision unit
A behavioral decision unit that determines the type of dialogue as an action based on a series of types of dialogue as an observation,
A separation unit that sequentially acquires dialogue actions from the front end and the set of back ends and sequentially inputs a series of dialogue action types to the action determination unit as observations by separating incidental information from the acquired dialogue actions.
It has a synthesis unit that generates a dialogue action for provision by synthesizing the dialogue action type determined by the action determination unit and the incidental information separated by the separation unit.
The action determination unit is an agent device that makes the determination of the dialogue action type as an action based on the sequence of the dialogue action type as the action determined in the past.
前記行動決定部は、POMDP(Partially Observable Markov Decision Process)モデルに基づいて行動を決定する
請求項1記載のエージェント装置。
The agent device according to claim 1, wherein the action decision unit determines an action based on a POMDP (Partially Observable Markov Decision Process) model.
前記観測としての対話行為タイプは、予め定められた複数の対話行為タイプ値のいずれかを表し、
前記行動としての対話行為タイプは、前記フロントエンドに向けた第1種の対話行為タイプ値と前記バックエンドに向けた第2種の対話行為タイプ値とに区別される予め定められた複数の対話行為タイプ値のいずれかを表し、
前記提供部は、前記決定部により決定された提供用の対話行為における対話行為タイプが第1種及び第2種のいずれの対話行為タイプ値を表すかに基づいて、前記フロントエンド及び前記バックエンドのうち当該対話行為の提供先を選択し、選択した提供先へ当該対話行為を提供する
請求項1又は2記載のエージェント装置。
The dialogue action type as the observation represents one of a plurality of predetermined dialogue action type values.
The dialogue action type as the action is a plurality of predetermined dialogues which are distinguished into a first type dialogue action type value toward the front end and a second type dialogue action type value toward the back end. Represents one of the action type values
The providing unit is the front end and the back end based on whether the dialogue type in the providing dialogue determined by the determination unit represents a type 1 or type 2 dialogue type value. The agent device according to claim 1 or 2, wherein the destination of the dialogue is selected, and the dialogue is provided to the selected destination.
前記付帯情報はキーワードを表す
請求項1〜3のいずれか一項に記載のエージェント装置。
The agent device according to any one of claims 1 to 3, wherein the incidental information represents a keyword.
請求項1〜4のいずれか一項に記載のエージェント装置と、
自然言語で表現される情報をユーザとの間で交換する前記フロントエンドと、
知識ベースの検索に基づき情報の提供を行う前記バックエンドとを備える
対話システム。
The agent device according to any one of claims 1 to 4,
The front end, which exchanges information expressed in natural language with the user,
An interactive system with the backend that provides information based on a knowledge base search.
前記付帯情報は前記知識ベースの検索のために利用可能なキーワードを表し、
前記バックエンドは、前記エージェント装置から取得した対話行為における付帯情報が表すキーワードを用いて前記知識ベースの検索処理を行い、検索処理の結果に基づいて生成した対話行為を前記エージェント装置に提供する
請求項5記載の対話システム。
The ancillary information represents keywords that can be used for the knowledge base search.
The back end performs the knowledge-based search process using keywords represented by incidental information in the dialogue action acquired from the agent device, and provides the agent device with the dialogue action generated based on the result of the search process. Item 5. The dialogue system according to item 5.
前記バックエンドは、前記知識ベースの検索処理の結果が充分に絞り込まれたか否かを判定し、充分に絞り込まれたと判定した場合には当該結果を表す対話行為を前記エージェント装置に提供し、充分に絞り込まれていないと判定した場合には前記検索処理の結果を絞り込むために有効なキーワードを表す対話行為を前記エージェント装置に提供する
請求項6記載の対話システム。
The backend determines whether or not the results of the knowledge-based search process have been sufficiently narrowed down, and if it is determined that the results have been sufficiently narrowed down, the backend provides the agent device with a dialogue action representing the results. The dialogue system according to claim 6, wherein when it is determined that the search process is not narrowed down to, the agent device is provided with a dialogue act representing a keyword effective for narrowing down the result of the search process.
自然言語で表現される情報をユーザとの間で交換するフロントエンドと、
知識ベースの検索に基づく情報の提供を行うバックエンドと、
前記フロントエンド及び前記バックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行うエージェント装置とを含む対話システムにおいて用いられる対話方法であって、
前記エージェント装置が、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、
前記エージェント装置が、前記決定ステップで決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの前記一方又は他方へ選択的に提供する提供ステップとを含み、
前記決定ステップでは前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定し、
前記決定ステップは、
前記フロントエンド及び前記バックエンドの集合から対話行為を逐次取得し、取得した対話行為における付帯情報と対話行為タイプとを分離する分離サブステップと、
前記分離サブステップで分離された対話行為タイプを観測とし、当該観測に基づいて、観測に対応して行動を決定するための基準となる信念状態情報を参照して、行動としての対話行為タイプを決定する行動決定サブステップと、
前記行動決定サブステップで決定された対話行為タイプと前記分離サブステップで分離された付帯情報とを合成することで提供用の対話行為を生成する合成サブステップと、
前記分離サブステップで分離された対話行為タイプの系列である観測と、前記行動決定サブステップで決定された対話行為タイプの系列である行動とに応じて前記信念状態情報を更新する更新ステップとを含む
対話方法。
A front end that exchanges information expressed in natural language with users,
A backend that provides information based on knowledge-based searches, and
A dialogue method used in a dialogue system including each of the front end and the back end, and an agent device that exchanges dialogue actions, which is information in a predetermined dialogue action format composed of a dialogue action type and incidental information. hand,
A determination step in which the agent device determines a dialogue action for provision according to a dialogue action acquired from one of the front end and the back end.
The agent apparatus includes a providing step of selectively providing the providing dialogue determined in the determination step to the one or the other of the front end and the back end.
In the determination step, the dialogue action type in the providing dialogue action is determined based on the dialogue action type sequence in the dialogue action sequentially acquired from the front end and the back end set, not based on the incidental information sequence. And
The determination step
A separation substep that sequentially acquires dialogue actions from the front end and the set of back ends and separates the incidental information and the dialogue action type in the acquired dialogue actions,
The dialogue action type as an action is determined by referring to the belief state information that is the reference for determining the action in response to the observation based on the observation, assuming that the dialogue action type separated in the separation substep is observed. Action decision substeps to decide and
A synthetic substep that generates a dialogue action for provision by synthesizing the dialogue action type determined in the action determination substep and the incidental information separated in the separation substep, and
An observation that is a series of dialogue action types separated in the separation sub-step, and an update step that updates the belief state information according to an action that is a series of dialogue action types determined in the action determination sub-step. Dialogue method including.
ユーザインタフェース処理を行うフロントエンド、及び、情報処理を行うバックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行う対話制御処理を、コンピュータに実行させるためのプログラムであって、
前記対話制御処理は、
前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、
前記決定ステップで決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの前記一方又は他方へ選択的に提供する提供ステップとを含み、
前記決定ステップでは前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定し、
前記決定ステップでは、前記提供用の対話行為における対話行為タイプを、過去に決定した対話行為タイプの系列にも基づいて、決定し、
前記決定ステップは、
観測としての対話行為タイプの系列に基づいて、行動としての対話行為タイプを決定する行動決定サブステップと、
前記フロントエンド及び前記バックエンドの集合から対話行為を逐次取得し、取得した対話行為から付帯情報を分離することで対話行為タイプの系列を前記行動決定サブステップに観測として逐次入力する分離サブステップと、
前記行動決定サブステップで決定された対話行為タイプと前記分離サブステップで分離された付帯情報とを合成することで提供用の対話行為を生成する合成サブステップとを含み、
前記行動決定サブステップでは、行動としての対話行為タイプの前記決定を、過去に決定した行動としての対話行為タイプの系列にも基づいて、行う
プログラム。
A dialogue control process for exchanging dialogue actions, which is information in a predetermined dialogue action format composed of a front end that performs user interface processing and a back end that performs information processing, and a dialogue action type and incidental information. A program to be executed by a computer
The dialogue control process is
A decision step for determining a dialogue action for provision according to a dialogue action acquired from one of the front end and the back end, and
Includes a providing step of selectively providing the providing dialogue determined in the determination step to the one or the other of the front end and the back end.
In the determination step, the dialogue action type in the providing dialogue action is determined based on the dialogue action type sequence in the dialogue action sequentially acquired from the front end and the back end set, not based on the incidental information sequence. And
In the determination step, the dialogue type in the provisional dialogue is determined based on the series of dialogue types determined in the past.
The determination step
Action decision substeps that determine the type of dialogue as an action, based on a sequence of types of dialogue as an observation,
A separation substep in which dialogue actions are sequentially acquired from the front end and the set of back ends, and incidental information is separated from the acquired dialogue actions, so that a sequence of dialogue action types is sequentially input to the action determination substep as an observation. ,
It includes a synthetic sub-step that generates a dialogue action for provision by synthesizing the dialogue action type determined in the action determination sub-step and the incidental information separated in the separation sub-step.
In the action determination substep, a program in which the determination of the dialogue action type as an action is made based on a series of dialogue action types as an action determined in the past.
JP2017012528A 2016-07-01 2017-01-26 Agent device, dialogue system, dialogue method and program Active JP6832502B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710404504.3A CN107562770A (en) 2016-07-01 2017-06-01 Information processing method and recording medium
US15/627,350 US11055799B2 (en) 2016-07-01 2017-06-19 Information processing method and recording medium
EP18190248.7A EP3438988A1 (en) 2016-07-01 2017-06-20 Information processing method and recording medium
EP17176796.5A EP3264301A1 (en) 2016-07-01 2017-06-20 Information processing method and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016131739 2016-07-01
JP2016131739 2016-07-01

Publications (2)

Publication Number Publication Date
JP2018010610A JP2018010610A (en) 2018-01-18
JP6832502B2 true JP6832502B2 (en) 2021-02-24

Family

ID=60995597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017012528A Active JP6832502B2 (en) 2016-07-01 2017-01-26 Agent device, dialogue system, dialogue method and program

Country Status (1)

Country Link
JP (1) JP6832502B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7013329B2 (en) * 2018-06-14 2022-01-31 ヤフー株式会社 Learning equipment, learning methods and learning programs
CN110931137B (en) * 2018-09-19 2023-07-07 京东方科技集团股份有限公司 Machine-assisted dialog systems, methods, and apparatus
US11288459B2 (en) 2019-08-01 2022-03-29 International Business Machines Corporation Adapting conversation flow based on cognitive interaction
CN112420026B (en) * 2019-08-23 2024-06-18 微软技术许可有限责任公司 Optimizing keyword retrieval system
CN112100353B (en) * 2020-09-15 2024-06-07 京东方科技集团股份有限公司 Man-machine conversation method and system, computer equipment and medium
WO2024069974A1 (en) * 2022-09-30 2024-04-04 日本電信電話株式会社 Dialogue device, dialogue method, and dialogue program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001061616A2 (en) * 2000-02-14 2001-08-23 First Opinion Corporation Automated diagnostic system and method
JP4728905B2 (en) * 2006-08-02 2011-07-20 クラリオン株式会社 Spoken dialogue apparatus and spoken dialogue program
JP4881903B2 (en) * 2008-03-18 2012-02-22 ヤフー株式会社 Script creation support method and program for natural language dialogue agent
JP5286062B2 (en) * 2008-12-11 2013-09-11 日本電信電話株式会社 Dialogue device, dialogue method, dialogue program, and recording medium
EP2839391A4 (en) * 2012-04-20 2016-01-27 Maluuba Inc Conversational agent
JP5857090B2 (en) * 2014-05-26 2016-02-10 ソフトバンク株式会社 Information search device, information search program, and information search system
JP2016001242A (en) * 2014-06-11 2016-01-07 日本電信電話株式会社 Question sentence creation method, device, and program

Also Published As

Publication number Publication date
JP2018010610A (en) 2018-01-18

Similar Documents

Publication Publication Date Title
JP6832502B2 (en) Agent device, dialogue system, dialogue method and program
US11055799B2 (en) Information processing method and recording medium
US8751433B2 (en) Efficient probabilistic reasoning over semantic data
US20170187654A1 (en) Non-transitory computer-readable recording medium, method, system, and apparatus for exchanging message
US9514425B2 (en) Method and system for providing user-customized contents
JP6163607B2 (en) Method and apparatus for constructing event knowledge database
JP2017010528A (en) Semantic information generation method, semantic information generation apparatus, and program
JPWO2020065840A1 (en) Computer systems, speech recognition methods and programs
US20180226067A1 (en) Modifying a language conversation model
CN112639827A (en) Automatically generating conversational services from computing applications
CN109740122A (en) The conversion method and device of mind map use-case file
JP2009140467A (en) Method and system for providing and using editable personal dictionary
US20180218264A1 (en) Dynamic resampling for sequential diagnosis and decision making
KR20190023316A (en) Question-answering system based dialogue model
JP2022516227A (en) Natural language solution
WO2018167885A1 (en) Information processing device, information processing method, and information processing program
Murungi et al. Theory through argument: Applying argument mapping to facilitate theory building
JP6817593B2 (en) Information processing methods, information processing devices and programs
JP7473389B2 (en) Learning model generation system and learning model generation method
US11031111B1 (en) Systems and methods for optimizing clinical workflow using a prioritization engine
CN109313638B (en) Application recommendation
CN115862862A (en) Disease prediction method, device and computer readable storage medium
US20220108071A1 (en) Information processing device, information processing system, and non-transitory computer readable medium
Chakrabarti Artificial conversations for chatter bots using knowledge representation, learning, and pragmatics
Le et al. Generating predictable and adaptive dialog policies in single-and multi-domain goal-oriented dialog systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201211

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210113

R151 Written notification of patent or utility model registration

Ref document number: 6832502

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151