JP6682149B2 - 対話システム、方法、及びプログラム - Google Patents

対話システム、方法、及びプログラム Download PDF

Info

Publication number
JP6682149B2
JP6682149B2 JP2017040958A JP2017040958A JP6682149B2 JP 6682149 B2 JP6682149 B2 JP 6682149B2 JP 2017040958 A JP2017040958 A JP 2017040958A JP 2017040958 A JP2017040958 A JP 2017040958A JP 6682149 B2 JP6682149 B2 JP 6682149B2
Authority
JP
Japan
Prior art keywords
discussion
user
utterance
dialogue
domain
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
JP2017040958A
Other languages
English (en)
Other versions
JP2018147189A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017040958A priority Critical patent/JP6682149B2/ja
Publication of JP2018147189A publication Critical patent/JP2018147189A/ja
Application granted granted Critical
Publication of JP6682149B2 publication Critical patent/JP6682149B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Description

本発明は、ユーザの発話に対して応答を行う対話システム、方法、及びプログラムに関する。
対話システムにおいて、人間はコンピュータと対話をし、種々の情報を得たり、要望を満たしたりする。また、所定のタスクを達成するだけではなく、日常会話を行う対話システムも存在し、これらによって、人間は精神的な安定を得たり、承認欲を満たしたり、信頼関係を築いたりする。対話システムの類型については非特許文献1や非特許文献2に詳述されている。
一方、タスク達成や日常会話ではなく、より深い議論をコンピュータによって実現するための研究も進められている。議論は人間の価値判断を変えたり、思考を整理したりする働きがあり、人間にとって重要な役割を果たす。
たとえば、議論のモデルを提案する研究がある。トゥールミンのモデル(非特許文献3)によれば、議論は事実(データ)、論拠、結論からなるとされる。たとえば、「山は空気がよい」という事実があり、「空気がよいことは一般によいことである」という論拠があると、そこから、「山に行くのがよい」という結論が導かれるというモデルである。この議論構造を図示すると図4のようになる。
ウォルトンが提案する議論のモデルでは、Premise(論拠)が支持(プラス)・不支持(マイナス)、もしくは、議論スキーム(支持・不支持のパターン)を持つ矢印で結ばれている(非特許文献4)。
矢印の先のPremise はConclusion と呼ぶこともある。また、議論の中心となるConclusion のことをMain Issue と呼ぶ。ウォルトンのモデルにおける議論構造を図示すると図5のようになる。楕円はPremise を表すノードである。Premise にはその内容を表す文字列が付与されている。「草花がきれい」は「山に行くのがよい」にプラスで接続されており、支持する内容である。「登山は疲れる」は「山に行くのがよい」にマイナスでつながれており、反論となっている。また、「登山は疲れる」は「足腰が鍛えられる」とマイナスでつながれており反論となっている。図中では、Practical Reasoning(PR)という議論スキームが用いられている。PR の前のプラスは支持を表している。PR は「一般的に考えて良いという根拠を支持・不支持に用いる」という議論のパターンを表す。非特許文献4には、29 の議論スキームが列挙されている。PR の他には、Expert Opinion(専門家がそう言っているという根拠を支持・不支持に用いる)などがある。
トゥールミンやウォルトンが提案するモデルに基づく議論構造を、テキストデータから自動的に抽出する試みは多い。そのような研究は以下の非特許文献5にまとめられている。
河原達也,荒木雅弘,「音声対話システム」,オーム社,2006. 中野幹生,駒谷和範,船越孝太郎,中野有紀子,奥村学(監修)「対話システム」,コロナ社,2016. "The Uses of Argument (updated edition)",Stephen E. Toulmin,Cambridge University Press, 2003. "Methods of Argumentation, Douglas Walton", Cambridge University Press, 2013. Lippi, M., Torroni, P., "Argumentation Mining: State of the Art and Emerging Trends", ACM Transactions on Internet Technology, 16(2): 10, 2016.
人間にとって重要な議論であるが、モデルの研究やテキストデータからの議論構造の研究は進められているものの、自動的なシステムが自由に人間と議論を行うシステムは実現されていない。
本発明は、上記の事情に鑑みてなされたもので、ユーザと議論を行うことができる対話システム、方法、及びプログラムを提供することを目的とする。
上記目的を達成するために、本発明の対話システムは、ユーザ発話についての対話行為を推定する対話行為変換部と、前記ユーザ発話について、所定のドメインに属しているか否かを判定するドメイン判定部と、前記ユーザ発話について、議論に関するものであるか否かを判定する議論判定部と、議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造の各ノードのうち、前記ユーザ発話に対応するノードを判定する議論構造内判定部と、前記対話行為変換部による推定結果、前記ドメイン判定部による判定結果、前記議論判定部による判定結果、及び前記議論構造内判定部による判定結果に基づいて、システム側の次の行動を決定する対話管理部と、を含んで構成されている。
本発明の対話方法は、対話行為変換部が、ユーザ発話についての対話行為を推定し、ドメイン判定部が、前記ユーザ発話について、所定のドメインに属しているか否かを判定し、議論判定部が、前記ユーザ発話について、議論に関するものであるか否かを判定し、議論構造内判定部が、議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造の各ノードのうち、前記ユーザ発話に対応するノードを判定し、対話管理部が、前記対話行為変換部による推定結果、前記ドメイン判定部による判定結果、前記議論判定部による判定結果、及び前記議論構造内判定部による判定結果に基づいて、システム側の次の行動を決定する。
本発明に係るプログラムは、コンピュータを、本発明の対話システムを構成する各部として機能させるためのプログラムである。
以上説明したように、本発明の対話システム、方法、及びプログラムによれば、対話行為変換部による推定結果、ドメイン判定部による判定結果、議論判定部による判定結果、及び議論構造内判定部による判定結果に基づいて、システム側の次の行動を決定することにより、ユーザと議論を行うことができる、という効果が得られる。
本発明の実施の形態に係る対話システムの構成の一例を示す図である。 次のアクションを決定する方法を説明するための図である。 本発明の実施の形態に係る対話処理ルーチンのフローチャートの一例である。 トゥールミンの理論における議論構造の一例を示す図である。 ウォルトンの理論における議論構造の一例を示す図である。
<概要>
まず、本発明の実施の形態の概要について説明する。
本発明の実施の形態では、あるドメインにおける所定の議論構造があるとき、議論を行うことを可能とする。具体的には、ユーザの入力発話について、その対話行為、ドメインが一致しているか、議論に関するものか、議論構造に対応するノードが存在するか、を推定する。また、議論構造とマルチモーダル情報を参照しながら、対話管理部が次発話を決定する。このように、人間と議論を行う自動的なシステムを実現することにより、人間の知的活動が促進される。
<対話システムの構成>
以下、図面を参照して本発明の実施の形態を詳細に説明する。図1は、本実施の形態に係る対話システムの構成の一例を示す図である。なお、本発明の実施の形態では、「遊びにいくなら海がよいか山がよいか」という限られた話題(ドメインと呼ぶ)について議論するものとする。ユーザは対話システムに対して発話を発し、当該発話は対話システムに入力される。また、対話システムは、発話をユーザに対して発するものとする。
本実施の形態に係る対話システム100は、CPUと、RAMと、後述する対話処理ルーチンを実行するためのプログラム及び各種データを記憶したROMとを備えたコンピュータで構成されている。また、記憶手段としてHDDを設けてもよい。
このコンピュータは、機能的には、図1に示すように、入力部10、演算部20、及び出力部90を含んだ構成で表わすことができる。
入力部10は、例えば、マイクであり、ユーザの発話の入力を受け付ける。
センサ12は、ユーザの動作を検知する。本実施の形態では、ユーザが用いるマイクに付与された加速度センサ及びジャイロセンサを用いる。
演算部20は、発話区間検知部22、音声認識部24、動作検知部26、発話入力部28、発話判定部30、対話管理部32、議論構造記憶部34、マルチモーダル情報記憶部36、雑談応答部38、発話生成部40、及び音声合成部42を備えている。
発話判定部30は、対話行為変換部50、議論判定部52、議論構造内判定部54、及びドメイン判定部56を備えている。以下、それぞれの部分について詳しく説明する。
(発話区間検知部22)
発話区間検知部22は、入力されたユーザ発話に基づいて、音声の発話区間を検知する。音声のパワーやzero交差の数、ポーズ長などを用いることで、音声の開始時点、音声の終了時点を検出することができる。発話区間の検知は基本的な技術であり、一般的な音声認識エンジンにも組み込まれているものである。発話区間検知部22は音声区間が開始すると開始したという信号(VAD_START)を、マルチモーダル情報記憶部36に伝える。また、音声区間が終了した場合、その信号(VAD_END)をマルチモーダル情報記憶部36に伝える。
(音声認識部24)
音声認識部24は、発話区間検知部22と連携し、検知した音声区間に含まれる音声波形をテキスト化する。
ここでは、出願人によるVoiceRex という音声認識エンジンを用いるが、その他の市販されている音声認識エンジンを用いてもよい。音声認識部24は、音声認識途中のショートポーズ(数百ms のポーズ)において、ショートポーズが発生したという信号(RECG_SP)をマルチモーダル情報記憶部36に伝える。
また、音声認識が終了し、テキストが得られた際には、音声認識が終了したという信号(RECG_LP)をマルチモーダル情報記憶部36に伝えるとともに、認識された結果のテキストを発話入力部28に送る。
(動作検知部26)
動作検知部26は、センサ12によって検知されたデータに基づいて、ユーザの動作を検知する。具体的には、ユーザが用いるマイクに付与された上げ下げ検知を行う加速度センサとジャイロセンサを用いてユーザがマイクを持ち上げて話し始める動作を検知する。ユーザがマイクを持ち上げたときには、マイクを持ち上げたという信号(MIC_UP)を、マイクを置いた時には、マイクを置いたという信号(MIC_DOWN)をマルチモーダル情報記憶部36に送る。
(発話入力部28)
発話入力部28は、音声認識部24から発話テキストを受け取り、対話行為変換部50、議論判定部52、議論構造内判定部54、及びドメイン判定部56にそれぞれ送る。
(対話行為変換部50)
対話行為変換部50は発話テキストを入力とし、対話行為を推定する。対話行為とは、ユーザ発話の発話意図を表すシンボルである。ここでは、4種類の対話行為を用いる。
これらは、Assertion、Question、Retraction、Concession である。それぞれ、主張、質問、撤回、譲歩という意味である。以下はそれぞれの対話行為の説明と発話の例である。
Assertionは、命題を述べる発話であり、例えば、「私は山がいいと思います。」、「草花はきれいですよね。」である。
Questionは、命題について質問をする発話であり、例えば、「山がいいんですか?」、「登山は疲れませんか?」である。
Retractionは、自身が述べた命題を撤回する発話であり、例えば、「山は空気が美味しいというのは撤回します」、「反論できません」である。
Concessionは、相手が述べた命題を認める発話であり、例えば、「たしかに草花はきれいですね。」、「それは認めざるを得ないですね」である。
対話行為変換部50は発話テキストをこれらの4種類の対話行為に分類する。この分類には、一般的なテキスト分類手法を用いればよい。たとえば、発話テキストから形態素解析を経て得られる単語n-gramを特徴量として、学習データに基づき(すなわち、複数の発話のそれぞれについて、上記4種類のいずれかがラベル付されたデータ)、機械学習の手法を用いて、分類器を学習すればよい。学習アルゴリズムとしては、ロジスティック回帰やサポートベクトルマシン、もしくは、深層学習による手法を用いればよい。テキスト分類手法の一般的なアルゴリズムについては、非特許文献6に示されている。深層学習による手法は非特許文献7に示されている。
[非特許文献6]「言語処理のための機械学習入門(自然言語処理シリーズ)」,高村大也 (著), 奥村学(監修),コロナ社,2010.
[非特許文献7]Yoon Kim,"Convolutional Neural Networks for Sentence Classication", Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp.1746-1751, 2014.
対話行為変換部50の出力は、推定された対話行為とその信頼度である。たとえば、「Assertion:0.8」といったものになる。0.8 は信頼度である。なお、ここでは、ロジスティック回帰を用いているため分類結果に信頼度を出力することができている。
(議論構造内判定部54)
議論構造内判定部54は、ユーザが発話した内容が、議論構造の中(ノードのいずれか)に対応するもの(意味的に類似するもの)があるかどうかを判定する。対応するものがある場合、そのノード番号とその類似度を出力する。議論構造については後述する。
意味的に類似しているノードを議論構造から得るためには、ユーザ発話と議論構造のノードの文字列との意味的な類似度を計算する必要がある。本発明の実施の形態では、word2vec に基づく文間の類似度を用いる。word2vec とは、各単語をその意味を表すベクトルに変換する手法であり、単語のベクトル表現を得る一般的な手法である(非特許文献8)。これを用いて類似度を計算するには、発話テキストから形態素解析を経て得られる単語それぞれのベクトルを基にこれらの平均ベクトルを求め、また、ノードの文字列についても同様に平均ベクトルを求め、これらのベクトルのコサイン類似度を求めればよい。この結果、最も類似度の高いノードを得ることができる。なお、文同士の意味的な類似度を計算する手法であれば、他の手法を用いてもよい。たとえば、単語の重複数やWordNet(英語のシソーラス)におけるSynset(類義語を表すID)の重複数などを用いてもよい。
[非特許文献8]Tomas Mikolov et al. “Distributed representations of words and phrases and their compositionality," Advances in neural information processing systems, 2013.
(ドメイン判定部56)
ドメイン判定部56は、ユーザ発話が所定のドメインに属しているかを推定する。今回の例は、「遊びにいくなら海がよいか山がよいか」というドメインであるので、ユーザ発話の話題がこのドメインにどの程度合致するかを判定する。ここでも、対話行為変換部50と同様、当該ドメインのテキストと、当該ドメインではないテキストを学習データとして機械学習の手法により分類器を学習すればよい。学習データが十分ない場合は、たとえば、議論構造内のノードに紐づけられた文字列のそれぞれから、議論構造内判定部54で用いているものと同様の平均ベクトルを求め、発話テキストの平均ベクトルとそれぞれのノードの平均ベクトルとの全ての類似度を求め、所定の閾値よりも大きいものが無ければ、当該ドメインでないと判定すればよい。たとえば閾値は0.5 である。
ドメイン判定部56の出力は、システムが扱う所定のドメインに属しているかどうかという判定結果であり、ロジスティック回帰を用いる場合には、先の例と同様に信頼度も、ドメイン判定部56の出力として得ることができる。コサイン類似度を用いている場合は、この類似度(例えば、最もコサイン類似度が高かったノードとのコサイン類似度の値)をそのまま信頼度とすればよい。
(対話管理部32)
対話管理部32は、ユーザ発話の文字列と、対話行為変換部50、議論判定部52、議論構造内判定部54、及びドメイン判定部56の結果とを受け取り、図2に示す通り次の動作(アクション)を決定する。なお、ここでは信頼度の情報は用いず、結果のみを対象として次の動作を決定するが、信頼度の閾値を操作することで、信頼度が高い場合のみに所定の動作するようにするなど、適合率を重視した判定を行うようにしてもよい。
アクションは、議論構造更新、ドメイン外処理、議論構造外処理、及び雑談処理の4つある。それぞれ以下の処理を行う。
議論構造更新では、対話行為とノード番号を用いて、後述する議論構造を更新する。具体的には、たとえば、Assertionがなされたら、当該ノード番号に対応するノードのMentioned フラグを1 にする。Questionがなされたら、当該ノード番号に対応するノードのQuestioned フラグを1 にする。Retractionであれば、対応するノードがユーザ自身のサイドである場合、Accepted フラグをディフィートにする。Concession であれば、対応するノードがユーザ自身のサイドでない場合、Acceptedフラグをアクセプトにする。なお、ここで記述した更新は一例であって、その他の更新規則を用いて、これらの挙動と異なる更新を行うようにしてもよい。また、サイドとは、議論構造におけるMain Issueを支持する側か、支持しない側かを示すものである。
ドメイン外処理は、対応できないドメインであるため、対応できない旨を応答する。
議論構造外処理は、議論でありドメイン内であるが、議論構造内にない議論がされてしまった場合であるので、議論を続けたくてもできない状況である。この場合は、議論不可の旨を応答する。
雑談処理は、議論ではない入力ではあるが、ドメイン内であるため、議論とは関係のない雑談が入力された旨を応答する。
議論構造を更新したり、その他の処理が行われた後、システムは自分自身の行動を行うが、その前に、ユーザが次の行動を取ろうとしている可能性があり、発話がかち合わないために、マルチモーダル情報記憶部36を参照する。マルチモーダル情報記憶部36については後述する。マルチモーダル情報記憶部36に問い合わせることで、ユーザが発話中か、もしくは、ユーザが近い時刻に発話しそうかどうかの情報を得ることができる。もし、ユーザが発話中ではない、もしくは、近い時刻に発話しないと判定されたら、対話システム100は現状の認識に従ったアクションを実際に行う。具体的には、議論構造が更新されている場合は、ユーザ発話に対応するノードにQuestioned フラグが立っていなければそのノードについての質問文を作成し発話生成部40に送る。もしくは、ユーザ発話に対応するノードに対して、反対意見のノード(マイナスで接続されたノード)があれば、そのノードの発話文字列を取得し、発話生成部40に送る。そのようなノードが見つからない場合は、ランダムにシステム自身のサイドのノードを選択し、そのノードの発話文字列を発話生成部40に送る。これらは基本的な挙動であるが、これらの挙動以外にも別途ルールを作成してそのように動作するようにしてもよい。なお、このアクションと同時に、ユーザ発話が行われた時と同様、議論構造を更新する必要がある点に注意する。ドメイン外処理の場合は、「ドメインが違います」や「海と山について話しましょう」といったユーザを議論のコンテンツに引き戻すような発話を発話生成部40に送る。議論構造外処理の場合は、「意見が思いつきません」といった意見や反論が思いつかないという旨の発話を発話生成部40に送る。雑談処理の場合は、ユーザの発話文字列を雑談応答部38に送る。
(議論構造記憶部34)
議論構造記憶部34は、議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造を記憶している。議論構造にはウォルトンの議論構造を用いる。ただし、ここでは、議論スキームは扱わない。Premise を表すノードはプラスかマイナスの矢印によってのみ接続されている。矢印元と矢印先のノードがある時、矢印元は子ノード、矢印先は親ノードと呼ぶ。Main Issue 以外のノードは必ず親ノードが存在する。各ノードは少なくとも以下のノード番号、サイド、命題を表す文字列、Mentionedフラグ、Questionedフラグ、及びAcceptedフラグを持つものとする。
ノード番号は、議論構造中のノードについてユニークに付与された番号である。
サイドは、上述したように、議論構造におけるMain Issue について、支持側か不支持側かを表す。ここでは、一方をAサイド、もう一方をBサイドと呼ぶ。
命題を表す文字列は、Premise の内容を表す文字列である。たとえば、「草花がきれい」や「足腰が鍛えられる」などである。
Mentioned フラグ(Mフラグ)は、当該ノードが議論において言及されたかどうかを表す2 値フラグである。0 だと言及されていない状態、1 だと言及された状態を表す。
Questioned フラグ(Q フラグ)当該ノードが議論において質問されたかどうかを表す2 値フラグである。0 だと質問されていない状態、1 だと質問された状態を表す。
Accepted フラグ(A フラグ)は、当該ノードが議論の参加者によってアクセプトされたかどうかを表す3 値フラグである。undef は未定義、accept はアクセプトされた状態、defeat はディフィートされた状態を表す。アクセプトされた状態とは、議論においてPremise の内容が受理された(認められた)ことを表す。ディフィートされた状態とは、議論においてPremise の内容が不受理となった(認められなかった)ことを表す。undef はアクセプトでもディフィートでもない状態を指す。
(マルチモーダル情報記憶部36)
マルチモーダル情報記憶部36は、VAD_START、VAD_END、RECG_SP、RECG_LP、MIC_UP、MIC_DOWN、TTS_START、TTS_END の信号を受け取り、マルチモーダル情報記憶部36が管理するマルチモーダル情報が更新される。マルチモーダル情報には、ユーザとシステムを表す状態が含まれており、入力にしたがって、ユーザとシステムの状態を更新する。本実施の形態では、マルチモーダル情報記憶部36は、ユーザの状態を、入力された信号に応じて以下のようにマルチモーダル情報を更新する。
VAD_STARTの信号を受け取ると、話者の状態を話している状態にする。
VAD_ENDの信号を受け取ると、話者の状態を話していない状態にする。
RECG_SPの信号を受け取ると、話者のショートポーズが行われたので、発話生成部40に相槌命令を送る。
RECG_LPの信号を受け取ると、話者の状態を話していない状態にする。
MIC_UPの信号を受け取ると、話者の状態を話す可能性があるという状態にする。
MIC_DOWNの信号を受け取ると、話者の状態を話す可能性がないという状態にする。
TTS_STARTの信号を受け取ると、システムの状態を話している状態にする。
TTS_ENDの信号を受け取ると、システムの状態を話していない状態にする。
マルチモーダル情報記憶部36は、対話管理部32から問い合わせを受けた場合、話者の状態を話している状態、もしくは、話者の状態を話す可能性があるという状態であれば、ユーザが発話中、もしくは、ユーザが近い時刻に発話しそうであることを伝達する。
(雑談応答部38)
雑談応答部38は、対話管理部32から入力される発話文字列から、雑談応答を生成する。ここでは、用例ベースの雑談応答を行う。具体的には、想定される入力発話(input部)とそれに対する出力発話(output部)のペアを大量に準備しておき、入力された発話文字列と最も意味的に類似するinput部を求め(たとえば、前述のword2vecによる手法や単語のオーバーラップ数などを用いればよい)、そのinput部のペアとなっているoutput部を得て、それを発話生成部40に出力する。なお、雑談応答として、いわゆるif-then ルールで応答してもよいし、その他の雑談対話システムでよく用いられる抽出ベースの手法や深層学習(特に、再帰型ニューラルネットワークによる手法)を用いてもよい。入力発話に関係し、話を継続させることが可能と思われる発話を生成できるものであればよい。
(発話生成部40)
発話生成部40は、対話管理部32から送られた発話文字列、マルチモーダル情報から送られた相槌命令、雑談応答部38から送られた発話文字列を入力とし、これらを音声合成部42に送る。相槌命令の場合は「はい」や「ええ」といった発話文字列(これらは事前に定義しておく)を音声合成部42に送る。
(音声合成部42)
音声合成部42は、発話生成部40から送られた発話文字列を基に音声波形を生成し、システム発話として音声で出力部90により出力する。本発明の実施の形態では、音声合成エンジンとして、出願人のFutureVoiceを用いるが、その他の市販の音声合成エンジンを用いてもよい。なお、音声合成を開始する際には、TTS_STARTという信号をマルチモーダル情報記憶部36に送る。また、音声合成が終了した際には、TTS_ENDという信号をマルチモーダル情報記憶部36に送る。
<対話システムの動作>
次に、本実施の形態に係る対話システム100の作用について説明する。まず、ユーザと対話システム100との対話が開始され、入力部10により、ユーザ発話の入力を受け付けると、対話システム100によって、図3に示す対話処理ルーチンが実行される。対話処理ルーチンは、ユーザの発話が発せられる毎に実行される。
まず、ステップS100において、ユーザ発話に基づいて、音声の発話区間を検知し、ステップS102において、検知した音声区間に含まれる音声波形をテキスト化する。
ステップS104では、上記ステップS102で得られた発話テキストを受け取り、対話行為変換部50、議論判定部52、議論構造内判定部54、及びドメイン判定部56にそれぞれ送る。
ステップS106では、ユーザ発話についての対話行為を推定する。
ステップS108では、ユーザ発話について、議論に関するものであるか否かを判定する。
ステップS110では、議論構造の各ノードのうち、ユーザ発話に対応するノードを判定する。
ステップS112では、ユーザ発話について、所定のドメインに属しているか否かを判定する。
ステップS114では、発話テキストと、上記ステップS106〜S112の結果とに基づいて、上記図2に示す通り次の動作(アクション)を決定する。
ステップS116では、上記ステップS114で決定された次のアクションが、議論構造更新であれば、ステップS118へ移行し、決定された次のアクションが、雑談処理であれば、ステップS122へ移行し、決定された次のアクションが、ドメイン外処理又は議論構造外であれば、ステップS126へ移行する。
ステップS118では、対話行為とノード番号を用いて議論構造を更新し、ステップS120において、ユーザ発話に対応するノードについての質問文、ノードの発話文字列、又はランダムに選択されたシステム自身のサイドのノードの発話文字列を、発話生成部40に送る。
ステップS122では、ユーザ発話を雑談応答部38に送り、ステップS124において、ユーザ発話の文字列から、雑談応答を表す発話文字列を生成し、発話生成部40へ送る。
ステップS126では、次のアクションがドメイン外処理の場合、「ドメインが違います」や「海と山について話しましょう」といったユーザを議論のコンテンツに引き戻すような発話を発話生成部40に送る。次のアクションが、議論構造外処理の場合は、「意見が思いつきません」といった意見や反論が思いつかないという旨の発話を発話生成部40に送る。
ステップS128では、マルチモーダル情報記憶部36に記憶されているマルチモーダル情報を参照して、ユーザが発話中、もしくは、ユーザが近い時刻に発話しそうであるか否かを判定する。ユーザが発話中、もしくは、ユーザが近い時刻に発話しそうであると判定された場合には、対話システム100が発話せずに、対話処理ルーチンを終了する。
一方、ユーザが発話中でもなく、ユーザが近い時刻に発話しそうでないと判定された場合には、ステップS130において、発話生成部40は、対話管理部32から送られた発話文字列、マルチモーダル情報から送られた相槌命令、又は雑談応答部38から送られた発話文字列を入力とし、これらを音声合成部42に送る。
ステップS132では、音声合成部42は、発話生成部40から送られた発話文字列を基に音声波形を生成し、システム発話として音声で出力部90により出力する。そして、ステップS134では、上記ステップS132で出力したシステム発話に応じて、議論構造を更新し、対話処理ルーチンを終了する。例えば、上記ステップS132で出力したシステム発話に対応する対話行為(Assertion、Question、Retraction、Concession)に応じて、上述した議論構造更新と同様に、議論構造のうちの、現在の対象となっているノード(当該システム発話に対応するノード)のフラグを更新する。
以上説明したように、本実施の形態に係る対話システム100によれば、ユーザ発話についての対話行為の推定結果、所定のドメインに属しているか否かの判定結果、議論に関するものであるか否かの判定結果、及び議論構造の各ノードのうちのユーザ発話に対応するノードの判定結果に基づいて、システム側の次の行動を決定することにより、ユーザと議論を行うことができる。
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
また、上記実施の形態では、議論構造記憶部34及びマルチモーダル情報記憶部36を備えている場合について説明したが、例えば、議論構造記憶部34及びマルチモーダル情報記憶部36の少なくとも1つが対話システムの外部装置に設けられ、対話システムは、外部装置と通信手段を用いて通信することにより、議論構造記憶部34及びマルチモーダル情報記憶部36の少なくとも1つを参照するようにしてもよい。
また、上述の対話システムは、内部にコンピュータシステムを有しているが、コンピュータシステムは、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読取り可能な記録媒体に格納して提供することも可能である。
10 入力部
12 センサ
20 演算部
22 発話区間検知部
24 音声認識部
26 動作検知部
28 発話入力部
30 発話判定部
32 対話管理部
34 議論構造記憶部
36 マルチモーダル情報記憶部
38 雑談応答部
40 発話生成部
42 音声合成部
50 対話行為変換部
52 議論判定部
54 議論構造内判定部
56 ドメイン判定部
90 出力部
100 対話システム

Claims (8)

  1. ユーザ発話を表すテキストに基づいて、テキストを複数種類の対話行為に分類する分類器を用いて、前記ユーザ発話についての対話行為を推定する対話行為変換部と、
    前記ユーザ発話を表すテキストに基づいて、テキストが所定のドメインに属しているか否かを分類する分類器を用いて、前記ユーザ発話について、前記所定のドメインに属しているか否かを判定するドメイン判定部と、
    前記ユーザ発話を表すテキストに基づいて、前記ユーザ発話について、議論に関するものであるか否かを判定する議論判定部と、
    議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造の各ノードのうち、前記ユーザ発話に対応するノードがあるか否か、及び前記ユーザ発話に対応するノードが何れであるか、前記ノードのテキストと、前記ユーザ発話を表すテキストとの意味的な類似度に基づいて判定する議論構造内判定部と、
    記ドメイン判定部による判定結果、前記議論判定部による判定結果、及び前記議論構造内判定部による判定結果に基づいて、システム側の次の行動として、前記推定された前記対話行為と前記判定されたノードとに基づいて前記議論構造を更新する議論構造更新、前記所定のドメインに属していない旨を応答するドメイン外処理、議論ができない旨を応答する議論構造外処理、及び議論とは関係ない雑談に対する応答を行う雑談処理の何れかを決定する対話管理部と、
    を含む対話システム。
  2. 前記対話管理部は、前記ユーザ発話が議論に関するものであり、かつ、前記ユーザ発話に対応するノードがあり、かつ、前記ユーザ発話が前記所定のドメインに属している場合、システム側の次の行動として、前記議論構造更新を決定し、
    前記ユーザ発話が前記所定のドメインに属していない場合、システム側の次の行動として、前記ドメイン外処理を決定し、
    前記ユーザ発話が議論に関するものであり、かつ、前記ユーザ発話に対応するノードがなく、かつ、前記ユーザ発話が前記所定のドメインに属している場合、システム側の次の行動として、前記議論構造外処理を決定し、
    前記ユーザ発話が議論に関するものでなく、かつ、前記ユーザ発話が前記所定のドメインに属している場合、システム側の次の行動として、前記雑談処理を決定する請求項1記載の対話システム。
  3. ユーザの状態を表すマルチモーダル情報を格納するマルチモーダル情報記憶部と、
    前記ユーザの動作に基づいて、前記マルチモーダル情報を更新するユーザ動作検知部と、を更に含み、
    前記対話管理部は、更に、前記マルチモーダル情報に応じて、決定したシステム側の次の行動を行う請求項1又は2記載の対話システム。
  4. ユーザ発話を表すテキストに基づいて、テキストを複数種類の対話行為に分類する分類器を用いて、前記ユーザ発話についての対話行為を推定する対話行為変換部と、
    前記ユーザ発話を表すテキストに基づいて、テキストが所定のドメインに属しているか否かを分類する分類器を用いて、前記ユーザ発話について、前記所定のドメインに属しているか否かを判定するドメイン判定部と、
    議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造の各ノードのうち、前記ユーザ発話に対応するノードがあるか否か、及び前記ユーザ発話に対応するノードが何れであるか、前記ノードのテキストと、前記ユーザ発話を表すテキストとの意味的な類似度に基づいて判定する議論構造内判定部と、
    記ドメイン判定部による判定結果、前記議論構造内判定部による判定結果、及び前記ユーザ発話が議論に関するものであるか否かを表す情報に基づいて、システム側の次の行動として、前記推定された前記対話行為と前記判定されたノードとに基づいて前記議論構造を更新する議論構造更新、前記所定のドメインに属していない旨を応答するドメイン外処理、議論ができない旨を応答する議論構造外処理、及び議論とは関係ない雑談に対する応答を行う雑談処理の何れかを決定する対話管理部と、
    を含む対話システム。
  5. 対話システムが実行する対話方法であって、
    対話行為変換部が、ユーザ発話を表すテキストに基づいて、テキストを複数種類の対話行為に分類する分類器を用いて、前記ユーザ発話についての対話行為を推定し、
    ドメイン判定部が、前記ユーザ発話を表すテキストに基づいて、テキストが所定のドメインに属しているか否かを分類する分類器を用いて、前記ユーザ発話について、前記所定のドメインに属しているか否かを判定し、
    議論判定部が、前記ユーザ発話を表すテキストに基づいて、前記ユーザ発話について、議論に関するものであるか否かを判定し、
    議論構造内判定部が、議論の中心となる論拠と、他の論拠を支持する、または支持しない論拠との各々を表すノードを含む議論構造の各ノードのうち、前記ユーザ発話に対応するノードがあるか否か、及び前記ユーザ発話に対応するノードが何れであるか、前記ノードのテキストと、前記ユーザ発話を表すテキストとの意味的な類似度に基づいて判定し、
    対話管理部が、前記ドメイン判定部による判定結果、前記議論判定部による判定結果、及び前記議論構造内判定部による判定結果に基づいて、システム側の次の行動として、前記推定された前記対話行為と前記判定されたノードとに基づいて前記議論構造を更新する議論構造更新、前記所定のドメインに属していない旨を応答するドメイン外処理、議論ができない旨を応答する議論構造外処理、及び議論とは関係ない雑談に対する応答を行う雑談処理の何れかを決定する
    対話方法。
  6. 前記対話管理部が決定することでは、前記ユーザ発話が議論に関するものであり、かつ、前記ユーザ発話に対応するノードがあり、かつ、前記ユーザ発話が前記所定のドメインに属している場合、システム側の次の行動として、前記議論構造更新を決定し、
    前記ユーザ発話が前記所定のドメインに属していない場合、システム側の次の行動として、前記ドメイン外処理を決定し、
    前記ユーザ発話が議論に関するものであり、かつ、前記ユーザ発話に対応するノードがなく、かつ、前記ユーザ発話が前記所定のドメインに属している場合、システム側の次の行動として、前記議論構造外処理を決定し、
    前記ユーザ発話が議論に関するものでなく、かつ、前記ユーザ発話が前記所定のドメインに属している場合、システム側の次の行動として、前記雑談処理を決定する請求項記載の対話方法。
  7. ユーザ動作検知部が、ユーザの動作に基づいて、前記ユーザの状態を表すマルチモーダル情報を格納するマルチモーダル情報記憶部の前記マルチモーダル情報を更新すること、及び
    前記対話管理部が、前記マルチモーダル情報に応じて、決定したシステム側の次の行動を行うこと
    を更に含む請求項5又は6記載の対話方法。
  8. コンピュータを、請求項1〜請求項の何れか1項記載の対話システムを構成する各部として機能させるためのプログラム。
JP2017040958A 2017-03-03 2017-03-03 対話システム、方法、及びプログラム Active JP6682149B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017040958A JP6682149B2 (ja) 2017-03-03 2017-03-03 対話システム、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017040958A JP6682149B2 (ja) 2017-03-03 2017-03-03 対話システム、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018147189A JP2018147189A (ja) 2018-09-20
JP6682149B2 true JP6682149B2 (ja) 2020-04-15

Family

ID=63591146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017040958A Active JP6682149B2 (ja) 2017-03-03 2017-03-03 対話システム、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6682149B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102098003B1 (ko) * 2018-10-11 2020-04-07 삼성생명보험주식회사 챗봇 구동 방법, 장치 및 컴퓨터 판독가능 매체
JP7212888B2 (ja) * 2019-05-20 2023-01-26 日本電信電話株式会社 自動対話装置、自動対話方法、およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193532A (ja) * 2008-02-18 2009-08-27 Oki Electric Ind Co Ltd 対話管理装置、方法及びプログラム、並びに意識抽出システム
JP5286062B2 (ja) * 2008-12-11 2013-09-11 日本電信電話株式会社 対話装置、対話方法、対話プログラムおよび記録媒体
JP5369813B2 (ja) * 2009-03-25 2013-12-18 富士通株式会社 説得支援装置、説得支援プログラム及び説得支援方法
JP5698306B2 (ja) * 2013-05-13 2015-04-08 日本電信電話株式会社 焦点推定装置、方法、及びプログラム

Also Published As

Publication number Publication date
JP2018147189A (ja) 2018-09-20

Similar Documents

Publication Publication Date Title
US10642577B2 (en) Search and knowledge base question answering for a voice user interface
US10580404B2 (en) Indicator for voice-based communications
JP6926241B2 (ja) ホットワード認識音声合成
US10453449B2 (en) Indicator for voice-based communications
CN107480122B (zh) 人工智能交互方法及人工智能交互装置
US10854191B1 (en) Machine learning models for data driven dialog management
US12033622B1 (en) Target-device resolution
US11348601B1 (en) Natural language understanding using voice characteristics
US11276403B2 (en) Natural language speech processing application selection
US11398226B1 (en) Complex natural language processing
CN112151015A (zh) 关键词检测方法、装置、电子设备以及存储介质
US10600419B1 (en) System command processing
US11132994B1 (en) Multi-domain dialog state tracking
Harwath et al. Zero resource spoken audio corpus analysis
US11990122B2 (en) User-system dialog expansion
US20230377574A1 (en) Word selection for natural language interface
JP6682149B2 (ja) 対話システム、方法、及びプログラム
Alam et al. Comparative study of speaker personality traits recognition in conversational and broadcast news speech.
US11693622B1 (en) Context configurable keywords
US11626107B1 (en) Natural language processing
US11682400B1 (en) Speech processing
US11741945B1 (en) Adaptive virtual assistant attributes
US10929601B1 (en) Question answering for a multi-modal system
US20220161131A1 (en) Systems and devices for controlling network applications
US11699444B1 (en) Speech recognition using multiple voice-enabled devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200303

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200324

R150 Certificate of patent or registration of utility model

Ref document number: 6682149

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150