JP6553007B2 - 対話フロー制御装置、対話フロー制御方法およびプログラム - Google Patents

対話フロー制御装置、対話フロー制御方法およびプログラム Download PDF

Info

Publication number
JP6553007B2
JP6553007B2 JP2016178741A JP2016178741A JP6553007B2 JP 6553007 B2 JP6553007 B2 JP 6553007B2 JP 2016178741 A JP2016178741 A JP 2016178741A JP 2016178741 A JP2016178741 A JP 2016178741A JP 6553007 B2 JP6553007 B2 JP 6553007B2
Authority
JP
Japan
Prior art keywords
slot
input
behavior
priority
flow control
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
JP2016178741A
Other languages
English (en)
Other versions
JP2018045381A (ja
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2016178741A priority Critical patent/JP6553007B2/ja
Publication of JP2018045381A publication Critical patent/JP2018045381A/ja
Application granted granted Critical
Publication of JP6553007B2 publication Critical patent/JP6553007B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明の実施形態は、対話フロー制御装置、対話フロー制御方法およびプログラムに関する。
従来、ユーザーの入力に対して、予め用意されたシナリオやモデルに従ってシステムの振る舞いを決定して対話制御を行う対話システムが知られている。また、このような対話システムにおいて、開発者がルールを手作業で整備するのではなく、事例データから統計的にシステムの最適な振る舞いを学習する部分観測マルコフモデル(POMDP:Partially Observable Markov Decision Process)を利用した対話制御を行う対話システム(以下、「POMDP対話システム」と称する場合がある)が提案されている。
特許第4890585号公報
Jason D. Williams. Applying POMDPs to dialog systems in the troubleshooting domain, In Workshop on Bridging the Gap, pp. 1-8, Rochester, New York, 2007. Association for Computational Linguistics.
しかし、従来技術のように、事例データからの学習に依存し過ぎると、人間にとって自然な対話制御ができない場合があるという問題があった。
実施形態の対話フロー制御装置は、ユーザーの入力に対する振る舞いを決定して対話制御を行う対話フロー制御装置であって、入力解釈部と決定部と記憶部と修正部とを備える。入力解釈部は、ユーザーの入力を解釈する。決定部は、入力解釈部による解釈結果に基づいて対話フロー制御装置の振る舞いを決定する。記憶部は、相互に依存関係の無い独立な事象を示す複数のスロットごとに、該スロットの優先度合いを示す優先度情報と、該スロットに対応する値が未入力か否かを示す入力情報とを示すリスト情報を記憶する。修正部は、リスト情報の中に、決定部により決定された振る舞いに関するスロットが存在し、該スロットよりも優先度が高く、かつ、未入力のスロットを示す優先スロットが存在する場合は、決定部により決定された振る舞いを、優先スロットに関する振る舞いに修正する。
第1の実施形態の対話フロー制御装置のハードウェア構成を示す図。 第1の実施形態の対話フロー制御装置が有する機能を示す図。 第1の実施形態のリスト情報を示す図。 第1の実施形態の対話フロー制御装置の動作例を示すフローチャート。 第2の実施形態の対話状態の一例を示す図。 第2の実施形態の対話状態の一例を示す図。 第2の実施形態の対話フロー制御装置の動作例を示すフローチャート。 第3の実施形態の語彙ルールを示す図。 第3の実施形態の配送社情報を示す図。 第3の実施形態の対話状態の一例を示す図。 第3の実施形態のリスト情報を示す図。 第3の実施形態の各配送社の特徴を示す図。 第3の実施形態の対話フロー制御装置の動作例を示すフローチャート。
以下、添付図面を参照しながら、実施形態に係る対話フロー制御装置、対話フロー制御方法およびプログラムの実施形態を詳細に説明する。
(第1の実施形態)
まず、本実施形態の対話フロー制御装置1の構成について説明する。本実施形態の対話フロー制御装置1は、部分観測マルコフモデル(POMDP:Partially Observable Markov Decision Process)を利用した対話制御を行う対話システム(POMDP対話システム)である。POMDP対話システムとは、ユーザーの入力に対して、入力を解釈し、振る舞いを決定して対話制御を行うシステムである。また、本実施形態の対話フロー制御装置1は、商品購入を目的とした対話制御を行うが、その目的は任意に変更可能である。なお、この例では、対話フロー制御装置1は、POMDP対話システムであることを例に挙げて説明するが、これに限らず、それ以外の既存の対話システムであっても構わない。要するに、対話フロー制御装置1は、ユーザーの入力に対する振る舞いを決定して対話制御を行う装置であればよい。
POMDP対話システムでは、ユーザーの入力からユーザーの行動目的の集合に関する確率分布で表される対話状態を推定し、その対話状態に対して最適なシステムの振る舞い(以下「アクション」と称する場合がある)を決定する(例えば、前述の非特許文献1参照)。各対話状態に対してどのシステムの振る舞いが最適かは、各対話状態に対して様々な振る舞いを実行してみて、ユーザーの目的が達成できなければペナルティを与え、ユーザーの目的が達成できれば報酬を与え、またより早く目的に到達できれば大きな報酬を与えるという強化学習によって、最終的に得られる報酬が最大となる振る舞いを習得する。この方式を採用することにより、システム開発者の対話シナリオのルールを整備する負担を削減することができ、ルールを整備することが困難なほどの大規模な対話システムの実現も、対話の事例データを用意することで可能になる。
図1は、本実施形態の対話フロー制御装置1のハードウェア構成の一例を示す図である。ここでは、対話フロー制御装置1のハードウェア構成は、通常のコンピュータのハードウェア構成と同様である。図1に示すように、対話フロー制御装置1は、CPU101、ROM102、RAM103、記憶部104、表示部105、操作部106を備える。
CPU101は、対話フロー制御装置1の動作を統括的に制御する。CPU101は、RAM103の所定の領域を作業領域として、ROM102に記録された各種制御プログラムを実行して、対話フロー制御装置1が有する各種の機能を実現させる。対話フロー制御装置1が有する機能の具体的な内容については後述する。
ROM102は、対話フロー制御装置1に関わるプログラムや各種設定情報などを記憶する不揮発性のメモリ(書き換え不可能なメモリ)である。
RAM103は、例えばSDRAMなどの記憶手段であって、CPU101の作業エリアとして機能し、バッファなどの役割を果たす。
記憶部104は、磁気的または光学的に記憶可能な記憶媒体を有し、各種設定情報や処理結果などを記録する補助記憶装置としての役割を果たす。
表示部105は、対話フロー制御装置1に関する各種の情報を表示するデバイスであり、例えば液晶ディスプレイなどで構成される。
操作部106は、ユーザーの操作を受け付けるためのデバイスである。なお、表示部105と操作部106とが一体的に構成される(例えばタッチパネルとして構成される)形態であってもよい。
図2は、対話フロー制御装置1が有する機能の一例を示す図である。図2に示すように、対話フロー制御装置1は、入力解釈部110と、決定部111と、第1の記憶部112と、修正部113と、第2の記憶部114と、を有する。説明の便宜上、図2では、本実施形態に関する機能を主に例示しているが、対話フロー制御装置1が有する機能は、これらに限られるものではない。
入力解釈部110は、ユーザーの入力を解釈する。入力解釈部110は、第1の記憶部112に記憶された入力解釈モデル(ユーザーの入力の解釈に用いられるモデル)や、入力文のキーワードに着目する入力解釈ルールを用いて、ユーザーの入力を解釈する。例えばユーザーの入力として、「お米を3kg購入します」という発話を受け付けた場合、入力解釈部110は前述の入力解釈モデルを使って、ユーザーの発話内容(発話意図)は、商品名が「お米」で、個数が「3kg」であり、それぞれの確率が0.9であると推定する。ここでは、対話フロー制御装置1は入力に誤りが含まれていることも考慮しているため、上記のように確率が1.0にならない場合もある。また、入力解釈部110は、前述の入力解釈ルールを用いて、ユーザーの発話内容を推定することもできる。そして、入力解釈部110は、上記推定結果を、入力解釈部110による解釈結果として決定部111へ出力する。
なお、この例では、対話フロー制御装置1の目的は商品購入と決まっているため、ユーザーの行為の推定は省略されているが、複数の行為が選択可能な対話システムの場合には、入力解釈部110は、前述の入力解釈モデルや前述の入力解釈ルールを用いて、例えば購入、予約、返品などのユーザーの行為の推定を行ってもよい。入力解釈部110による解釈方法としては、公知の様々な技術を利用可能である。
決定部111は、入力解釈部110による解釈結果に基づいて、対話フロー制御装置1の振る舞いを決定する。この例では、決定部111は、入力解釈部110による解釈結果と、機械学習の結果と、に基づいて、対話フロー制御装置1の振る舞いを決定することができる。より具体的には、決定部111は、入力解釈部110から入力される解釈結果と、第1の記憶部112に記憶された振る舞い決定モデル(強化学習によって得られた、システムの振る舞いを決定するのに用いられるモデル)と、に基づいて、対話フロー制御装置1の振る舞いを決定することができる。この例では、ユーザーが商品を購入するための発話(入力)を行ったときに、システム(対話フロー制御装置1)が商品の配送先を確認する振る舞いを行ったときに報酬を与えるという強化学習が行われていることを前提とする。POMDPを利用したシステムの振る舞いを決定する方法としては、公知の様々な技術を利用可能である。また、決定部111は、入力解釈部110による解釈結果と、システムの振る舞いを決定するための振る舞い決定ルールと、に基づいて、対話フロー制御装置1の振る舞いを決定することもできる。これは、後述の他の実施形態においても同様である。要するに、決定部111は、少なくとも入力解釈部110による解釈結果に基づいて、対話フロー制御装置1の振る舞いを決定することができる。
第1の記憶部112は、前述の入力解釈モデル/入力解釈ルールと、前述の振る舞い決定モデル/振る舞い決定ルールと、を記憶する。また、第2の記憶部114は、「記憶部」の一例であり、リスト情報を記憶する。リスト情報は、相互に依存関係の無い独立な事象を示す複数のスロットごとに、該スロットの優先度合いを示す優先度情報と、該スロットに対応する値が未入力か否かを示す入力情報とを示す情報である。図3は、リスト情報の一例である。図3の例では、リスト情報は、「氏名」、「住所」、「電話番号」という3つのスロットごとに、優先度情報と入力情報を示している。この例における優先度情報は、値が小さいほど優先度合いが高いことを表しているが、これに限らず、例えば値が大きいほど優先度合いが高いという態様であってもよい。
また、例えばリスト情報は、複数のスロットごとに優先度情報を対応付けた第1の対応情報と、複数のスロットごとに入力情報を対応付けた第2の対応情報とに分割されて第2の記憶部114に格納される形態であってもよいし、第1の対応情報と第2の対応情報とが別々のメモリに記憶される形態であっても構わない。この例では、第1の記憶部112や第2の記憶部114は、図1に示す記憶部104やROM102等の記憶装置によって実現される。ここでは、第1の記憶部112と第2の記憶部114は別々の記憶装置によって実現されるが、これに限らず、例えば共通の記憶装置で実現されてもよい。
修正部113は、リスト情報の中に、決定部111により決定された振る舞いに関するスロットが存在し、該スロットよりも優先度が高く、かつ、未入力のスロットを示す優先スロットが存在する場合は、決定部111により決定された振る舞いを、優先スロットに関する振る舞いに修正する。
例えば決定部111により決定された振る舞いが、配送先を確認するために電話番号を質問するという振る舞いであり、リスト情報が図3の状態である場合を想定する。この場合、決定部111により決定された振る舞いに関するスロットは「電話番号」であり、このスロットは、図3に示すリスト情報の中に存在する。図3に示すリスト情報においては、「電話番号」に対応する優先度情報は「3」を示し、これよりも優先度が高く、かつ、未入力のスロットとして、「氏名」と「住所」が存在する。ここでは、リスト情報の中に、決定部111により決定された振る舞いに関するスロットよりも優先度が高く、かつ、未入力のスロットが複数存在する場合、修正部113は、その中で最も優先度が高いスロットを優先スロットとして選択する。したがって、修正部113は、「氏名」を示すスロットを優先スロットとして選択する。そして、修正部113は、決定部111により決定された振る舞いを、優先スロット「氏名」に関する振る舞いに修正する。この例では、修正部113は、「商品の届け先を確認します。電話番号をお願いします。」というメッセージを出力するアクション(電話番号を質問するという振る舞い)を、「商品の届け先を確認します。氏名をお願いします。」というメッセージを出力するアクション(氏名を質問するという振る舞い)に修正し、その修正した振る舞いを実行することになる。
また、修正部113は、決定部111により決定された振る舞いを優先スロットに関する振る舞いに修正した後、優先スロットに対応する入力情報を、入力済みであることを示す入力情報に変更する。上記の例では、修正部113は、「氏名」を示すスロットに対応する入力情報を、入力済みであることを示す入力情報に変更する。
図4は、本実施形態の対話フロー制御装置1の動作例を示すフローチャートである。各ステップの具体的な内容は前述したとおりであるので、詳細な説明は適宜に省略する。まず、入力解釈部110は、ユーザーの入力を解釈し(ステップS1)、その解釈結果を決定部111へ出力する。次に、決定部111は、ステップS1の解釈結果と、前述の振る舞い決定モデルとに基づいて、対話フロー制御装置1の振る舞いを決定する(ステップS2)。
次に、修正部113は、前述のリスト情報の中に、ステップS2で決定された振る舞いに関するスロットが含まれているか否かを確認する(ステップS3)。ステップS3の結果が否定の場合(ステップS3:No)、修正部113は、ステップS2で決定された振る舞いを実行する(ステップS11)。ステップS3の結果が肯定の場合(ステップS3:Yes)、修正部113は、リスト情報の中に、ステップS2で決定された振る舞いに関するスロットよりも優先度が高く、かつ、未入力のスロットが存在するか否かを確認する(ステップS4)。
ステップS4の結果が否定の場合(ステップS4:No)、処理は前述のステップS11に移行する。ステップS4の結果が肯定の場合(ステップS4:Yes)、修正部113は、ステップS2で決定された振る舞いに関するスロットよりも優先度が高く、かつ、未入力のスロットが複数存在するか否かを確認する(ステップS5)。ステップS5の結果が否定の場合(ステップS5:No)、修正部113は、ステップS4で抽出したスロットを優先スロットとして選択する(ステップS6)。ステップS5の結果が肯定の場合(ステップS5:Yes)、修正部113は、優先度が最も高いスロットを優先スロットとして選択する(ステップS7)。
前述のステップS6または前述のステップS7の後、修正部113は、ステップS2で決定された振る舞いを、優先スロットに関する振る舞いに修正する(ステップS8)。そして、修正部113は、優先スロットに対応する入力情報を、入力済みであることを示す入力情報に変換する(ステップS9)。そして、修正部113は、ステップS8で修正した振る舞いを実行する(ステップS10)。なお、以上に説明した各ステップの順番は任意に変更可能である。
以上に説明したように、本実施形態では、複数のスロットごとに優先度情報と入力情報とを示す前述のリスト情報を予め用意(既存のPOMDP対話システムの外付けで用意)しておく。そして、前述のリスト情報の中に、既存のPOMDP対話システムで決定された振る舞い(前述の決定部111により決定された振る舞い)に関するスロットが存在し、該スロットよりも優先度が高く、かつ、未入力のスロットを示す優先スロットが存在する場合は、POMDP対話システムで決定された振る舞いを、優先スロットに関する振る舞いに修正する。これにより、事例データからの学習に依存し過ぎることなく、人間にとって自然な対話制御を実現できるという有利な効果を達成できる。
(第2の実施形態)
次に、第2の実施形態について説明する。前述の第1の実施形態と共通する部分については適宜に説明を省略する。本実施形態では、第2の記憶部114は、「非会員のユーザーが商品購入のための発話を行った」という条件を満たす場合に使用されるリスト情報(条件付きのリスト情報)を記憶している点で前述の第1の実施形態と相違する。この例におけるリスト情報は図3と同じ態様であるが、これに限らず、リスト情報は任意に設定可能である。また、本実施形態では、第2の記憶部114は、1つの条件に対応する1つのリスト情報のみを記憶しているが、これに限らず、後述の第3の実施形態のように、複数の条件と1対1に対応し、かつ、個別に設定される複数のリスト情報を記憶する形態であってもよい。なお、本実施形態の対話フロー制御装置1の基本構成は上述の第1の実施形態と同様である。
本実施形態の対話フロー制御装置1は、入力解釈部110が、ユーザーが商品を購入するための発話(例えば「お米を3kg購入します」といった発話)を行ったと解釈した場合、予め氏名、住所、電話番号等の配送先に関する情報が登録済みの会員であるか否かを確認するためのメッセージを出力(音声でも良いし画像でもよい)する。そして、入力解釈部110は、その後のユーザーの入力(会員であるか非会員であるかの回答)を解釈する。
この例における入力解釈部110は、ユーザーの入力の解釈結果に対応する対話状態を推定する。この例では、対話状態は、複数のスロットごとの値と確率とで表され、例えば「会員のユーザーが、お米を3kg購入するための発話を行った」という対話状態は図5のように表される。図5の例では、氏名、住所、電話番号の各々に対応する値と確率がブランクになっているが、ユーザー種類に対応する値が「会員」を示す場合、氏名、住所、電話番号の各々に対応する値は登録済みであるので、対話状態として記録する必要は無い。一方、例えば「非会員のユーザーが、お米を3kg購入するための発話を行った」という対話状態は図6のように表される。
決定部111は、入力解釈部110による解釈結果と、前述の振る舞い決定モデルとに基づいて、対話フロー制御装置1の振る舞いを決定する。ここでは、ユーザーが商品を購入するための発話を行ったと解釈された場合、対話フロー制御装置1の振る舞いとして、配送先を確認するという振る舞いが決定されるように学習されている。
修正部113は、入力解釈部110により推定された対話状態に合致する条件に対応するリスト情報の中に、決定部111により決定された振る舞いに関するスロットが存在し、かつ、前述の優先スロットが存在する場合は、決定部111により決定された振る舞いを、優先スロットに関する振る舞いに修正する。
例えば決定部111により決定された振る舞いが、配送先を確認するために電話番号を質問するという振る舞いであり、入力解釈部110により推定された対話状態が図6の状態である場合を想定する。前述したように、この例では、第2の記憶部114は、非会員のユーザーが商品購入のための発話を行ったという条件に対応するリスト情報を記憶しているので、入力解釈部110により推定された対話状態(図6の状態)に合致する条件に対応するリスト情報が第2の記憶部114に存在することになる。そして、この場合、決定部111により決定された振る舞いに関するスロットは「電話番号」であり、このスロットは、第2の記憶部114に記憶されたリスト情報(図3参照)の中に存在する。図3に示すリスト情報においては、「電話番号」に対応する優先度情報は「3」を示し、これよりも優先度が高く、かつ、未入力のスロットとして、「氏名」と「住所」が存在する。ここでは、リスト情報の中に、決定部111により決定された振る舞いに関するスロットよりも優先度が高く、かつ、未入力のスロットが複数存在する場合、修正部113は、その中で最も優先度が高いスロットを優先スロットとして選択する。したがって、修正部113は、「氏名」を示すスロットを優先スロットとして選択する。そして、修正部113は、決定部111により決定された振る舞いを、優先スロット「氏名」に関する振る舞いに修正し、その修正した振る舞いを実行することになる。
図7は、本実施形態の対話フロー制御装置1の動作例を示すフローチャートである。各ステップの具体的な内容は前述したとおりであるので、詳細な説明は適宜に省略する。まず、入力解釈部110は、ユーザーの入力を解釈し(ステップS101)、その解釈結果に対応する対話状態を推定する(ステップS102)。次に、決定部111は、ステップS101の解釈結果と、前述の振る舞い決定モデルとに基づいて、対話フロー制御装置1の振る舞いを決定する(ステップS103)。
次に、修正部113は、ステップS102で推定された対話状態に合致する条件に対応するリスト情報が存在するか否かを確認する(ステップS104)。前述したように、この例では、第2の記憶部114は、非会員のユーザーが商品購入のための発話を行ったという条件に対応するリスト情報を記憶しているので、ステップS102で推定された対話状態が、非会員のユーザーが商品購入のための発話を行った状態を表す場合、ステップS104の結果は肯定となる。
ステップS104の結果が肯定の場合(ステップS104:Yes)、修正部113は、ステップS102で推定された対話状態に合致する条件に対応するリスト情報の中に、ステップS103で決定された振る舞いに関するスロットが含まれているか否かを確認する(ステップS105)。この処理内容は、図4に示すステップS3の処理内容と同様であるので、詳細な説明は省略する。以降のステップS106〜ステップS113の処理内容は、図4に示すステップS4〜ステップS11の処理内容と同様である。
以上に説明した本実施形態の構成であっても、上述の第1の実施形態と同様に、事例データからの学習に依存し過ぎることなく、人間にとって自然な対話制御を実現できる。また、本実施形態によれば、条件ごとにリスト情報を用意し、対話状態に応じてリスト情報を切り替えることにより、より自然な対話制御を実現できるという顕著な効果を達成できる。
(第3の実施形態)
次に、第3の実施形態について説明する。前述の第2の実施形態と共通する部分については適宜に説明を省略する。本実施形態では、第2の記憶部114は、「ユーザーが、配送社数が2以上である商品を購入するための発話を行った」という条件を満たす場合に使用されるリスト情報と、「ユーザーが、配送社数が1つである商品を購入するための発話を行った」という条件を満たす場合に使用されるリスト情報とを記憶している点で前述の第2の実施形態と相違する。要するに、本実施形態の第2の記憶部114(記憶部)は、複数の条件と1対1に対応し、かつ、個別に設定される複数のリスト情報を記憶する。なお、本実施形態の対話フロー制御装置1の基本構成は上述の第1の実施形態と同様である。
本実施形態の入力解釈部110は、所定のルールまたは外部知識に基づいて、ユーザーの入力の解釈結果に対応する対話状態を推定する。この例では、第1の記憶部112は、前述の所定のルールまたは外部知識として、図8に示すような、単語と商品カテゴリとの対応関係を示す語彙ルールと、図9に示すような、商品カテゴリと配送社との対応関係を示す配送社情報と、を記憶している。図9に示すように、商品カテゴリと配送社との間にはいくつかの関係が存在し、食料品やお菓子は複数の配送社のうちの何れかを選択可能であるが、日用品や本は1社しか配送社を選べない。なお、商品カテゴリと配送社との間の関係は、運用途中で動的に変更されても構わない。
この例では、入力解釈部110は、ユーザーの入力の解釈結果の中に、前述の語彙ルールに含まれる単語が存在するか否かを確認する。語彙ルールに含まれる単語が存在する場合、入力解釈部110は、該単語に対応する商品カテゴリを特定する。そして、前述の配送社情報を参照して、その特定した商品カテゴリに対応する配送社を特定する。
例えば入力解釈部110は、ユーザーが「野菜とお菓子を購入します」という発話を行ったと解釈した場合、その解釈結果の中に、図8に示す語彙ルールに含まれる「野菜」と「菓子」が存在することを確認することができるので、「野菜」に対応する商品カテゴリ「食料品」と、「菓子」に対応する商品カテゴリ「お菓子」を特定することができる。そして、図9に示す配送社情報を参照して、商品カテゴリ「食料品」に対応する配送社としてA社とB社を特定し、商品カテゴリ「お菓子」に対応する配送社としてA社とB社とを特定する。この場合、商品カテゴリ「食料品」に対応する配送社と、商品カテゴリ「お菓子」に対応する配送社とは共通するので、入力解釈部110は、配送社としてA社とB社とを特定する。
以上のようにして、入力解釈部110は、ユーザーが「野菜とお菓子を購入します」という発話を行ったと解釈した場合、図8の語彙ルールと、図9の配送社情報とに基づいて、該解釈結果に対応する対話状態として、図10に示すような対話状態を推定することができる。つまり、「ユーザーは、配送社数が2以上の商品である野菜とお菓子を購入するための発話を行った」という対話状態を推定することができる。なお、対話状態に含まれる複数のスロットのうち、図8の語彙ルールおよび図9の配送社情報のような所定のルールまたは外部知識から導かれるスロット(図10の例では配送社の数や種類)に対応する値は一意に導かれるため、対応する確率は常に「1.0」になる。
第2の記憶部114は、「ユーザーが、配送社数が2以上である商品を購入するための発話を行った」という条件を満たす場合に使用されるリスト情報と、「ユーザーが、配送社数が1つである商品を購入するための発話を行った」という条件を満たす場合に使用されるリスト情報とを記憶している。図11の(A)は、「ユーザーが、配送社数が2以上である商品を購入するための発話を行った」という条件に対応するリスト情報であり、図11の(B)は、「ユーザーが、配送社数が1つである商品を購入するための発話を行った」という条件に対応するリスト情報である。
この例では、各配送社の特徴は図12のように表され、配送社ごとに送料が無料になる金額や配送日時が異なっている。このような状況のため、例えば配送社が複数から選べる場合は、ます配送社を確認するように設定している。つまり、「配送社」というスロットに対応する優先度が最も高くなるように設定している(図11(A)参照)。この優先度の設定の意味は、例えば配送社ごとに異なる、送料が無料になる金額を早めに確認できるようにして、あと少しで送料が無料になることをユーザーが知れば追加の購入を促すことになることを狙いとしている。
決定部111は、入力解釈部110による解釈結果と、前述の振る舞い決定モデルと、に基づいて、対話フロー制御装置1の振る舞いを決定する。ここでは、ユーザーが商品を購入するための発話を行ったと解釈された場合、対話フロー制御装置1の振る舞いとして、配送先を確認するという振る舞いが決定されるように学習されている。
修正部113は、入力解釈部110により推定された対話状態に合致する条件に対応するリスト情報の中に、決定部111により決定された振る舞いに関するスロットが存在し、かつ、前述の優先スロットが存在する場合は、決定部111により決定された振る舞いを、優先スロットに関する振る舞いに修正する。
例えば決定部111により決定された振る舞いが、配送先を確認するために電話番号を質問するという振る舞いであり、入力解釈部110により推定された対話状態が図10の状態である場合を想定する。前述したように、この例では、第2の記憶部114は、「ユーザーが、配送社数が2以上である商品を購入するための発話を行った」という条件を満たす場合に使用されるリスト情報(図11(A))と、「ユーザーが、配送社数が1つである商品を購入するための発話を行った」という条件を満たす場合に使用されるリスト情報(図11(B))とを記憶している。したがって、上記の場合は、入力解釈部110により推定された対話状態(図10の状態)に合致する条件に対応するリスト情報(図11(A))が第2の記憶部112に存在することになる。そして、この場合、決定部111により決定された振る舞いに関するスロットは「電話番号」であり、このスロットは、図11(A)に示すリスト情報の中に存在する。図11(A)に示すリスト情報においては、「電話番号」に対応する優先度情報は「5」を示し、これよりも優先度が高く、かつ、未入力のスロットとして、「氏名」、「住所」、「配送日」および「配送社」が存在する。ここでは、リスト情報の中に、決定部111により決定された振る舞いに関するスロットよりも優先度が高く、かつ、未入力のスロットが複数存在する場合、修正部113は、その中で最も優先度が高いスロットを優先スロットとして選択する。したがって、修正部113は、「配送社」を示すスロットを優先スロットとして選択する。そして、修正部113は、決定部111により決定された振る舞いを、優先スロット「配送社」に関する振る舞いに修正し、その修正した振る舞いを実行することになる。
図13は、本実施形態の対話フロー制御装置1の動作例を示すフローチャートである。各ステップの具体的な内容は前述したとおりであるので、詳細な説明は適宜に省略する。まず、入力解釈部110は、ユーザーの入力を解釈し(ステップS201)、その解釈結果に対応する対話状態を推定する(ステップS202)。次に、決定部111は、ステップS201の解釈結果と、前述の振る舞い決定モデルとに基づいて、対話フロー制御装置1の振る舞いを決定する(ステップS203)。
次に、修正部113は、ステップS202で推定された対話状態に合致する条件に対応するリスト情報が存在するか否かを確認する(ステップS204)。前述したように、この例では、第2の記憶部114は、「ユーザーが、配送社数が2以上である商品を購入するための発話を行った」という条件を満たす場合に使用されるリスト情報(図11(A))と、「ユーザーが、配送社数が1つである商品を購入するための発話を行った」という条件を満たす場合に使用されるリスト情報(図11(B))とを記憶している。そのため、ステップS202で推定された対話状態が、「ユーザーが、配送社数が2以上である商品を購入するための発話を行った」状態を表す場合、または、「ユーザーが、配送社数が1つである商品を購入するための発話を行った」状態を表す場合、ステップS204の結果は肯定となる。
ステップS204の結果が肯定の場合(ステップS204:Yes)、修正部113は、ステップS202で推定された対話状態に合致する条件に対応するリスト情報の中に、ステップS203で決定された振る舞いに関するスロットが含まれているか否かを確認する(ステップS205)。この処理内容は、図4に示すステップS3の処理内容と同様であるので、詳細な説明は省略する。以降のステップS206〜ステップS213の処理内容は、図4に示すステップS4〜ステップS11の処理内容と同様である。
以上に説明した本実施形態の構成であっても、上述の第1の実施形態と同様に、事例データからの学習に依存し過ぎることなく、人間にとって自然な対話制御を実現できる。また、本実施形態によれば、条件ごとにリスト情報を用意し、対話状態に応じてリスト情報を切り替えることにより、より自然な対話制御を実現できるという顕著な効果を達成できる。
なお、上述の第2の実施形態と第3の実施形態とを組み合わせることも可能である。つまり、ユーザーが会員であるか否かという条件と、配送社数の条件との組み合わせごとに、対応するリスト情報を設ける形態であってもよい。要するに、第2の記憶部114は、1以上の条件と1対1に対応する1以上のリスト情報を記憶する形態であればよい。そして、修正部113は、入力解釈部110により推定された対話状態に合致する条件に対応するリスト情報の中に、決定部111により決定された振る舞いに関するスロットが存在し、かつ、優先スロットが存在する場合は、決定部111により決定された振る舞いを、優先スロットに関する振る舞いに修正する形態であればよい。
また、特許文献1では、条件別のオントロジーを複数用意し、それらを組み合わせて新しいオントロジーを作成する手段が提案されている。特許文献1のオントロジーを前述のリスト情報、次元を前述のリスト情報の選択条件と置き換えると、以上の各実施形態に近い機能を提供していると見做せる可能性もあるが、特許文献1の次元はオントロジーに予め設定された静的な条件しか扱うことはできない。そのため、以上に説明したような対話制御において頻繁に発生する動的な条件の変化に対して対応することができない。
以上に説明した各実施形態は、統計ベースで学習する統計対話システムの一部の対話制御動作をシステム開発者が制御できるようにすることで、氏名、住所、電話番号のような独立な事象(スロット)ではあるが、対話する際に人間にとっては自然な順番があるようなケースでの対話システムの振る舞いの順番を制御して、人間にとって自然なやりとりができる対話システムを実現することができるとともに、対話システムの振る舞いの順番を制御する条件が動的に変化してもよい点が特徴である。
以上、本発明の実施形態を説明したが、前述の実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら新規な実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
また、前述の各対話フロー制御装置1で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、前述の各実施形態の対話フロー制御装置1で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、前述の各実施形態の対話フロー制御装置1で実行されるプログラムを、ROM等の不揮発性の記録媒体に予め組み込んで提供するようにしてもよい。
さらに、前述の各実施形態は、任意に組み合わせることも可能である。
1 対話フロー制御装置
110 入力解釈部
111 決定部
112 第1の記憶部
113 修正部
114 第2の記憶部

Claims (7)

  1. ユーザーの入力に対する振る舞いを決定して対話制御を行う対話フロー制御装置であって、
    前記ユーザーの入力を解釈する入力解釈部と、
    前記入力解釈部による解釈結果に基づいて前記対話フロー制御装置の振る舞いを決定する決定部と、
    相互に依存関係の無い独立な事象を示す複数のスロットごとに、該スロットの優先度合いを示す優先度情報と、該スロットに対応する値が未入力か否かを示す入力情報とを示すリスト情報を記憶する記憶部と、
    前記リスト情報の中に、前記決定部により決定された振る舞いに関するスロットが存在し、該スロットよりも優先度が高く、かつ、未入力のスロットを示す優先スロットが存在する場合は、前記決定部により決定された振る舞いを、前記優先スロットに関する振る舞いに修正する修正部と、を備え、
    前記入力解釈部は、前記ユーザーの入力の解釈結果に対応する対話状態を推定し、
    前記記憶部は、1以上の条件と1対1に対応する1以上の前記リスト情報を記憶し、
    前記修正部は、前記入力解釈部により推定された前記対話状態に合致する条件に対応する前記リスト情報の中に、前記決定部により決定された振る舞いに関するスロットが存在し、かつ、前記優先スロットが存在する場合は、前記決定部により決定された振る舞いを、前記優先スロットに関する振る舞いに修正する、
    対話フロー制御装置。
  2. 前記修正部は、前記決定部により決定された振る舞いを前記優先スロットに関する振る舞いに修正した後、前記優先スロットに対応する前記入力情報を、入力済みであることを示す前記入力情報に変更する、
    請求項1に記載の対話フロー制御装置。
  3. 前記入力解釈部は、所定のルールまたは外部知識に基づいて、前記ユーザーの入力の解釈結果に対応する対話状態を推定する、
    請求項2に記載の対話フロー制御装置。
  4. 前記対話フロー制御装置は、部分観測マルコフモデルを利用した対話制御を行う、
    請求項1乃至3のうちの何れか1項に記載の対話フロー制御装置。
  5. 前記決定部は、前記入力解釈部による解釈結果と、機械学習の結果と、に基づいて、前記対話フロー制御装置の振る舞いを決定する、
    請求項4に記載の対話フロー制御装置。
  6. ユーザーの入力に対する振る舞いを決定して対話制御を行う対話フロー制御装置による対話フロー制御方法であって、
    前記ユーザーの入力を解釈する入力解釈ステップと、
    前記入力解釈ステップによる解釈結果に基づいて前記対話フロー制御装置の振る舞いを決定する決定ステップと、
    相互に依存関係の無い独立な事象を示す複数のスロットごとに、該スロットの優先度合いを示す優先度情報と、該スロットに対応する値が未入力か否かを示す入力情報とを示すリスト情報の中に、前記決定ステップにより決定された振る舞いに関するスロットが存在し、該スロットよりも優先度が高く、かつ、未入力のスロットを示す優先スロットが存在する場合は、前記決定ステップにより決定された振る舞いを、前記優先スロットに関する振る舞いに修正する修正ステップと、を含み、
    前記入力解釈ステップは、前記ユーザーの入力の解釈結果に対応する対話状態を推定し、
    1以上の前記リスト情報は、1以上の条件と1対1に対応し、
    前記修正ステップは、前記入力解釈ステップにより推定された前記対話状態に合致する条件に対応する前記リスト情報の中に、前記決定ステップにより決定された振る舞いに関するスロットが存在し、かつ、前記優先スロットが存在する場合は、前記決定ステップにより決定された振る舞いを、前記優先スロットに関する振る舞いに修正する、
    対話フロー制御方法。
  7. ユーザーの入力に対する振る舞いを決定して対話制御を行う対話フロー制御装置が備えるコンピュータに、
    前記ユーザーの入力を解釈する入力解釈ステップと、
    前記入力解釈ステップによる解釈結果に基づいて前記対話フロー制御装置の振る舞いを決定する決定ステップと、
    相互に依存関係の無い独立な事象を示す複数のスロットごとに、該スロットの優先度合いを示す優先度情報と、該スロットに対応する値が未入力か否かを示す入力情報とを示すリスト情報の中に、前記決定ステップにより決定された振る舞いに関するスロットが存在し、該スロットよりも優先度が高く、かつ、未入力のスロットを示す優先スロットが存在する場合は、前記決定ステップにより決定された振る舞いを、前記優先スロットに関する振る舞いに修正する修正ステップと、を実行させ、
    前記入力解釈ステップは、前記ユーザーの入力の解釈結果に対応する対話状態を推定し、
    1以上の前記リスト情報は、1以上の条件と1対1に対応し、
    前記修正ステップは、前記入力解釈ステップにより推定された前記対話状態に合致する条件に対応する前記リスト情報の中に、前記決定ステップにより決定された振る舞いに関するスロットが存在し、かつ、前記優先スロットが存在する場合は、前記決定ステップにより決定された振る舞いを、前記優先スロットに関する振る舞いに修正する、
    ログラム。
JP2016178741A 2016-09-13 2016-09-13 対話フロー制御装置、対話フロー制御方法およびプログラム Active JP6553007B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016178741A JP6553007B2 (ja) 2016-09-13 2016-09-13 対話フロー制御装置、対話フロー制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016178741A JP6553007B2 (ja) 2016-09-13 2016-09-13 対話フロー制御装置、対話フロー制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2018045381A JP2018045381A (ja) 2018-03-22
JP6553007B2 true JP6553007B2 (ja) 2019-07-31

Family

ID=61694822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016178741A Active JP6553007B2 (ja) 2016-09-13 2016-09-13 対話フロー制御装置、対話フロー制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6553007B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6923573B2 (ja) * 2019-01-30 2021-08-18 ファナック株式会社 制御パラメータ調整装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4686905B2 (ja) * 2000-07-21 2011-05-25 パナソニック株式会社 対話制御方法及びその装置
JP2004045900A (ja) * 2002-07-12 2004-02-12 Toyota Central Res & Dev Lab Inc 音声対話装置及びプログラム
JP4075067B2 (ja) * 2004-04-14 2008-04-16 ソニー株式会社 情報処理装置および情報処理方法、並びに、プログラム
JP5309070B2 (ja) * 2010-03-31 2013-10-09 Kddi株式会社 マルチモーダル対話装置
JP6280342B2 (ja) * 2013-10-22 2018-02-14 株式会社Nttドコモ 機能実行指示システム及び機能実行指示方法

Also Published As

Publication number Publication date
JP2018045381A (ja) 2018-03-22

Similar Documents

Publication Publication Date Title
KR102337820B1 (ko) 사용자 프로그래머블 자동화 어시스턴트
JP7428219B2 (ja) 応答処理方法、応答処理装置及びプログラム
JP2019086679A (ja) 対話システム、対話方法および対話プログラム
US9361589B2 (en) System and a method for providing a dialog with a user
JP2018537788A (ja) 外部メモリを用いたニューラルネットワークの拡張
US20180090136A1 (en) System, method and computer program product for improving dialog service quality via user feedback
EP3608772B1 (en) Method for executing function based on voice and electronic device supporting the same
US10991369B1 (en) Cognitive flow
US20190221133A1 (en) Systems and methods for improving user engagement in machine learning conversation management using gamification
EP2879062A2 (en) A system and a method for providing a dialog with a user
JP2016126294A (ja) 音声対話制御装置、音声対話制御装置の制御方法、および音声対話装置
JP6553007B2 (ja) 対話フロー制御装置、対話フロー制御方法およびプログラム
US11222630B1 (en) Detecting false accepts in a shopping domain for handling a spoken dialog
Mack et al. Security midlife crisis: Building security in a new world
US20190026080A1 (en) Method for dynamically expanding a domain-specific language of a graphical modeling tool
WO2023200518A1 (en) Multimode conversational agent using a pattern-completion engine
US11922141B2 (en) Voice and chatbot conversation builder
US11222180B2 (en) Dialogue method, dialogue system, and program
US12061861B2 (en) Custom display post processing in speech recognition
KR102074764B1 (ko) 모바일 기기의 입력 인터페이스 내에서 맞춤법 검사를 지원하는 방법 및 시스템
TW201327211A (zh) 代碼智慧生成系統及方法
JP4735958B2 (ja) テキストマイニング装置、テキストマイニング方法およびテキストマイニングプログラム
WO2019103007A1 (ja) 情報処理装置及び情報処理方法
JP6914989B2 (ja) 編集支援システム、および編集支援方法
WO2024201827A1 (ja) 自動応答装置、自動応答方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190523

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: 20190604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190703

R151 Written notification of patent or utility model registration

Ref document number: 6553007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151