(57)【要約】  ユーザ発話へロボットが応答したあと、その内容を反映した追加の一問一答をロボット間で行うことで、ユーザ発話を起点として、詳細に話題が繋がる自然な対話を実現する対話装置等を提供する。想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を単位として構成される４つ組発話を複数個記憶してあり、対話装置は、ユーザ発話に対応するテキストデータの入力を契機に、ユーザ発話に対応するテキストデータと類似する想定ユーザ発話文から始まる４つ組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、ユーザ発話用応答文と後続発話文を、それぞれ異なるエージェントが発話し、後続発話文と後続応答文を、それぞれ異なるエージェントが発話するように制御する。
2020070923.tif 000002
【特許請求の範囲】
【請求項１】
想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を単位として構成される４つ組発話を複数個記憶してあり、
ユーザ発話に対応するテキストデータの入力を契機に、
前記ユーザ発話に対応するテキストデータと類似する想定ユーザ発話文から始まる４つ組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、
前記ユーザ発話用応答文と前記後続発話文を、それぞれ異なるエージェントが発話し、
前記後続発話文と前記後続応答文を、それぞれ異なるエージェントが発話するように制御する、
対話装置。
【請求項２】
想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を冒頭に含む複数組発話を複数個記憶してあり、
ユーザ発話に対応するテキストデータの入力を契機に、
前記ユーザ発話に対応するテキストデータと類似する想定ユーザ発話文から始まる複数組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、
前記ユーザ発話用応答文と前記後続発話文を、それぞれ異なるエージェントが発話し、
前記後続発話文と前記後続応答文を、それぞれ異なるエージェントが発話するように制御する、
対話装置。
【請求項３】
請求項１または請求項２の対話装置であって、
前記想定ユーザ発話文は、ユーザが発話すると想定される文であり、
前記ユーザ発話用応答文は、同じ意味の想定ユーザ発話文に対しては、同じユーザ発話用応答文になるように生成された、前記想定ユーザ発話文に対する応答文であり、
前記後続発話文は、紐づけられた想定ユーザ発話文とユーザ発話用応答文のペアに対して、話題の連続性を表す指標と所定の閾値との大小関係に基づき、話題の連続性があると判断されるように作成された発話であり、
前記後続応答文は、紐づけられた後続発話文に対して、話題の連続性を表す指標と所定の閾値との大小関係に基づき、話題の連続性があると判断されるように作成された発話である、
対話装置。
【請求項４】
請求項１から請求項３の何れかの対話装置であって、
発話内容の対象を示す情報と、発話内容のタイプを規定するものを示す情報とを用いて、前記タイプに紐づけられたテンプレート発話と前記対象とからシナリオタイプ誘導発話文を生成するシナリオタイプ誘導発話生成部と、
前記シナリオタイプ誘導発話文に対して発せられた前記ユーザ発話に対応するテキストデータと、最も類似する想定ユーザ発話文の類似度が、所定の閾値よりも大きいまたは所定の閾値以上の場合、前記ユーザ発話に対応するテキストデータと類似する想定ユーザ発話文から始まる４つ組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、前記類似度が所定の閾値以下または所定の閾値よりも小さい場合、内容語を含まない発話文を複数のエージェントの何れかが発話した後に前記ユーザ発話に対応するテキストデータと類似する想定ユーザ発話文から始まる４つ組発話をそれぞれ複数のエージェントの何れかが発話するように制御する発現制御部とを含む、
対話装置。
【請求項５】
請求項１から請求項３の何れかの対話装置であって、
発話内容の対象を示す情報と、発話内容のタイプを規定するものを示す情報とを用いて、前記タイプに紐づけられたテンプレート発話と前記対象とからシナリオタイプ誘導発話文を生成するシナリオタイプ誘導発話生成部と、
前記シナリオタイプ誘導発話文に対して発せられた前記ユーザ発話に対応するテキストデータと、最も類似する想定ユーザ発話文、ユーザ発話用応答文、後続発話文の何れかの類似度が、所定の閾値よりも大きいまたは所定の閾値以上の場合、前記ユーザ発話に対応するテキストデータと類似する想定ユーザ発話文、ユーザ発話用応答文、後続発話文を含む４つ組発話のうち、最も類似する想定ユーザ発話文、ユーザ発話用応答文または後続発話文以降の発話文をそれぞれ複数のエージェントの何れかが発話し、前記類似度が所定の閾値以下または所定の閾値よりも小さい場合、内容語を含まない発話文を複数のエージェントの何れかが発話した後に前記ユーザ発話に対応するテキストデータと類似する想定ユーザ発話文から始まる４つ組発話をそれぞれ複数のエージェントの何れかが発話するように制御する発現制御部とを含む、
対話装置。
【請求項６】
想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を単位として構成される４つ組発話を複数個記憶されているものとし、
対話装置が、
ユーザ発話に対応するテキストデータの入力を契機に、
前記ユーザ発話に対応するテキストデータと類似する想定ユーザ発話文から始まる４つ組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、
前記ユーザ発話用応答文と前記後続発話文を、それぞれ異なるエージェントが発話し、
前記後続発話文と前記後続応答文を、それぞれ異なるエージェントが発話するように制御する、
対話方法。
【請求項７】
想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を冒頭に含む複数組発話を複数個記憶してあり、
対話装置が、
ユーザ発話に対応するテキストデータの入力を契機に、
前記ユーザ発話に対応するテキストデータと類似する想定ユーザ発話文から始まる複数組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、
前記ユーザ発話用応答文と前記後続発話文を、それぞれ異なるエージェントが発話し、
前記後続発話文と前記後続応答文を、それぞれ異なるエージェントが発話するように制御する、
対話方法。
【請求項８】
請求項１から請求項５の何れかの対話装置として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、人とコミュニケーションを行うロボットなどに適用可能な、コンピュータが人間と自然言語を用いて対話を行う技術に関する。
【背景技術】
【０００２】
近年、人とコミュニケーションを行うロボットの研究開発が進展しており、ロボットと人とが対話を行う対話システムが様々な現場で実用化されてきている。現在、ロボットと人とが雑談を行う雑談対話システムでは、対応可能な話題の広さを優先し、ロボットと人とのやり取りは一問一答的なアプローチが主に用いられている。ロボットと人とのやり取りを単純な一問一答に限定することで、雑談中の幅広い話題への対応を実現している。しかしながら、ロボットの対話相手である人（システムのユーザ）にとっては、一問一答では対話が細切れとなり、ロボットとまとまった対話をできたという満足感が得られにくいという課題がある。この課題に対し、ユーザの発話（以下、ユーザ発話と記載）による話題遷移を許容しない、もしくはごく少数の分岐を用意しておく前提で、複数ターンのシナリオを構築する場合もある（非特許文献１）。非特許文献１は、話題遷移を許容しない場合、ロボットからユーザに質問し、ユーザの答えによらず、「そっか」などの相槌でユーザの回答を受け止め、「僕は○○だよ」と切り返すという流れを繰り返すものである。非特許文献１のアプローチの問題点として、展開される話題がユーザ発話と直接対応するものとは限らないため、ロボットの対話相手であるユーザに、自身の回答がロボットに理解されたという満足感を与えることは難しい点がある。また、ユーザ発話に応じてシナリオを分岐させていくアプローチもあるが、この場合も、ユーザの発話が話の展開に多少の影響を与えるにすぎないため、ユーザの回答がロボットに理解されたという満足感は少ないという問題がある。【０００３】
こうした課題に対し、質問と、その質問に対応する回答との複数の組み合わせを、発話知識として事前に蓄積しておき、ユーザ発話に対して一問一答形式の発話知識に基づいて応答するとともに、その内容に関連する別の発話知識を利用して２体のロボット間で一問一答形式の対話を行うアプローチが提案されており、ユーザにとって、ユーザ１人とロボット１体で行う１対１の対話よりも対話の継続感が向上することが知られている（非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】渡辺美紀、小川浩平、石黒浩、「タッチディスプレイを通じて誘導的な対話を行う販売アンドロイド」、一般社団法人 人工知能学会、The 30th Annual Conference of the Japanese Society for Artificial Intelligence, 2016.
【非特許文献２】杉山弘晃、目黒豊美、吉川雄一郎、大和淳司、「複数ロボット間連携による対話破綻回避効果の分析」、一般社団法人 人工知能学会、人工知能学会全国大会, pp.1B2-OS-25b-2,2017.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献２の発話知識は、特定の話題に特化するよりもむしろ一般的な内容で構築されているため、対話の個別の話題・文脈とはやや乖離した（ユーザ発話の詳細とは関連しない）内容になることが多い。【０００６】
本発明は、ユーザ発話へロボットが応答したあと、その内容を反映した追加の一問一答をロボット間で行うことで、ユーザ発話を起点として、詳細に話題が繋がる自然な対話を実現する対話装置、その方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明の一態様によれば、想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を単位として構成される４つ組発話を複数個記憶してあり、対話装置は、ユーザ発話に対応するテキストデータの入力を契機に、ユーザ発話に対応するテキストデータと類似する想定ユーザ発話文から始まる４つ組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、ユーザ発話用応答文と後続発話文を、それぞれ異なるエージェントが発話し、後続発話文と後続応答文を、それぞれ異なるエージェントが発話するように制御する。【０００８】
上記の課題を解決するために、本発明の他の態様によれば、想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を冒頭に含む複数組発話を複数個記憶してあり、対話装置は、ユーザ発話に対応するテキストデータの入力を契機に、ユーザ発話に対応するテキストデータと類似する想定ユーザ発話文から始まる複数組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、ユーザ発話用応答文と後続発話文を、それぞれ異なるエージェントが発話し、後続発話文と後続応答文を、それぞれ異なるエージェントが発話するように制御する。
【発明の効果】
【０００９】
本発明によれば、ユーザ発話を起点として、話題が繋がる自然な対話を実現するという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】第一実施形態に係る対話システムの機能ブロック図。
【図２】第一実施形態に係る対話システムの処理フローの例を示す図。
【図３】第一実施形態に係る発話決定部の機能ブロック図。
【図４】発話内容のテキスト文をチャットボットからの吹き出しで表示する例を示す図。
【図５】４つ組発話の例を示す図。
【図６】質問文に、複数の分類を付与した例を示す図。
【図７】割り込み判定部の処理フローの例を示す図。
【図８】シミュレーション結果を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。
【００１２】
＜第一実施形態のポイント＞
本第一実施形態では、一問一答とシナリオの組み合わせとして、質問とその質問に対応する回答との１組の組み合わせを１往復分の発話知識と定義して、２往復分の発話知識（ミニシナリオ）に基づく複数ロボット雑談対話システムを提案する。ミニシナリオは、ユーザが発話しそうな文とそれに後続する３発話から構成される。２体以上のロボットと１人のユーザとの対話を前提とし、ユーザ発話へロボットが応答したあと、その内容を反映した追加の一問一答をロボット間で行うことで、ユーザ発話を起点として、詳細に話題が繋がる自然な対話を実現する。ユーザへの応答および追加の一問一答は全てロボットが発話するため、対話として自然につながるようにあらかじめ作成しておくことができることがポイントである。また、ロボット間の対話を利用して、自然に話題を誘導することも可能である。そのため、システムが限られたドメインの発話知識しか保有しない場合でも、ユーザに違和感を感じさせることなく雑談を継続できる。また、本実施形態ではこの特性を活かし、狭いドメインに特化して質問応答と同程度に詳細な雑談用の発話知識を構築することで、雑談と質問応答を相互に行き来しながら知識を伝達するシステムの実現も可能となる。
【００１３】
＜第一実施形態＞
図１は第一実施形態に係る対話システムの機能ブロック図を、図２はその処理フローを示す。
【００１４】
対話システムは、２つのロボットＲ１，Ｒ２と、対話装置１００とを含む。ロボットＲ１，Ｒ２は、それぞれ、入力部１０２−１、１０２−２及び提示部１０１−１、１０１−２を含む。対話装置１００は、音声認識部１１０と、発話決定部１２０と、４つ組発話記憶部１３０と、音声合成部１４０とを含む。
【００１５】
図３は第一実施形態に係る発話決定部１２０の機能ブロック図を示す。
【００１６】
発話決定部１２０は、シナリオタイプ誘導発話生成部１２１と、シナリオタイプ判定部１２２と、発現制御部１２３と、割り込み判定部１２４とを含む。
【００１７】
対話システムは、ユーザである人が２体のロボットであるロボットＲ１とロボットＲ２と対話するためのものであり、ユーザである人の発話に対して対話装置１００が生成した合成音声をロボットＲ１、Ｒ２が発話するものである。以下、対話システムの各部の動作を説明する。
【００１８】
対話装置１００は、入力部１０２−１、１０２−２を介してユーザ発話を収音し、ユーザ発話に対する対話文を生成し、対応する合成音声を提示部１０１−１、１０１−２を介して再生する。
【００１９】
対話装置は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。対話装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。対話装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。対話装置の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。対話装置が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。ただし、各記憶部は、必ずしも対話装置がその内部に備える必要はなく、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置により構成し、対話装置の外部に備える構成としてもよい。
【００２０】
＜ロボットＲ１、Ｒ２＞
ロボットＲ１とロボットＲ２は、ユーザと対話するためのものであり、ユーザの近くに配置され、対話装置１００が生成した発話を行う。
【００２１】
＜入力部１０２−１、１０２−２＞
入力部１０２−１、１０２−２は、ユーザが発話した発話音声を収音して、収音された音声データを音声認識部１１０に出力する。
【００２２】
入力部１０２−１、１０２−２は、ロボットの周囲で発せられた音響信号を収音するものであり、例えばマイクロホンである。入力部はユーザが発話した発話音声を収音可能とすればよいので、入力部１０２−１、１０２−２の何れか一方を備えないでもよい。また、ユーザの近傍などのロボットＲ１，Ｒ２とは異なる場所に設置されたマイクロホンを入力部とし、入力部１０２−１、１０２−２の双方を備えない構成としてもよい。
【００２３】
＜提示部１０１−１、１０１−２＞
提示部１０１−１、１０１−２は、音声合成部１４０から入力された合成音声データに対応する音声を再生する。これにより、ユーザはロボットＲ１またはロボットＲ２の発話を受聴することになり、ユーザと対話システムとの対話が実現される。提示部１０１−１、１０１−２は、ロボットＲ１、Ｒ２の周囲に音響信号を発するものであり、例えばスピーカである。
【００２４】
以下、対話装置１００の各部について説明する。
【００２５】
＜４つ組発話記憶部１３０＞
４つ組発話記憶部１３０には、想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を単位として構成される４つ組発話が複数個、対話に先立ち格納されている。想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の総称を発話文ともいう。なお、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文は、例えば、テキストデータである。想定ユーザ発話文は、テキストデータのみからなってもよいし、単語単位に分割した情報とともに記憶していてもよいし、文の内容を表すベクトルに変換したものと紐付けて記憶していてもよいし、テキストデータを音声合成した音声合成データと紐づけて記憶していてもよいし、テキストデータに対応する情報と音声データとを紐づけて記憶してもよい。なお、ここでいう音声データは、テキストデータを音声合成した合成音声データでもよいし、人がテキストデータを読み上げたものを録音した音声データそのものまたはそれを編集したものでもよい。なお、４つ組発話記憶部１３０にテキストデータに対応する音声データを記憶する場合、音声合成部は不要となる。各４つ組発話は、それぞれを識別可能な情報（４つ組ＩＤ）と紐づけられて４つ組発話記憶部１３０に格納されている。別の例としては、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文は、文の内容を表すベクトルに変換したものであってもよい。
（４つ組発話）
まず、ミニシナリオ（４つ組発話）について説明する。
【００２６】
Ｈをユーザとし、Ｒ１，Ｒ２をユーザが発話する相手（ロボット）とする。ここでは子どもと動物に関する対話を想定して説明する。ロボットは、音声やテキストを出力するデバイスである。ここではロボットは、前述のとおり２つとして説明を行うが、２以上の複数あれば２つに限るものではない。本実施形態のように提示部を介して発話内容を音声合成した信号をロボットが内蔵するスピーカ等を利用して出力してもよいし、他の実施形態として、音声合成は行わずに発話内容のテキスト文をスマホ等の中でチャットボットからの吹き出しで表示してもよい（図４参照）。その他、ぬいぐるみにスピーカを内蔵して、発話内容を音声合成した信号を出力してもよい。テキストチャットのような形式で発話内容をテキストで表示するだけとしてもよい。本明細書では、ロボットやチャットボット等のチャット相手などのユーザの対話相手となるハードウェアやユーザの対話相手となるハードウェアとしてコンピュータを機能させるためのコンピュータソフトウェアなどを総称してエージェントと呼ぶこととする。エージェントは、ユーザの対話相手となるものであるため、ロボットやチャット相手などのように擬人化されていたり、人格化されていたり、性格や個性を有していたりするものであってもよい。ユーザが対話相手として認知しやすいものが望ましいため、ここでは発話内容を音声合成した信号をロボットが内蔵するスピーカ等を利用して出力する例で説明する。ｔ（ｖ）はｖ番目の発話を意味し、Ｘ→ＹはＸからＹに対して発話していることを意味する。
【００２７】
例：
ｔ（１）：Ｒ１→Ｈ：ユーザさんはゾウさんのどんなところが好き？
（後述するシナリオタイプ誘導発話文に相当）
ｔ（２）：Ｈ→Ｒ１：大きいところかな
（この発話ｔ（２）に基づきシナリオタイプを判定し、発話ｔ（２）に最も類似する想定ユーザ発話文（４つ組発話の１番目の発話）を含む４つ組発話を特定する）
ｔ（３）：Ｒ１→Ｈ：なるほど
（発話ｔ（３）は非必須である。この発話ｔ（３）は、ユーザの納得感向上のための発話であり、ユーザ発話を受けとめる発話である。）
ｔ（４）：Ｒ２→Ｈ：ゾウさん大きくてかっこいい
（発話ｔ（４）は非必須である。この発話ｔ（４）は、納得感向上のための発話であり、ユーザ発話を受けとめる発話である。ユーザ発話である発話ｔ（２）に含まれる「大きい」に対応する「大きく」というフレーズを含み、リフレーズの発話ともいう。なお、発話ｔ（４）を発するロボットは、１つ目の受けとめる発話ｔ（３）とは、別ロボットであることが望ましい。）
ｔ（５）：Ｒ１→Ｒ２：肩までの高さは２．５〜３ｍくらいあるんだよ
（４つ組発話の２番目の発話である。なお、２番目の発話を発するロボットは、直前に発話を発話したロボットとは別ロボットであることが望ましい。４つ組発話の２番目の発話は１番目の発話に対する応答を想定しているので、発話ｔ（４）：Ｒ２→Ｈのリフレーズを発したロボットとは異なるロボットが発することが望ましい。ロボットが３つ以上の場合には、２番目の発話を行うロボットは、発話ｔ（４）：Ｒ２→Ｈのリフレーズを発したロボットとは異なるロボットであれば、ロボットＲ１でなくてもよい。以下、ロボットが３つ以上の場合の説明は省略するが、別ロボットとする場合の考え方は、同様である。）
ｔ（６）：Ｒ２→Ｒ１：そんなに大きいんだ
（４つ組発話の３番目の発話。この例では、３番目の発話を発するロボットは、２番目の発話を発したロボットとは別ロボットである。）
ｔ（７）：Ｒ１→Ｒ２：近くで見ると迫力があるよ
（４つ組発話の４番目の発話。４番目の発話を発するロボットは、３番目の発話を発したロボットとは別ロボットである。）
【００２８】
（４つ組発話記憶部１３０の詳細）
後述する検索に用いるため、４つ組発話記憶部１３０に格納されている想定ユーザ発話文は、上述の通り、単語単位に分割した情報として記憶していてもよいし、文の内容を表すベクトルに変換したものと紐付けて記憶していてもよい。
【００２９】
ここでは、動物に関する対話を想定した例に基づいて、想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の説明および構築方法を以下に示す。
【００３０】
想定ユーザ発話文は、ユーザが発話すると想定される文であり、ユーザの発話する範囲を詳細にカバーできるよう多数作成する。本実施形態では、対象とする動物について、いいところ、質問、トリビアのいずれかの発話種類（タイプ）ごとに、複数の発話文を作成する。例えば、発話文を５０文ずつ作成する。作成は人手で事前に行っておく。発話文は１以上あればよいが、多いほど話題のバリエーションを増やすことができる。図５は、対象を「ゾウ」とし、タイプを「いいところ」とする４つ組発話の例を示す。例えば、
・対象「ゾウ」のタイプ「いいところ」について、「お鼻が長いところが好き」や「ゾウさん大きくてかっこいい」などとなる。
・対象「ゾウ」のタイプ「質問」について、「何で鼻があんなに長いの？」や「何キロくらいあるの？」などとなる。
・対象「ゾウ」のタイプ「トリビア」について、「ゾウも日焼けしちゃうんだって。」や「ゾウは泳げるんだよ。」などとなる。
【００３１】
さらに、ユーザ発話の表現の揺れを吸収できるよう、それぞれの想定ユーザ発話文と異なる表現で同じ意味となる文を複数、例えば５文ずつ作成する。例えば、「お鼻が長いところが好き」と異なる表現で同じ意味となる文としては、「ぞうさんはお鼻が長い。」、「象さんすごくお鼻長いね！」等が考えられる。なお、同じ意味の発話文をまとめ２５〜３０種類程度あるとのぞましい。
【００３２】
次に、このように作成した想定ユーザ発話文について、ロボットが発話するユーザ発話用応答文を作成する。ロボットの発話に矛盾が生じないよう、ユーザ発話用応答文は動物の種類ごとに作成するものとし、同じ意味の想定ユーザ発話文に対しては、同じユーザ発話用応答文となるよう作成する。また、ユーザ発話用応答文に質問を入れると、後述する後続発話文との整合が取りにくくなるため、ユーザ発話用応答文は平叙文で作成することとする。ゾウの「お鼻が長いところが好き」という発話文に対する応答文として、「ゾウさんのお鼻は筋肉でできてて小さいものもつかめるんだよ」等が作成される。
【００３３】
後続発話文は、それに紐づく想定ユーザ発話文とユーザ発話用応答文のペアに対して、対話として自然につながるよう作成された発話である。例えば、後続発話文は、それに紐づく想定ユーザ発話文とユーザ発話用応答文のペアに対して、話題の連続性を表す指標と所定の閾値との大小関係に基づき、話題の連続性があると判断されるように作成された発話である。話題の連続性があるか否かの判定方法としては、様々なものが考えられるが、例えば、以下の２つの方法により話題の連続性があるか否かを判定する。
１．話題の連続性を表す指標をword2vecで作った文ベクトル間の距離で定義し、距離が所定の閾値より小さい、または、以下の場合に話題がつながる（話題の連続性があり、自然につながる）と判定する。
２．参考文献１の破綻検出技術を使って、破綻が検出されない場合に、話題がつながる（話題の連続性があり、自然につながる）と判定する。
（参考文献１）Hiroaki Sugiyama, "Dialogue Breakdown Detection based on Estimating Appropriateness of Topic Transition", Dialogue System Technology Challenge, 2016.
【００３４】
ここでは、後続発話文として、質問、平叙、継続の３つのタイプの発話を作成している。なお、このタイプは、想定ユーザ発話文のタイプとは別に設定される。質問と平叙はユーザ発話用応答文の発話者に対して別の話者が発話するものとして作成し、継続はユーザ発話用応答文の発話者自身が継続して発話するものとして作成する。例えば、ユーザ発話用応答文「ゾウさんのお鼻は筋肉でできてて小さいものもつかめるんだよ」の後続発話文の
・タイプ「質問」には「鼻で吸ってるんじゃないの？」
・タイプ「平叙」には「すごく器用なんだね」
・タイプ「継続」には「しかも鼻の動きを観察していると、ゾウの気持ちが分かるんだって」
等が作成される。
【００３５】
後続発話応答文は、後続発話文に対する自然な応答になるよう作成された発話であり、ユーザ発話用応答文と同様の方法で作成する。例えば、後続発話応答文は、後続発話文に対して、話題の連続性を表す指標と所定の閾値との大小関係に基づき、話題の連続性があると判断されるように作成された発話である。話題の連続性があるか否かの判定方法としては、上述の後続発話文で説明した方法と同様の方法を利用することができる。
【００３６】
以上のように発話知識を構成することで、後続発話文は先行する想定ユーザ発話文、ユーザ発話用応答文に密接につながる発話となるため、一問一答をつなげて複数ターンとするよりも自然な対話を実現できる。
【００３７】
＜発話決定部１２０＞
前述の通り、発話決定部１２０は、シナリオタイプ誘導発話生成部１２１と、シナリオタイプ判定部１２２と、発現制御部１２３と、割り込み判定部１２４とを含む（図３参照）。
【００３８】
（シナリオタイプ誘導発話生成部１２１）
入力：対象Ａ、タイプα
出力：シナリオタイプ誘導発話文を表すテキストデータ
シナリオタイプ誘導発話生成部１２１は、タイプαに紐づけられたテンプレート発話と対象Ａを入力とし、タイプαに紐づけられたテンプレート発話と対象Ａとからシナリオタイプ誘導発話文を生成し（Ｓ１２１）、音声合成部１４０に出力する。なお、シナリオタイプ誘導発話文は、「対象Ａのタイプαについての発話を促す発話文」（テキストデータ等）である。
【００３９】
対象Ａは、発話内容の対象となるものを示す情報である。例えば、動物園で動物を対象とした話をしようとする場合、対象Ａとして動物の種類等が考えられる。ここでは、対象Ａを象として説明する。
【００４０】
タイプαは、発話内容のタイプを規定するものを示す情報である。ここでは、発話内容のタイプの例として、いいところ、質問、トリビア、嫌いなところ、ロボットに対する賞賛、ロボットに対する悪口、の６タイプで説明する。
・いいところタイプの例は、対象Ａの好きなところ。例えば「＜対象Ａ＞のどんなところが好き？」といったシナリオタイプ誘導発話文を生成する。
・質問タイプの例は、対象Ａに関する質問。例えば「＜対象Ａ＞について聞きたいことある？」といったシナリオタイプ誘導発話文を生成する。
・トリビアタイプの例は、対象Ａに関する一般的な認知度が低い知識。例えば「＜対象Ａ＞は、人間には聞こえない音で会話するんだって。」といったシナリオタイプ誘導発話文を生成する。
・嫌いなところタイプの例は、対象Ａの嫌いなところ。例えば「＜対象Ａ＞のどんなところが嫌い？」といったシナリオタイプ誘導発話文を生成する。
・ロボットに対する賞賛タイプの例は、対象Ａに関係なく、ロボットのよいところ。例えば「僕のどんなところが好き？」といったシナリオタイプ誘導発話文を生成する。なお、この場合、対象Ａは必要ない。
・ロボットに対する悪口タイプの例は、対象Ａに関係なく、ロボットの悪いところ。例えば「僕のどんなところが嫌い？」といったシナリオタイプ誘導発話文を生成する。なお、この場合、対象Ａは必要ない。
【００４１】
「ロボットに対する賞賛タイプ」「ロボットに対する悪口タイプ」を除く各タイプの発話を促す発話が、主語となる対象Ａを穴埋めするようなテンプレート発話の形で、各タイプとともに紐づけて複数文、図示しない記憶部に記憶されている。例えば、各タイプとともに紐づけられた複数文の中から以下のように文を選択してもよい。
【００４２】
シナリオタイプ誘導発話生成部１２１は、１回目の処理時には、対象Ａとタイプαの入力に基づいて、タイプαに紐づけられた複数の発話文の中から１文をランダムに選択し、対象Ａを主語とするシナリオタイプ誘導発話文を生成して出力するとともに、使用した発話文にフラグを立てる。このフラグは、対応する発話文が選択済みであることを示す。
【００４３】
シナリオタイプ誘導発話生成部１２１は、２回目の処理時には、タイプαに紐づけられた複数の発話文の中からフラグのついていない未選択の発話文をランダムに選択し、対象Ａを主語とするシナリオタイプ誘導発話文を生成して出力する。
【００４４】
このような構成とすることで、同じシナリオタイプ誘導発話文が連続して選択されることを防ぐことができる。
【００４５】
対象Ａ、タイプαがどのように入力されるかについて例を挙げる。
【００４６】
例えば、対象及びタイプをタッチパネルにてユーザに選択可能とし、ユーザが何れかの対象及びタイプをタップすると、シナリオタイプ誘導発話生成部１２１は、タッチパネルからその対象Ａを示す情報とそのタイプαを示す情報を受け取る。
【００４７】
また、例えば、複数の対象とタイプを予め用意しておき、図示しない制御部から新しいシナリオの開始指示を示す情報を受け取ると、複数の対象とタイプの中から、ランダムに対象とタイプとを選択する構成としてもよい。この場合、シナリオタイプ誘導発話生成部１２１は、新しいシナリオの開始を示す情報を入力とする。
【００４８】
＜音声合成部１４０＞
音声合成部１４０は、シナリオタイプ誘導発話文を入力として受け取り、シナリオタイプ誘導発話文に対する音声合成を行って（Ｓ１４０−１）合成音声データを得て、得られた合成音声データをロボットＲ１の提示部１０１−１またはロボットＲ２の提示部１０１−２に出力する。なお、音声合成部１４０は、発話決定部１２０が決定した発話内容を表すテキストデータを、発話内容を表す音声信号に変換する。発話内容を表す音声信号は、提示部１０１−１または１０１−２へ入力される。音声合成の方法は既存のいかなる音声合成技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。
【００４９】
提示部１０１−１または１０１−２は、合成音声データを受け取り、対応する音声を再生する（Ｓ１０１−Ａ）。
【００５０】
なお、以降において、何らかのテキストデータを生成し、テキストデータに対する音声合成を行い、対応する音声を再生する処理を、単に、ロボットＲ１またはロボットＲ２に発話させるともいう。
【００５１】
入力部１０２−１または１０２−２は、シナリオタイプ誘導発話文の出力直後のユーザ発話音声を収音して（Ｓ１０２−Ａ）、収音された音声データ（収音信号）を音声認識部１１０へ出力する。
【００５２】
＜音声認識部１１０＞
音声認識部１１０は、収音信号を入力として受け取り、この収音信号に対して音声認識を行い（Ｓ１１０−１）、音声認識結果をシナリオタイプ判定部１２２に出力する。音声認識結果には、例えば、対応するテキストデータと韻律の情報とが含まれる。なお、音声認識部１１０は、常時、入力部１０２−１または１０２−２で収音したユーザの発話音声の音声信号をユーザの発話内容を表すテキストデータに変換し、ユーザの発話内容を表すテキストデータを発話決定部１２０へ出力する。音声認識の方法は既存のいかなる音声認識技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。
【００５３】
（シナリオタイプ判定部１２２）
入力：ユーザ発話に対応するテキストデータ、韻律の情報、４つ組発話記憶部１３０に格納された４つ組発話
出力：４つ組ＩＤ、類似度が閾値以上であったか否かを示す情報
シナリオタイプ判定部１２２は、ユーザ発話に対応するテキストデータ、韻律の情報を入力として受け取り、これらを用いて、ユーザ発話文が質問文であるか否かを判定する。質問文であるか否かの判定は、ユーザ発話に対応するテキストデータや音声の韻律を利用して行う。例えば、「どんな」や「どこで」のような疑問詞を含む場合や、「好きですか」のように疑問を示す終助詞で文が終わる場合、ユーザ発話文が質問文であると判定することができる。また、「好きなの」のように語尾の上げ下げによって質問か否かが変化する場合に、音声の韻律情報を用いてより正確に質問か否かを判定することができる。これらはルール的に記述してもよいし、質問発話を集めたコーパスから機械学習によって自動で認識しても良い（参考文献２参照）。
（参考文献２）目黒豊美,東中竜一郎,杉山弘晃,南泰浩,「意味属性パターンを用いたマイクロブログ中の発言に対する自動対話行為付与」,一般社団法人情報処理学会,2013年,研究報告音声言語情報処理(SLP),2013(1),1-6.
【００５４】
ユーザ発話文が質問文であると判定した場合、シナリオタイプ判定部１２２は、質問タイプの４つ組発話に含まれる想定ユーザ発話文と対応する４つ組ＩＤを４つ組発話記憶部１３０から取り出し、想定ユーザ発話文とユーザ発話に対応するテキストデータとの類似度を計算し（Ｓ１２２）、ユーザ発話に対応するテキストデータと最も類似する想定ユーザ発話文を含む４つ組発話の４つ組ＩＤと、類似度が閾値以上であったか否かを示す情報を出力する。
【００５５】
ユーザ発話文が質問文ではないと判定した場合、シナリオタイプ判定部１２２は、質問タイプ以外のすべての４つ組発話に含まれる想定ユーザ発話文と対応する４つ組ＩＤを４つ組発話記憶部１３０から取り出し、想定ユーザ発話文とユーザ発話に対応するテキストデータとの類似度を計算し（Ｓ１２２）、ユーザ発話に対応するテキストデータと最も類似する想定ユーザ発話文を含む４つ組発話の４つ組ＩＤと、類似度が閾値以上であったか否かを示す情報を出力する。
【００５６】
なお、シナリオタイプ誘導発話文が特定のシナリオタイプに対応するユーザ発話を誘導するものである場合には、対象Ａ、タイプαをシナリオタイプ判定部１２２の入力とし、誘導されたシナリオタイプの４つ組発話に含まれる想定ユーザ発話文とユーザ発話に対応するテキストデータとの類似度を計算する構成としてもよい。例えば、シナリオタイプ誘導発話文が、「ゾウのどこが好き？」等の対象のいいところを引き出す発話の場合、「いいところ」の４つ組発話に含まれる想定ユーザ発話文とユーザ発話に対応するテキストデータとの類似度のみを計算すればよく、ユーザ発話が質問文であるか否かの判定を省略してもよい。
【００５７】
想定ユーザ発話文とユーザ発話に対応するテキストデータとの文間類似度は、例えば、word2vecを利用して類似度を求め、各単語の類似度の加算平均等を用いる。なお、word2vecを利用する方法は一例であり、類似度判定に利用可能な技術であればこれに限るものではない。例えば、事前に自然文を集めたコーパスを入力としてニューラルネットワークを用いて文間類似度を出力するモデルを学習しておき、シナリオタイプ判定部１２２は学習済みのモデルを利用して文間類似度を求めてもよい。
【００５８】
なお、本実施形態は一例であって、質問文か否かに関わらず、すべての４つ組発話に含まれる想定ユーザ発話文とユーザ発話に対応するテキストデータとの類似度を計算し、ユーザ発話に対応するテキストデータと最も類似する想定ユーザ発話文を含む４つ組発話の４つ組ＩＤと、類似度が閾値以上であったか否かを示す情報を出力してもよい。
【００５９】
（発現制御部１２３）
入力：４つ組ＩＤ、類似度が閾値以上であったか否かを示す情報
出力：ユーザの発話を受け止める発話文、４つ組発話
発現制御部１２３は、類似度が閾値以上である場合（Ｓ１２３−１のｙｅｓ）、ユーザ発話を受け止める発話文に対応するテキストデータと、受け取った４つ組ＩＤに対応するユーザ発話用応答文、後続発話文、後続応答文を音声合成部１４０に出力する（Ｓ１２３−２）。
【００６０】
発現制御部１２３は、類似度が閾値未満である場合（Ｓ１２３−１のｎｏ）、ユーザ発話を受け止める発話文に対応するテキストデータと、受け取った４つ組ＩＤに対応する想定ユーザ発話文、ユーザ発話用応答文、後続発話文、後続応答文を音声合成部１４０に出力する（Ｓ１２３−３）。
【００６１】
以下、具体的に説明する。
（１）類似度が閾値以上であった場合
Ｒ１→Ｈ：なるほど（ユーザ発話を受けとめる発話の例１）
Ｒ２→Ｈ：ゾウさん大きくてかっこいい（ユーザ発話を受けとめる発話の例２）
等、ユーザ発話を受けとめる発話を行う。
【００６２】
ユーザ発話を受けとめる発話の例１としては、内容語を含まない発話「そっかぁ」「ふむふむ」「へぇ〜」などである。
【００６３】
また、ユーザ発話を受けとめる発話の例２としては、ユーザの発話を繰り返したり、リフレーズする発話などである。例えば、「（ユーザの発話を引用）よね」である。
【００６４】
ユーザ発話を受けとめる発話は、上記の例１、２の両方を発話してもいいし、いずれか一方であってもいいし、発話しなくてもよい。ただし、発話した方がユーザの満足感が向上する。
【００６５】
以上のユーザ発話を受けとめる発話の後、４つ組発話の想定ユーザ発話文以降の３つの発話文（ユーザ発話用応答文、後続発話文、後続応答文）それぞれを複数体のロボットが順に発話する。
（２）類似度が閾値未満であった場合
Ｒ１→Ｈ：なるほど
等、ユーザ発話を受けとめる発話１を行う。
【００６６】
ユーザ発話を受けとめる発話の例１としては、内容語を含まない発話「そっかぁ」「ふむふむ」「へぇ〜」など（テキストデータ等）である。この場合、必ずユーザ発話を受けとめる発話を行う。
【００６７】
以上の発話の後、４つ組発話の４つの発話（想定ユーザ発話文、ユーザ発話用応答文、後続発話文、後続応答文）それぞれを複数体のロボットが順に発話する。想定ユーザ発話文の前に「そういえば」などの話題転換語を入れるとより自然になるため、類似度が閾値未満であった場合には、発現制御部１２３は、ユーザ発話を受けとめる発話、話題転換語、想定ユーザ発話文、ユーザ発話用応答文、後続発話文、後続応答文を出力するようにしてもよい。
【００６８】
要は、類似度が閾値以上であれば、ユーザ発話に対して直接ユーザ発話用応答文で答えることができ、類似度が閾値未満であれば、ユーザ発話用応答文が妥当な応答として利用できないため、ロボット間対話を利用して話題をずらすことで対話を継続する。
【００６９】
（１つのユーザ発話用応答文に対して複数の後続発話文が対応する場合）
あるユーザ発話用応答文に対して複数の後続発話文を用意してもよい（図５参照）。その場合、複数の後続発話文の中からランダムに選択して発現するようにしてもよい。例えば、前述の通り、発現制御部１２３は、４つ組ＩＤを入力とするので、入力された４つ組ＩＤに対応する４つ組発話のユーザ発話用応答文と、その４つ組発話のユーザ発話用応答文と同じユーザ発話用応答文を持つ４つ組発話とに対応する複数の後続発話文の中からランダムに１つの後続発話文を選択し発現させる。
【００７０】
また、あるユーザ発話用応答文に対して、「質問」「平叙」「継続」に分類される複数の後続発話文を用意してもよい。
【００７１】
例えば、
シナリオタイプ誘導発話文：Ｒ１→Ｈ：ユーザさんはゾウさんのどんなところが好き？
ユーザ発話：Ｈ→Ｒ１：大きいところかな
ユーザ発話用応答文：Ｒ１→Ｒ２：肩までの高さは２．５〜３ｍくらいあるんだよ
という対話に、以下の「質問」「平叙」「継続」に分類される後続発話文を用意する。
「質問」の後続発話文の例：Ｒ２→Ｒ１：鼻の長さはどれくらいあるの？
「平叙」の後続発話文の例：Ｒ２→Ｒ１：そんなに大きいんだ
「継続」の後続発話文の例：Ｒ１→Ｒ２：近くで見ると迫力があるよ
さらに、「質問」「平叙」「継続」毎に複数の後続発話文を用意してもよい。
【００７２】
この場合、発現制御部１２３は、ユーザ発話用応答文の後の後続発話文として、「質問」「平叙」「継続」に分類される複数の後続発話文の中から１つを選択し、選択した後続発話文を発現させる。
・「質問」とは、ユーザ発話用応答文の内容に適切に合致する質問であり、ユーザ発話用応答文を発話しなかったロボットが発話する。
・「平叙」とは、ユーザ発話用応答文の内容に適切に合致する感想などの平叙文であり、ユーザ発話用応答文を発話しなかったロボットが発話する。
・「継続」とは、ユーザ発話用応答文の内容に適切に合致する追加情報などの平叙文であり、ユーザ発話用応答文を発話したロボット自身が連続して発話する。
【００７３】
なお、「質問」「平叙」「継続」に分類される複数の後続発話文の中からランダムに１つの後続発話文を選択するため、本対話システムは、ユーザ発話用応答文と後続発話文をそれぞれ異なるエージェントが発話する場合（「質問」「平叙」に分類される後続発話文が選択された場合）、及び、ユーザ発話用応答文と後続発話文を同じエージェントが発話する場合（「継続」に分類される後続発話文が選択された場合）を含む。
【００７４】
（ユーザの嗜好に基づく選択）
発現制御部１２３は、対話の経緯から、ユーザの好きな後続発話文の分類を判定し、ユーザの好きな後続発話文が発現しやすくなるように選択してもよい。
【００７５】
例えば、ユーザが質問好きであるか否かによって、「質問」「平叙」「継続」の中から重み付け選択されるようにしてもよい。ユーザが質問好きであるか否かの判定方法としては、例えば、別途撮像機器でロボット間発話観測後のユーザの視線・表情・姿勢などを撮影し、撮影映像からユーザの興味の多寡を推測する方法が利用できる。質問を受けた直後のユーザの視線・表情・姿勢などから、「興味がある」と推定される場合に、発現制御部１２３は、ユーザが質問好きであると判定する。
【００７６】
ユーザが質問好きである場合、「質問」「平叙」「継続」の中からランダムに選ぶ際に、「質問」が選ばれる確率が「平叙」「継続」のいずれよりも高くなるように重み付けする。
【００７７】
さらに、一度使用した４つ組発話（ＩＤ、「質問」「平叙」「継続」の各文のパターン）にはフラグを付け、２度目以降は使用しないように検索するとよい。例えば、図６のように、各質問文に、複数の分類を付与しておき、分類が同じ組み合わせをもつ文章が２度目以降に選択されないようにすればよい。例えば、ユーザが変わる度にフラグをリセットしたり、全てのフラグが立ったときにフラグをリセットすればよい。
【００７８】
（１）類似度が閾値以上であった場合
音声合成部１４０は、発現制御部１２３が出力する、ユーザの発話を受け止める発話文、４つ組発話のユーザ発話用応答文、後続発話文、後続応答文を入力として受け取り、これらのテキストデータに対する音声合成を行って（Ｓ１４０−２）合成音声データを得て、得られた合成音声データをロボットＲ１の提示部１０１−１またはロボットＲ２の提示部１０１−２に出力する。
【００７９】
提示部１０１−１または１０１−２は、音声合成部１４０が出力する合成音声データを入力として受け取り、対応する音声を順番に再生する（Ｓ１０１−Ｂ）。
【００８０】
（２）類似度が閾値未満であった場合
音声合成部１４０は、発現制御部１２３が出力する、ユーザの発話を受け止める発話文、４つ組発話の想定ユーザ発話文、ユーザ発話用応答文、後続発話文、後続応答文を入力として受け取り、これらのテキストデータに対する音声合成を行って（Ｓ１４０−３）合成音声データを得て、得られた合成音声データをロボットＲ１の提示部１０１−１またはロボットＲ２の提示部１０１−２に出力する。
【００８１】
提示部１０１−１または１０１−２は、音声合成部１４０が出力する合成音声データを入力として受け取り、対応する音声を順番に再生する（Ｓ１０１−Ｃ）。
【００８２】
所定の条件を満たす場合（Ｓ１５０のｙｅｓの場合）には対話を終了し、満たさない場合（Ｓ１５０のｎｏの場合）には以下の処理を行う。
【００８３】
ロボットが４つ組を発話し終わったときで、かつユーザが割り込まなかった場合に、次にロボットに発話させる４つ組発話を特定し、音声合成部１４０において音声合成音声合成を行い、提示部１０１−１または１０１−２において提示する（Ｓ１５２）。例えば、ロボットの最後の発話と類似する発話文を４つ組発話記憶部１３０内から検索し、それに紐付いた４つ組発話をロボット間で発話する。
【００８４】
なお、ロボットの最後の発話と類似する４つ組発話記憶部１３０内の別の発話文（４つ組発話ＩＤ）は、予め設定してあり、毎回検索せずに設定された４つ組発話を発話するようにしてもよい。
【００８５】
所定の条件としては、例えば、ユーザの発話回数が所定の回数となった場合や、経過時間が所定の時間を超えた場合等が考えられる。
【００８６】
＜割り込み判定部１２４＞
入力：ユーザ発話に対応するテキストデータ、ユーザ発話の韻律の情報
出力：ユーザ発話に対応するテキストデータおよびユーザ発話の韻律の情報、またはユーザ発話を受け流す発話
図７は割り込み判定部１２４の処理フローの例を示す。
【００８７】
割り込み判定部１２４は、ユーザ発話に対応するテキストデータ、韻律の情報を用いて、ユーザ発話の割り込みがないかを判定するために、常に待機している。
【００８８】
割り込み判定部１２４は、ユーザ発話があれば（Ｓ１２４−１）、そのユーザ発話がフィラーであるか否かを判定する（Ｓ１２４−２）。フィラーであるか否かの判定する方法の例は、質問判定と同様、文字列や音声の韻律を利用して行う。なお、フィラーにも相槌・同意・非同意などの種類があるため、それぞれを表す発話文を集め、それらから機械学習により分類器を作成しておき、分類器によりフィラーであるか否かを判定する構成としてもよい。
【００８９】
フィラーではない場合、割り込み判定部１２４は、シナリオタイプ判定部１２２へユーザ発話に対応するテキストデータ及びその韻律の情報を出力する（Ｓ１２４−２のｎｏ）。
【００９０】
フィラーである場合、割り込み判定部１２４は、発現制御部１２３へユーザ発話を受け流す発話を出力し、ユーザ発話の割り込みがないかを待機する状態に戻る。ユーザ発話を受け流す発話の例としては、「そうなんだよ」「ふむ」（テキストデータ等）などがあげられる。相槌の場合は「うん」、同意の場合は「そうだね」、非同意の場合は「そっかあ」など、フィラーのタイプによって発話を変更してもよい。本実施形態では、フィラーは４つ組発話の途中で発生すると想定する。例えば、発現制御部１２３は入力されたユーザ発話を受け流す発話を音声合成部１４０に出力して、発現中の４つ組発話に戻る（Ｓ１２４−２のｙｅｓ）。音声合成部１４０は、入力されたユーザ発話を受け流す発話に対する音声合成を行って合成音声データを得て、得られた合成音声データをロボットＲ１の提示部１０１−１またはロボットＲ２の提示部１０１−２に出力する。提示部１０１−１または１０１−２は、ユーザ発話を受け流す発話に対応する合成音声データを入力として受け取り、対応する音声を再生する（Ｓ１２４−３）。
【００９１】
＜効果＞
以上の構成により、ユーザ発話を起点として、詳細に話題が繋がる自然な対話を実現することができる。
【００９２】
＜シミュレーション結果＞
（実験設定）
本実施形態の対話システムを動物園に設置し、１ヶ月間来場者と対話する実証実験を行った。実施場所は、動物園の無料エリアである。無料エリアは、主に親子で本を読みながら食事や休憩を取るスペースとなっており、特に休日は多数の来場者が訪れる場所である。本実験では、対話システムとの対話に対する実ユーザの満足度を評価することを目的とする。合わせて、適切な発話タイミングやユーザの対話への興味を推定する元データとして、対話中のユーザの表情や音声の収録を行う。対象は、動物の中で人気の高い、ゾウ、キリン、カバ、レッサーパンダ、ツシマヤマネコ、トラ、フクロウ、ゴリラ、ペンギン、バクの１０種類である。来場者への案内は園内の看板やＷｅｂ等を通して行った。対話に参加する場合には、対話の方法について説明するとともに、タブレットＰＣを用いて対話中のユーザの呼び名や年齢・性別の設定、対象動物の選択、および本人が１８歳以上もしくは保護者がいる場合のみ動画等のデータ取得に関する説明および同意取得を行った。上記準備の後、実際に来場者とロボットとの間で対話を行った。なお、デモ時間や対話安定性の制約上、ユーザが６回発話した段階で、ミニシナリオの切れ目で終了モードに移行し、「そろそろ時間みたい」と対話の終了を促す形で対話の終了処理を行った。また対話終了後、ユーザ評価を５段階（１：そう思わない、…、５：そう思う）で入力した。対話の楽しさや話題の対象への興味が対話の満足度を表すと考え、評価項目には、１．ロボットと話すのは楽しかったですか？（楽しさ）、２．選んだ動物に興味を持てましたか？（興味）、３．選んだ動物に詳しくなれましたか？（知識）の３項目を設定した。
【００９３】
（結果と分析）
実験に参加した延べ人数は、付き添う保護者を含め、概ね４００−６００人程度であった。そのうちデータ取得の同意を取れた人数は２３８名であった。本実験では、有効な同意を取得できた体験者のデータのみを用いて分析を行った。まず、参加者全体の評価値は、１．楽しさ：4.52、２．興味：4.28、３．知識：4.04であった。５段階評価で4.5以上は極めて高い値であり、ほとんどの体験者が楽しいと感じたことがわかる。一方、３．知識については、4.0は超えているものの楽しさ・興味に比べるとやや低い評価値となっていた。次に、年齢の分布、および年齢ごとの評価値を図８に示す。来場者として、当初小学生低学年くらいを想定していたものの、実際には未就学児が非常に多く体験していた。一方、小学生中学年以上および中高生はほとんど来園していないことがわかる。評価値で見ていくと、１．楽しさと２．興味は年齢に依らず概ね横ばいであった。３．知識については、有意差も出ていないものの、６−８、１３−１９、２０−３９歳の評価が高い一方、９−１２歳の落ち込みが大きい。実際に体験者の様子を観察していると、６−８歳は知識のレベルが程よく合致しており、知識の満足度向上につながったものと考えられる。しかしながら、９−１２歳程度で動物園に来場する子どもはもともと非常に動物に興味があり知識も極めて豊富な子が多く、小さい子どもに合わせた知識では十分な満足を与えられなかったものと考えられる。一方、それより大きい１３歳以上、特に２０歳以上になると、普通程度の知識の来場者が再び増加し、かつ一般的な対話システムやロボットの対話レベルとの比較で評価するようになるため、評価値が向上したものと考えられる。男女の体験者数はそれぞれ１１６名、１１９名（回答なし３名）であり、評価値は男性は4.47、4.32、3.95、女性は4.56、4.23、4.11で有意差はなかった。また、観察に基づく定性的な分析として、４歳以下はロボットの発話を正しく理解すること自体が難しい（オープンな質問に的確に答えられないなど）場合が多く、論理的に見れば破綻している状態がほとんどであった。しかしながら、その状態であっても、図８の結果からも、楽しく対話していた子が多いことがわかる。内容のやりとり以外の観点での対話の楽しさを解き明かす手がかりになると考えられる。加えて、対話後に感想を尋ねたところ、今回の対話の仕方（ロボット発話→人発話→ロボット間で対話の繰り返し）でも、しっかりつながった対話と感じたという意見が多かった。ロボット間で話すところまでを応答と見れば、構造的には一問一答と類似しているものの、つながった対話と感じられていたという結果は、今後の対話ロボット研究を進めていく上で非常に有用な知見である。一方、ロボットが話しすぎている、という意見も多くあった。スクリプトでは頻繁に人に話を振るように設計していたが、それでもなお不足と感じられていたため、話を振るタイミングやユーザが割り込みやすい隙をうまく制御する必要があると考えられる。特に今回、対話の安定性を志向してPush-to-talk式のターンテイクを採用していたものの、これにより、話を振られるまで割り込みにくいという印象を強めていた可能性がある。そのため、ターンテイクの制御と合わせたデザインが必要である。
【００９４】
＜変形例１＞
上述の実施形態では、ロボットが４つ組を発話し終わったときで、かつユーザが割り込まなかった場合に、次にロボットに発話させる４つ組発話を特定し、音声合成部１４０において音声合成音声合成を行い、提示部１０１−１または１０１−２において提示する（Ｓ１５２）。ここで、以下のような変形が可能である。
【００９５】
（１）特定した４つ組発話のタイプが「いいところ」である場合
シナリオタイプ誘導発話生成部１２１は、タイプ「いいところ」の中から４つ組ＩＤをランダムに選択する。シナリオタイプ誘導発話生成部１２１は、選択した４つ組ＩＤに対応する想定ユーザ発話文と、「ユーザさんは＜想定ユーザ発話文＞ってところは好き？」のように、ユーザに問いかける形式のテンプレートを用いて、想定ユーザ発話文を変形して出力する。例えば、シナリオタイプ誘導発話生成部１２１は、「体が大きい」という想定ユーザ発話文を、「ユーザさんは＜体が大きい＞ってところは好き？」という想定ユーザ発話文に変形する。その質問に対するユーザ発話の収音信号に対して音声認識を行い、応答に対して、Ｙｅｓ／Ｎｏ判定を行い、ユーザ発話に対する共感・非共感を発話する。その後、発現制御部１２３が選択した４つ組ＩＤに対応するユーザ発話用応答文、後続発話文、後続応答文を音声合成部１４０に出力する（Ｓ１２３−２）。なお、共感の場合、対話システムは、変形前の想定ユーザ発話文に類似する、他の想定ユーザ発話文を用いてユーザ発話のリフレーズを行うことで、強い共感を示してもよい。例えば、対話システムは、「体が大きい」に類似する、他の想定ユーザ発話文である「超でかい！」を用いて、「＜超でかい！＞よね」という発話文を用いてリフレーズを行う。
【００９６】
（２）選択された４つ組発話のタイプが「質問」である場合
シナリオタイプ誘導発話生成部１２１は、タイプ「質問」の中から４つ組ＩＤをランダムに選択する。シナリオタイプ誘導発話生成部１２１は、選択した４つ組ＩＤに対応する想定ユーザ発話文を用いて、あるロボット（例えばロボットＲ１）から他のロボット（例えばロボットＲ２）へ「そういえば、＜想定ユーザ発話文＞」のように質問をし、Ｒ２が「それはねえ。あ、ユーザさんはわかるかな？」とユーザＨにクイズのように発話することで、ユーザを対話により強く関わらせることができる。さらに、
（２−１）ユーザ発話がわからない旨を発話していることが検知できた場合、ロボットＲ１が「僕もわからないや」というように共感を表出し、ロボットＲ２が「正解はねえ、＜ユーザ発話用応答文＞」のように発話することで、自然に対話を継続できる。
【００９７】
（２−２）ユーザ発話に対応するテキストデータとユーザ発話用応答文との類似度が高い場合、ロボットＲ２が「正解！すごいね」のように、ユーザに対して正解である旨を表出し、自然に対話を継続できる。
【００９８】
（２−３）ユーザ発話が質問に関わる内容語を含む場合、ロボットＲ１が「ふむふむ」と受け止め、かつ「正解は？」とロボットＲ２に質問し、ロボットＲ２が「正解は・・＜ユーザ発話用応答文＞」と発話することで、ユーザ発話が正解であるかを正しく認識できなくとも、対話をスムーズに継続できる。
【００９９】
（２−１）〜（２−３）のいずれの場合も、その後、発現制御部１２３が選択した４つ組ＩＤに対応する後続発話文、後続応答文を音声合成部１４０に出力する（Ｓ１２３−２）。
【０１００】
（３）選択された４つ組発話のタイプがトリビアの場合
シナリオタイプ誘導発話生成部１２１は、タイプ「トリビア」の中から４つ組ＩＤをランダムに選択する。シナリオタイプ誘導発話生成部１２１は、選択した４つ組ＩＤに対応する想定ユーザ発話文を用いて、あるロボット（例えばロボットＲ１）からユーザＨへ「そういえば、＜想定ユーザ発話文＞」のようにトリビアを発話し、他のロボット（例えばロボットＲ２）がロボットＲ１に「へー、そうなんだ。ユーザさんは知ってた？」とユーザＨに聞くことで、単純に知識を披露するだけでなく、対話に積極的に関わらせることができる。
【０１０１】
（３−１）ユーザ発話が知らない旨を発話していることが検知できた場合、ロボットＲ１が「僕も知らなかったよ」というように共感を表出することで、自然に対話を継続できる。
【０１０２】
（３−２）ユーザ発話が知っている旨を発話していることが検知できた場合、ロボットＲ１が「すごいね」というように称賛を表出することで、自然に対話を継続できる。
（３−１）〜（３−２）のいずれの場合も、その後、発現制御部１２３が選択した４つ組ＩＤに対応する後続発話文、後続応答文を音声合成部１４０に出力する（Ｓ１２３−２）。
【０１０３】
＜変形例２＞
本実施形態では、発現制御部１２３は、類似度が閾値未満である場合（Ｓ１２３−１のｎｏ）、ユーザ発話を受け止める発話文に対応するテキストデータと、受け取った４つ組ＩＤに対応する想定ユーザ発話文、ユーザ発話用応答文、後続発話文、後続応答文を音声合成部１４０に出力している。このとき、想定ユーザ発話文のタイプが質問の場合には以下のように処理を変更してもよい。
【０１０４】
ユーザ発話を受け止める発話文に対応するテキストデータと、受け取った４つ組ＩＤに対応する想定ユーザ発話文、ユーザ発話用応答文、後続発話文、後続応答文に代えて、外部の知識源を提示する発話文を生成する。例えば、ロボットＲ１に「ごめん、わからないや」等、ロボットＲ２に「あとで飼育員さんに聞いてみようか」等と発話させ、外部の知識源を提示する。
【０１０５】
このような構成とすることで、対話をスムーズに継続できる。なお、ロボットＲ１の「わからない」のままで終わると、対話が止まり、ユーザに質問に答える意図がないと感じられるため、対話を継続する意欲を減少させるおそれがある。
【０１０６】
なお、上述のロボットＲ１の「ごめん、わからないや」のあと、ユーザ発話に類似する質問（この場合、類似度は閾値以下である）を４つ組発話記憶部１３０のタイプが「質問」の４つ組発話から検索し、ロボットＲ２が「あ、そういえば、＜想定ユーザ発話文＞」と発話することで、ユーザ発話に関連する話題で質問を継続することができる。
【０１０７】
＜変形例３＞
本実施形態では、４つ組発話記憶部１３０には、想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を単位として構成される４つ組発話が複数個格納されているが、必ずしも４つ組発話である必要はない。想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を冒頭に含む複数組発話であればよく、複数組発話に含まれる発話数も、上述の４文を冒頭に含みさえすれば、複数組発話毎に異なってもよい。複数組発話に含まれる５番目以降の発話文をそれぞれロボットＲ１またはロボットＲ２に発話させればよい。
【０１０８】
第一実施形態は、複数組発話に含まれる発話数を４つに限定したものであり、本変形例の１例と言える。
【０１０９】
このような構成とすることで、第一実施形態の効果に加え、より柔軟に会話を展開することが可能となる。なお、変形例１〜３は必要に応じて適宜組み合わせることができる。
【０１１０】
＜変形例４＞
入力部１０２−１、１０２−２はユーザからのテキストデータを入力とし、提示部１０１−１、１０１−２は発話決定部から入力された発話内容のテキスト文をディスプレイ等にテキスト表示してもよい（例えば図４等）。これにより、ユーザは、ロボットＲ１またはロボットＲ２の発話を視認することでユーザと対話システムとの対話が実現される。この場合、入力部１０２−１、１０２−２のいずれか一方、及び、提示部１０１−１、１０１−２の何れか一方を備えないでもよい。また、対話システムは、音声合成部１４０、音声認識部１１０を備えないでもよい。
【０１１１】
＜変形例５＞
本実施形態の発現制御部１２３では類似度が閾値以上か未満かにより、処理内容を変更しているが、これは一例であって、類似度が閾値よりも大きいか否かにより、処理内容を変更する構成としてもよい。シナリオタイプ判定部１２２は、「類似度が閾値以上であったか否かを示す情報」に代えて「類似度が閾値よりも大きいか否かを示す情報」を求め、この情報に基づき各部で処理を行う。
【０１１２】
＜第二実施形態＞
第一実施形態と異なる部分を中心に説明する。
【０１１３】
第一実施形態とはシナリオタイプ判定部１２２と発現制御部１２３の処理内容が異なる。
【０１１４】
（シナリオタイプ判定部１２２）
入力：ユーザ発話、４つ組発話記憶部１３０に格納された発話組
出力：４つ組ＩＤ、類似度が閾値以上であったか否かを示す情報、類似したのが想定ユーザ発話文、ユーザ発話用応答文、後続発話文のいずれであるかを示す情報
第一実施形態と同様にシナリオタイプ判定部１２２は、ユーザ発話に対応するテキストデータ、韻律の情報を用いて、ユーザ発話が質問文であるか否かを判定する。
【０１１５】
ユーザ発話に対応するテキストデータが質問文である場合、第一実施形態と同様の処理を行う。
【０１１６】
ユーザ発話に対応するテキストデータが質問文ではない場合、シナリオタイプ判定部１２２は、質問タイプ以外のすべての４つ組発話と対応する４つ組ＩＤを４つ組発話記憶部１３０から取り出し、想定ユーザ発話文、ユーザ発話用応答文、後続発話文のそれぞれとユーザ発話に対応するテキストデータとの類似度を計算し（Ｓ１２２）、ユーザ発話に対応するテキストデータと最も類似する想定ユーザ発話文、ユーザ発話用応答文、後続発話文の何れかを含む４つ組発話の４つ組ＩＤと、類似度が閾値以上であったか否かを示す情報と、類似したのが想定ユーザ発話文、ユーザ発話用応答文、後続発話文のいずれであるかを示す情報とを出力する。
【０１１７】
（発現制御部１２３）
入力：４つ組ＩＤ、類似度が閾値以上であったか否かを示す情報、類似したのが想定ユーザ発話文、ユーザ発話用応答文、後続発話文のいずれであるかを示す情報
出力：ユーザの発話を受け止める発話、４つ組ＩＤに対応する発話文中の類似した発話
ユーザ発話に対応するテキストデータが質問文である場合、第一実施形態と同様の処理を行う。
【０１１８】
ユーザ発話に対応するテキストデータが質問文ではない場合、以下の処理を行う。
【０１１９】
発現制御部１２３は、類似度が閾値以上である場合（Ｓ１２３−１のｙｅｓ）、ユーザ発話を受け止める発話文に対応するテキストデータと、受け取った４つ組ＩＤと想定ユーザ発話文、ユーザ発話用応答文、後続発話文のいずれであるかを示す情報とを用いて、想定ユーザ発話文、ユーザ発話用応答文、後続発話文のいずれであるかを示す情報が示す発話文以降の発話文を音声合成部１４０に出力する（Ｓ１２３−２）。この実施形態では、ユーザ発話を受け止める発話文は、「へぇ〜」などであり、必須の発話となる。発現制御部１２３は、ロボットＲ１またはロボットＲ２に、ユーザ発話を受け止める発話文を発話させた後、想定ユーザ発話文、ユーザ発話用応答文、後続発話文のいずれであるかを示す情報が示す発話文以降の発話文を出力する。
【０１２０】
発現制御部１２３は、類似度が閾値未満である場合（Ｓ１２３−１のｎｏ）の処理は第一実施形態と同様である。
【０１２１】
＜効果＞
このような構成とすることで、第一実施形態と同様の効果を得ることができる。
【０１２２】
＜その他の変形例＞
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【０１２３】
＜プログラム及び記録媒体＞
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【０１２４】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１２５】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【０１２６】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１２７】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2020070923.tif 000003
【図２】
2020070923.tif 000004
【図３】
2020070923.tif 000005
【図４】
2020070923.tif 000006
【図５】
2020070923.tif 000007
【図６】
2020070923.tif 000008
【図７】
2020070923.tif 000009
【図８】
2020070923.tif 000010
【手続補正書】
【提出日】令和3年3月24日(2021.3.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を単位として構成される４つ組発話を複数個記憶してあり、
ユーザ発話に対応するデータの入力を契機に、
前記ユーザ発話に対応するデータと類似する想定ユーザ発話文から始まる４つ組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、
前記ユーザ発話用応答文と前記後続発話文を、それぞれ異なるエージェントが発話し、
前記後続発話文と前記後続応答文を、それぞれ異なるエージェントが発話するように制御する、
対話装置。
【請求項２】
想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を冒頭に含む複数組発話を複数個記憶してあり、
ユーザ発話に対応するデータの入力を契機に、
前記ユーザ発話に対応するデータと類似する想定ユーザ発話文から始まる複数組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、
前記ユーザ発話用応答文と前記後続発話文を、それぞれ異なるエージェントが発話し、
前記後続発話文と前記後続応答文を、それぞれ異なるエージェントが発話するように制御する、
対話装置。
【請求項３】
請求項１または請求項２の対話装置であって、
前記想定ユーザ発話文は、ユーザが発話すると想定される文であり、
前記ユーザ発話用応答文は、同じ意味の想定ユーザ発話文に対しては、同じユーザ発話用応答文になるように生成された、前記想定ユーザ発話文に対する応答文であり、
前記後続発話文は、紐づけられた想定ユーザ発話文とユーザ発話用応答文のペアに対して、話題の連続性を表す指標と所定の閾値との大小関係に基づき、話題の連続性があると判断されるように作成された発話であり、
前記後続応答文は、紐づけられた後続発話文に対して、話題の連続性を表す指標と所定の閾値との大小関係に基づき、話題の連続性があると判断されるように作成された発話である、
対話装置。
【請求項４】
請求項１から請求項３の何れかの対話装置であって、
発話内容の対象を示す情報と、発話内容のタイプを規定するものを示す情報とを用いて、前記タイプに紐づけられたテンプレート発話と前記対象とからシナリオタイプ誘導発話文を生成するシナリオタイプ誘導発話生成部と、
前記シナリオタイプ誘導発話文に対して発せられた前記ユーザ発話に対応するデータと、最も類似する想定ユーザ発話文の類似度が、所定の閾値よりも大きいまたは所定の閾値以上の場合、前記ユーザ発話に対応するデータと類似する想定ユーザ発話文から始まる４つ組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、前記類似度が所定の閾値以下または所定の閾値よりも小さい場合、内容語を含まない発話文を複数のエージェントの何れかが発話した後に前記ユーザ発話に対応するデータと類似する想定ユーザ発話文から始まる４つ組発話をそれぞれ複数のエージェントの何れかが発話するように制御する発現制御部とを含む、
対話装置。
【請求項５】
請求項１から請求項３の何れかの対話装置であって、
発話内容の対象を示す情報と、発話内容のタイプを規定するものを示す情報とを用いて、前記タイプに紐づけられたテンプレート発話と前記対象とからシナリオタイプ誘導発話文を生成するシナリオタイプ誘導発話生成部と、
前記シナリオタイプ誘導発話文に対して発せられた前記ユーザ発話に対応するデータと、最も類似する想定ユーザ発話文、ユーザ発話用応答文、後続発話文の何れかの類似度が、所定の閾値よりも大きいまたは所定の閾値以上の場合、前記ユーザ発話に対応するデータと類似する想定ユーザ発話文、ユーザ発話用応答文、後続発話文を含む４つ組発話のうち、最も類似する想定ユーザ発話文、ユーザ発話用応答文または後続発話文以降の発話文をそれぞれ複数のエージェントの何れかが発話し、前記類似度が所定の閾値以下または所定の閾値よりも小さい場合、内容語を含まない発話文を複数のエージェントの何れかが発話した後に前記ユーザ発話に対応するデータと類似する想定ユーザ発話文から始まる４つ組発話をそれぞれ複数のエージェントの何れかが発話するように制御する発現制御部とを含む、
対話装置。
【請求項６】
想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を単位として構成される４つ組発話を複数個記憶されているものとし、
対話装置が、
ユーザ発話に対応するデータの入力を契機に、
前記ユーザ発話に対応するデータと類似する想定ユーザ発話文から始まる４つ組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、
前記ユーザ発話用応答文と前記後続発話文を、それぞれ異なるエージェントが発話し、
前記後続発話文と前記後続応答文を、それぞれ異なるエージェントが発話するように制御する、
対話方法。
【請求項７】
想定ユーザ発話文、ユーザ発話用応答文、それらに対する後続発話文とその後続応答文の４文を冒頭に含む複数組発話を複数個記憶してあり、
対話装置が、
ユーザ発話に対応するデータの入力を契機に、
前記ユーザ発話に対応するデータと類似する想定ユーザ発話文から始まる複数組発話のうち、ユーザ発話用応答文、それらに対する後続発話文と後続応答文をそれぞれ複数のエージェントの何れかが発話し、
前記ユーザ発話用応答文と前記後続発話文を、それぞれ異なるエージェントが発話し、
前記後続発話文と前記後続応答文を、それぞれ異なるエージェントが発話するように制御する、
対話方法。
【請求項８】
請求項１から請求項５の何れかの対話装置として、コンピュータを機能させるためのプログラム。
【国際調査報告】
2020070923.tif 000011
2020070923.tif 000012