(57)【要約】【課題】質問に対するユーザの応答に関わらず、少数のシナリオで対話を継続する。【解決手段】対話システム１００は、ある質問である第一発話と第一発話に関係する発話である第二発話とをユーザ１０１へ提示する。人型ロボット５０−１は、第一発話を提示する。マイクロホン１１−１は、第一発話後にユーザ１０１が発したユーザ発話を受け付ける。人型ロボット５０−１は、第一発話に関係する発話から、ユーザ発話の内容の少なくとも一部を省略した、第二発話を提示する。【選択図】図１
2018151471.tif 000002
【特許請求の範囲】
【請求項１】
ある質問である第一発話と上記第一発話に関係する発話である第二発話とをユーザへ提示する対話システムが実行する対話方法であって、
提示部が、上記第一発話を提示する第一提示ステップと、
入力部が、上記第一発話後に上記ユーザが発したユーザ発話を受け付ける発話受付ステップと、
上記提示部が、上記第一発話に関係する発話から、上記ユーザ発話の内容の少なくとも一部を省略した、上記第二発話を提示する第二提示ステップと、
を含む対話方法。
【請求項２】
特定の単語クラスに属する単語を発話させる質問である第一発話と上記第一発話に関係する発話である第二発話とをユーザへ提示する対話システムが実行する対話方法であって、
提示部が、上記第一発話を提示する第一提示ステップと、
入力部が、上記第一発話後に上記ユーザが発したユーザ発話を受け付ける発話受付ステップと、
上記提示部が、上記ユーザ発話に上記単語クラスに属する単語が含まれるか否かに応じて、あらかじめ定めた発話文から選択した追加発話を提示する第二提示ステップと、
上記提示部が、上記第二発話を提示する第三提示ステップと、
を含む対話方法。
【請求項３】
ある知識を問う質問である第一発話と上記第一発話に関係する発話である第二発話とをユーザへ提示する対話システムが実行する対話方法であって、
提示部が、上記第一発話を提示する第一提示ステップと、
入力部が、上記第一発話後に上記ユーザが発したユーザ発話を受け付ける発話受付ステップと、
上記提示部が、上記ユーザ発話に上記知識を表す単語が含まれるか否かに応じて、あらかじめ定めた発話文から選択した追加発話を提示する第二提示ステップと、
上記提示部が、上記第二発話を提示する第三提示ステップと、
を含む対話方法。
【請求項４】
請求項３に記載の対話方法であって、
上記第二提示ステップは、上記ユーザ発話に上記知識を表す単語が含まれない場合に、上記ユーザ発話に上記知識を表す単語と同じ単語クラスに属する単語が含まれるか否かに応じて、上記追加発話を選択して提示する、
対話方法。
【請求項５】
ある質問である第一発話と上記第一発話に関係する発話である第二発話とをユーザへ提示する対話システムであって、
上記第一発話後に上記ユーザが発したユーザ発話を受け付ける入力部と、
上記第一発話と、上記第一発話に関係する発話から、上記ユーザ発話の内容の少なくとも一部を省略した、上記第二発話と、を決定する発話決定部と、
上記第一発話を提示し、上記ユーザ発話を受け付けた後に上記第二発話を提示する提示部と、
を含む対話システム。
【請求項６】
特定の単語クラスに属する単語を発話させる質問である第一発話と上記第一発話に関係する発話である第二発話とをユーザへ提示する対話システムであって、
上記第一発話後に上記ユーザが発したユーザ発話を受け付ける入力部と、
上記第一発話と、上記ユーザ発話に上記単語クラスに属する単語が含まれるか否かに応じて、あらかじめ定めた発話文から選択した追加発話と、上記第二発話と、を決定する発話決定部と、
上記第一発話を提示し、上記ユーザ発話を受け付けた後に上記追加発話を提示し、上記第二発話を提示する提示部と、
を含む対話システム。
【請求項７】
ある知識を問う質問である第一発話と上記第一発話に関係する発話である第二発話とをユーザへ提示する対話システムであって、
上記第一発話後に上記ユーザが発したユーザ発話を受け付ける入力部と、
上記第一発話と、上記ユーザ発話に上記知識を表す単語が含まれるか否かに応じて、あらかじめ定めた発話文から選択した追加発話と、上記第二発話と、を決定する発話決定部と、
上記第一発話を提示し、上記ユーザ発話を受け付けた後に上記追加発話を提示し、上記第二発話を提示する提示部と、
を含むシステム。
【請求項８】
ユーザの発話を受け付ける入力部と、発話を提示する提示部とを少なくとも含む対話システムが提示する発話を決定する対話装置であって、
ある質問である第一発話と、上記第一発話に関係する発話から、上記第一発話後に上記ユーザが発したユーザ発話の内容の少なくとも一部を省略した、上記第二発話と、を決定する発話決定部
を含む対話装置。
【請求項９】
ユーザの発話を受け付ける入力部と、発話を提示する提示部とを少なくとも含む対話システムが提示する発話を決定する対話装置であって、
特定の単語クラスに属する単語を発話させる質問である第一発話と、上記ユーザ発話に上記単語クラスに属する単語が含まれるか否かに応じて、あらかじめ定めた発話文から選択した追加発話と、上記第二発話と、を決定する発話決定部
を含む対話装置。
【請求項１０】
ユーザの発話を受け付ける入力部と、発話を提示する提示部とを少なくとも含む対話システムが提示する発話を決定する対話装置であって、
ある知識を問う質問である第一発話と、上記ユーザ発話に上記知識を表す単語が含まれるか否かに応じて、あらかじめ定めた発話文から選択した追加発話と、上記第二発話と、を決定する発話決定部
を含む対話装置。
【請求項１１】
請求項１から４のいずれかに記載の対話方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１２】
請求項８から１０のいずれかに記載の対話装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、人とコミュニケーションを行うロボットなどに適用可能な、コンピュータが人間と自然言語を用いて対話を行う技術に関する。
【背景技術】
【０００２】
近年、人とコミュニケーションを行うロボットの研究開発が進展しており、様々な現場で実用化されてきている。例えば、コミュニケーションセラピーの現場において、ロボットが孤独感を抱える人の話し相手となる利用形態がある。具体的には、老人介護施設においてロボットが入居者の傾聴役となることで、入居者の孤独感を癒す役割を担うことができると共に、ロボットとの会話している姿を見せ、入居者とその家族や介護士など周りの人々との会話のきっかけを作ることができる。また、例えば、コミュニケーション訓練の現場において、ロボットが練習相手となる利用形態がある。具体的には、外国語学習施設においてロボットが外国語学習者の練習相手となることで、外国語学習を効率的に進めることができる。また、例えば、情報提示システムとしての応用において、ロボット同士の対話を聞かせることを基本としながら、時折人に話しかけることで、退屈させずに人を対話に参加させ、人が受け入れやすい形で情報を提示することができる。具体的には、街中の待ち合わせ場所やバス停、駅のホームなどで人が時間を持て余している際や、自宅や教室などで対話に参加する余裕がある際に、ニュースや商品紹介、蘊蓄・知識紹介、教育（例えば、子供の保育・教育、大人への一般教養教授、モラル啓発など）など、効率的な情報提示が期待できる。さらに、例えば、情報収集システムとしての応用において、ロボットが人に話しかけながら情報を収集する利用形態がある。ロボットとのコミュニケーションにより対話感を保持できるため、人に聴取されているという圧迫感を与えずに情報収集することができる。具体的には、個人情報調査や市場調査、商品評価、推薦商品のための趣向調査などに応用することが想定されている。このように人とロボットのコミュニケーションは様々な応用が期待されており、ユーザとより自然に対話を行うロボットの実現が期待される。また、スマートフォンの普及により、LINE(登録商標)のように、複数ユーザでほぼリアルタイムにチャットを行うことにより、人との会話を楽しむサービスも実施されている。このチャットサービスにロボットとの会話の技術を適用すれば、チャット相手がいなくても、ユーザとより自然に対話を行うチャットサービスの実現が可能となる。
【０００３】
本明細書では、これらのサービスで用いられるロボットやチャット相手などのユーザとの対話相手となるハードウェアやユーザとの対話相手となるハードウェアとしてコンピュータを機能させるためのコンピュータソフトウェアなどを総称してエージェントと呼ぶこととする。エージェントは、ユーザとの対話相手となるものであるため、ロボットやチャット相手などのように擬人化されていたり、人格化されていたり、性格や個性を有していたりするものであってもよい。
【０００４】
これらのサービスの実現のキーとなるのは、ハードウェアやコンピュータソフトウェアにより実現されるエージェントが人間と自然に対話を行うことができる技術である。
【０００５】
上記のエージェントの一例として、例えば、非特許文献１に記載されたような、ユーザの発話を音声認識し、発話の意図を理解・推論して、適切な応答をする音声対話システムがある。音声対話システムの研究は、音声認識技術の進展に伴って活発に進められ、例えば音声自動応答システムなどで実用化されている。
【０００６】
また、上記のエージェントの一例として、あらかじめ定められたシナリオに沿って特定の話題についてユーザと対話を行うシナリオ対話システムがある。シナリオ対話システムでは、シナリオに沿って対話が展開する限り対話を続けることが可能である。例えば、非特許文献２に記載された対話システムは、ユーザと複数のエージェント間で、エージェントによる割り込みやエージェント同士のやり取りを含めながら対話を行うシステムである。例えば、エージェントは、ユーザに対してシナリオに用意された質問を発話し、質問に対するユーザの回答の発話がシナリオに用意された選択肢に対応する場合に、その選択肢に対応する発話を行うように機能する。すなわち、シナリオ対話システムは、システムに予め記憶されたシナリオに基づいた発話をエージェントが行う対話システムである。この対話システムでは、エージェントがユーザに問いかけ、ユーザからの返答を受けた際に、ユーザの発話内容に関わらず「そっか」といった相槌で流したり、エージェントの割り込みで話題を変えたりすることで、ユーザの発話が本来の話題から外れた場合であってもストーリーの破綻をユーザに感じさせないように応答することが可能である。
【０００７】
また、上記のエージェントの一例として、ユーザの発話内容に沿った発話をエージェントが行うことにより、ユーザとエージェントとが自然な対話を行う雑談対話システムがある。例えば、非特許文献３に記載された対話システムは、ユーザとエージェントとの間で行われる複数回の対話の中で文脈に特有のものをより重視しながら、ユーザまたはエージェントの発話に含まれる単語をトリガーとして、あらかじめ記述しておいたルールに従ってシステムが発話することで、ユーザとシステムとの間で雑談対話を実現するシステムである。雑談対話システムが用いるルールは、あらかじめ記述したものだけでなく、ユーザの発話内容に基づいて自動的に生成したものであってもよいし、ユーザまたはエージェントによる直前の発話またはその近傍に発話された発話に基づいて自動的に生成したものであってもよいし、ユーザまたはエージェントによる直前の発話またはその近傍に発話された発話を少なくとも含む発話に基づいて自動的に生成したものであってもよい。非特許文献３には、ユーザの発話に含まれる単語と共起関係や係り受け関係にある単語に基づいて、自動的にルールを生成する技術が記載されている。また、例えば、非特許文献４に記載された対話システムは、人手で記述したルールと統計的発話生成手法で記述したルールを融合することで、ルール生成のコストを低減したシステムである。雑談対話システムは、シナリオ対話システムとは異なり、予め用意されたシナリオに沿った発話をエージェントが行うものではないため、ユーザの発話によっては、エージェントの発話がユーザの発話に対応しないものとなってしまうという事態は生じずに、少なくともユーザの発話内容、もしくはユーザまたはエージェントによる直前の発話またはその近傍に発話された発話、もしくはユーザまたはエージェントによる直前の発話またはその近傍に発話された発話を少なくとも含む発話に基づいた発話をエージェントが行うことが可能である。すなわち、雑談対話システムは、少なくともユーザの発話内容、もしくはユーザまたはエージェントによる直前の発話またはその近傍に発話された発話、もしくはユーザまたはエージェントによる直前の発話またはその近傍に発話された発話を少なくとも含む発話に基づいた発話をエージェントが行う対話システムである。これらの雑談対話システムでは、ユーザの発話に対して明示的に応答することが可能である。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】河原達也，“話し言葉による音声対話システム”，情報処理，vol. 45，no. 10，pp. 1027-1031，2004年10月
【非特許文献２】有本庸浩，吉川雄一郎，石黒浩，“複数体のロボットによる音声認識なし対話の印象評価”，日本ロボット学会学術講演会，2016年
【非特許文献３】杉山弘晃，目黒豊美，東中竜一郎，南泰浩，“任意の話題を持つユーザ発話に対する係り受けと用例を利用した応答文の生成”，人工知能学会論文誌，vol. 30(1)，pp. 183-194，2015年
【非特許文献４】目黒豊美，杉山弘晃，東中竜一郎，南泰浩，“ルールベース発話生成と統計的発話生成の融合に基づく対話システムの構築”，人工知能学会全国大会論文集，vol. 28，pp. 1-4，2014年
【発明の概要】
【発明が解決しようとする課題】
【０００９】
対話のシナリオを人手で構築するには膨大なコストがかかる。Web上の記事など既存のリソースを収集して多数の話題についての発話文を生成することは可能であるが、通常は対話調の文ではなく、また、情報量が多いため、対話では理解しにくい場合が多い。
【００１０】
ユーザの理解を促すために、上記のような方法で生成した文を複数の文に分割し、複数のエージェントが分担して発話することもできるが、ユーザが受動的に聞くのみとなると対話感が低減する。そのため、ユーザへの質問を挿入するなどしてユーザに発話させることで、対話感を向上することが考えられる。しかしながら、ユーザの発話を完全にコントロールすることは難しいため、想定されるユーザの発話それぞれに対してシナリオを用意する必要があり、大きくコストを下げることは困難である。
【００１１】
この発明の目的は、上述のような点に鑑みて、対話システムからの質問に対するユーザの応答に関わらず、あらかじめ用意した少数のシナリオで対話を継続することができる対話システム、対話装置を実現することである。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、この発明の第一の態様の対話方法は、ある質問である第一発話と第一発話に関係する発話である第二発話とをユーザへ提示する対話システムが実行する対話方法であって、提示部が、第一発話を提示する第一提示ステップと、入力部が、第一発話後にユーザが発したユーザ発話を受け付ける発話受付ステップと、提示部が、第一発話に関係する発話から、ユーザ発話の内容の少なくとも一部を省略した、第二発話を提示する第二提示ステップと、を含む。
【００１３】
この発明の第二の態様の対話方法は、特定の単語クラスに属する単語を発話させる質問である第一発話と第一発話に関係する発話である第二発話とをユーザへ提示する対話システムが実行する対話方法であって、提示部が、第一発話を提示する第一提示ステップと、入力部が、第一発話後にユーザが発したユーザ発話を受け付ける発話受付ステップと、提示部が、ユーザ発話に単語クラスに属する単語が含まれるか否かに応じて、あらかじめ定めた発話文から選択した追加発話を提示する第二提示ステップと、提示部が、第二発話を提示する第三提示ステップと、を含む。
【００１４】
この発明の第三の態様の対話方法は、ある知識を問う質問である第一発話と第一発話に関係する発話である第二発話とをユーザへ提示する対話システムが実行する対話方法であって、提示部が、第一発話を提示する第一提示ステップと、入力部が、第一発話後にユーザが発したユーザ発話を受け付ける発話受付ステップと、提示部が、ユーザ発話に知識を表す単語が含まれるか否かに応じて、あらかじめ定めた発話文から選択した追加発話を提示する第二提示ステップと、提示部が、第二発話を提示する第三提示ステップと、を含む。
【発明の効果】
【００１５】
この発明によれば、対話システムから提示した質問に対するユーザの発話内容に関わらず、あらかじめ用意したシナリオに復帰することができるため、少数のシナリオを用意しておくだけで対話を継続することができる対話システム、対話装置を実現することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施形態の対話システムの機能構成を例示する図である。
【図２】図２は、実施形態の対話方法の処理手続きを例示する図である。
【図３】図３は、変形例の対話システムの機能構成を例示する図である。
【発明を実施するための形態】
【００１７】
この発明では、対話システムがあらかじめ記憶しておいたシナリオに沿った対話を行う際に、対話感を向上するためにユーザへ質問を行い、その質問に対するユーザの発話内容に応じて、以降の発話内容を変更する。ある質問に対してユーザが発話した内容が、対話システムが直後に発話する内容に含まれる場合、そのまま発話すると同じ内容を繰り返すことになり冗長な印象を与える。そのため、対話システムが直後に発話する内容からユーザの発話内容を省略して発話を提示する。また、ある質問に対してユーザが発話する単語クラスが想定できる場合、その単語クラス内の単語がユーザの発話に含まれるときの発話と、その単語クラス内の単語がユーザの発話に含まれないときの発話とをあらかじめ用意しておき、ユーザの発話した内容がその単語クラスに含まれるか否かに応じて、ユーザの発話の直後に発話する内容を切り替える。さらに、ある知識を問う質問を行う場合、ユーザの発話が正解を含むときの発話と、ユーザの発話が正解を含まないときの発話とをあらかじめ用意しておき、ユーザの発話した内容が正解を含むか否かに応じて、ユーザの発話の直後に発話する内容を切り替える。従来は対話システムからの質問に対するユーザの応答を網羅して多数のシナリオを用意する必要があり、そのためのコストが膨大になっていたが、上記のように構成することにより、ユーザの応答の内容に関わらず少数のシナリオで対応することができ、シナリオを用意するコストを削減することができる。
【００１８】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１９】
実施形態の対話システムは、少なくとも一台の人型ロボットがユーザとの対話を行うシステムである。すなわち、実施形態の対話システムは、エージェントが人型ロボットである場合の一例である。対話システム１００は、図１に示すように、例えば、対話装置１と、マイクロホン１１からなる入力部１０と、少なくともスピーカ５１を備える提示部５０とを含む。対話装置１は、例えば、音声認識部２０、発話決定部３０、および音声合成部４０を備える。この対話システム１００が後述する各ステップの処理を行うことにより実施形態の対話方法が実現される。
【００２０】
対話装置１は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。対話装置１は、例えば、中央演算処理装置の制御のもとで各処理を実行する。対話装置１に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、対話装置１の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
【００２１】
［入力部１０］
入力部１０は提示部５０と一体もしくは部分的に一体として構成してもよい。図１の例では、入力部１０の一部であるマイクロホン１１−１、１１−２が、提示部５０である人型ロボット５０−１、５０−２の頭部（耳の位置）に搭載されている。図１の例では、提示部５０は二台の人型ロボット５０−１、５０−２から構成されているが、一台の人型ロボットから構成されていてもよく、三台以上の人型ロボットから構成されていてもよい。
【００２２】
入力部１０は、ユーザの発話を対話システム１００が取得するためのインターフェースである。言い換えれば、入力部１０は、ユーザの発話を対話システム１００へ入力するためのインターフェースである。例えば、入力部１０はユーザの発話音声を収音して音声信号に変換するマイクロホン１１である。マイクロホン１１は、ユーザ１０１が発話した発話音声を収音可能とすればよい。つまり、図１は一例であって、マイクロホン１１−１，１１−２の何れか一方を備えないでもよい。また、ユーザ１０１の近傍などの人型ロボット５０−１，５０−２とは異なる場所に設置された１個以上のマイクロホン、または、複数のマイクロホンを備えたマイクロホンアレイを入力部とし、マイクロホン１１−１，１１−２の双方を備えない構成としてもよい。マイクロホン１１は、変換により得たユーザの発話音声の音声信号を出力する。マイクロホン１１が出力した音声信号は、音声認識部２０へ入力される。
【００２３】
［音声認識部２０］
音声認識部２０は、マイクロホン１１から入力されたユーザの発話音声の音声信号を音声認識してユーザの発話内容を表すテキストに変換し、発話決定部３０に対して出力する。音声認識部２０が行う音声認識の方法は、既存のいかなる音声認識技術であってもよく、利用環境等に合わせて最適なものを適宜選択すればよい。
【００２４】
［発話決定部３０］
発話決定部３０は、対話システム１００からの発話内容を表すテキストを決定し、音声合成部４０に対して出力する。音声認識部２０からユーザの発話内容を表すテキストが入力された場合には、入力されたユーザの発話内容を表すテキストに基づいて、対話システム１００からの発話内容を表すテキストを決定し、音声合成部４０に対して出力する。なお、対話システム１００の提示部５０が複数の人型ロボットで構成される場合には、発話決定部３０は、当該発話をいずれの人型ロボットが提示するかを決定してもよい。この場合には、当該発話を提示する人型ロボットを表す情報も併せて音声合成部４０へ出力する。また、この場合には、発話決定部３０は、当該発話を提示する相手、すなわち、当該発話をユーザに対して提示するのか、何れかの人型ロボットに対して提示するのか、を決定してもよい。この場合には、当該発話を提示する相手を表す情報も併せて音声合成部４０へ出力する。
【００２５】
［音声合成部４０］
音声合成部４０は、発話決定部３０から入力された発話内容を表すテキストを、発話内容を表す音声信号に変換し、提示部５０に対して出力する。音声合成部４０が行う音声合成の方法は、既存のいかなる音声合成技術であってもよく、利用環境等に合わせて最適なものを適宜選択すればよい。なお、対話システム１００の提示部５０が複数の人型ロボットで構成される場合に、発話決定部３０から発話内容を表すテキストと共に当該発話を提示する人型ロボットを表す情報が入力された場合には、音声合成部４０は、当該情報に対応する人型ロボットへ発話内容を表す音声信号を出力する。また、発話決定部３０から発話内容を表すテキストと当該発話を提示する人型ロボットを表す情報に併せて発話を提示する相手を表す情報も入力された場合には、音声合成部４０は、当該情報に対応する人型ロボットへ発話内容を表す音声信号と発話を提示する相手を表す情報を出力する。
【００２６】
［提示部５０］
提示部５０は、発話決定部３０が決定した発話内容をユーザへ提示するためのインターフェースである。例えば、提示部５０は、人間の形を模して製作された人型ロボットである。この人型ロボットは、音声合成部４０から入力された発話内容を表す音声信号に対応する音声を、例えば頭部に搭載したスピーカ５１から発音する、すなわち、発話を提示する。スピーカ５１は、音声合成部４０から入力された発話内容を表す音声信号に対応する音声を発音可能とすればよい。つまり、図１は一例であって、スピーカ５１−１，５１−２の何れか一方を備えないでもよい。また、ユーザ１０１の近傍などの人型ロボット５０−１，５０−２とは異なる場所に１個以上のスピーカ、または、複数のスピーカを備えたスピーカアレイを設置し、スピーカ５１−１，５１−２の双方を備えない構成としてもよい。また、人型ロボットは、顔の表情や、身体の動作等の非言語的な行動により発話決定部３０が決定した発話内容をユーザへ提示してもよい。例えば、直前の発話に対して同意する旨を提示する際には、首を縦に振り、同意しない旨を提示する際には、首を横に振るなどの非言語的な行動を提示することが挙げられる。また、人型ロボットは、発話を提示する際に、顔や体全体をユーザまたは他の人型ロボットの方へ向けることで、顔や身体を向いた方にいるユーザまたは他の人型ロボットに対して発話を提示していることを表現することができる。提示部５０を人型ロボットとした場合には、例えば、対話に参加する人格（エージェント）ごとに一台の人型ロボットを用意する。以下では、二人の人格が対話に参加する例として、二台の人型ロボット５０−１および５０−２が存在するものとする。なお、対話システム１００の提示部５０が複数の人型ロボットで構成される場合に、発話決定部３０が当該発話をいずれの人型ロボットから提示するかを決定していた場合には、音声合成部４０が出力した発話内容を表す音声信号を受け取った人型ロボット５０−１または５０−２が当該発話を提示する。また、発話決定部３０が決定した発話を提示する相手を表す情報も入力された場合には、人型ロボット５０−１または５０−２は、発話を提示する相手を表す情報に対応する人型ロボットまたはユーザの発話に顔や視線を向けた状態で、発話を提示する。
【００２７】
以下、図２を参照して、実施形態の対話方法の処理手続きを説明する。
【００２８】
ステップＳ１において、対話システム１００は、第一発話の内容を表す音声を、人型ロボット５０−１が備えるスピーカ５１−１から出力する、すなわち、第一発話を提示する。第一発話の内容を表す音声は、発話決定部３０が決定した第一発話の内容を表すテキストを音声合成部４０が音声信号に変換したものである。
【００２９】
第一発話の内容を表すテキストは、発話決定部３０が、例えば、直前までの発話内容に応じて決定する。直前までの発話内容に応じて発話内容を決定する技術は、従来の対話システムにおいて用いられているものを利用すればよく、例えば、非特許文献２に記載されたシナリオ対話システムなどを用いることができる。発話決定部３０がシナリオ対話システムにおいて用いられている技術を用いる場合は、例えば、発話決定部３０は、直前の５発話程度を含む対話について、各発話に含まれる単語や各発話を構成する焦点語と発話決定部３０内の図示しない記憶部に記憶された各シナリオに含まれる単語や焦点語との単語間距離が所定の距離より近いシナリオを選択し、選択したシナリオに含まれるテキストを選択することにより第一発話の内容を表すテキストを決定する。
【００３０】
発話決定部３０内の図示しない記憶部に記憶されたシナリオは、例えば、Web上の記事など既存のリソースを取得して、複数の文に分割し、分割された各文を対話調に変換して生成した複数の発話文により構成される。シナリオには、複数のエージェント間で対話を行うために、生成した複数の発話文に、例えば相槌等の簡単な発話を挿入したものであってもよい。シナリオには、対話感を向上するために、記事の話題に関する質問や記事中のキーワードに関する質問をユーザに対して問いかける発話文を含むものとする。以降では、シナリオ中の質問までの発話文を第一発話と呼び、質問より後の発話文を質問後発話と呼ぶ。
【００３１】
発話決定部３０内の図示しない記憶部に予め記憶しておくシナリオの生成方法について説明する。例えば、以下の内容の時事に関する記事が取得できたとする。
【００３２】
Ａ．「○○県△△市で訓練中の輸送機が墜落・大破、二人ケガ」
この文章Ａを分割して、対話調へ変換し、質問を含むようにすることで、例えば、以下の発話文Ａ−１〜Ａ−４により構成されるシナリオを生成する。ここでは、事件に関する知識を問う質問をユーザへ問いかける発話文（Ａ−２）を生成してシナリオに含めている。この例では、シナリオに含まれる発話文Ａ−１〜Ａ−２が第一発話であり、発話文Ａ−３〜Ａ−４が質問後発話である。
Ａ−１．「ねぇ、○○県でね」
Ａ−２．「輸送機の話しってる？」
Ａ−３．「△△市なんだけど、訓練中に墜落・大破して二人ケガしたんだって」
Ａ−４．「こわいねぇ」
【００３３】
また、例えば、以下の内容の時事に関する記事が取得できたとする。
Ｂ．「老舗映画雑誌『○○○』が年間ベストテンを発表し、アニメ作品『×××』が『△△△』や『□□□』といった強豪を抑え邦画第一位に決定した」
この文章Ｂを分割して、対話調へ変換し、質問を含むようにすることで、例えば、以下の発話文Ｂ−１−１〜Ｂ−１−３により構成されるシナリオを生成する。ここでは、任意の映画名を回答させる質問をユーザへ問いかける発話文（Ｂ−１−１）を生成してシナリオに含めている。この例では、シナリオに含まれる発話文Ｂ−１−１が第一発話であり、発話文Ｂ−１−２〜Ｂ−１−３が質問後発話である。
Ｂ−１−１．「最近映画どれみた？」
Ｂ−１−２．「×××が第一位に決定したね」
Ｂ−１−３．「そうそう、すごいよね」
【００３４】
また、例えば、上記の文章Ｂを分割して、対話調へ変換し、質問を含むようにすることで、以下の発話文Ｂ−２−１〜Ｂ−２−３により構成されるシナリオを生成する。ここでは、特定の映画名を回答させる質問をユーザへ問いかける発話文（Ｂ−２−１）を生成してシナリオに含めている。この例では、シナリオに含まれる発話文Ｂ−２−１が第一発話であり、発話文Ｂ−２−２〜Ｂ−２−３が質問後発話である。
Ｂ−２−１．「最近今年の日本の映画ベストテンが発表されたんだけど、何だか知ってる？」
Ｂ−２−２．「正解は×××でした！第一位に決定したんだよ」
Ｂ−２−３．「へぇ、すごいね」
【００３５】
ステップＳ２において、マイクロホン１１は、第一発話を提示した後にユーザ１０１が発した発話を受け付ける。以下、この発話をユーザ発話と呼ぶ。マイクロホン１１が取得したユーザの発話内容を表す音声信号は音声認識部２０へ入力される。音声認識部２０は、マイクロホン１１が取得したユーザの発話内容を表す音声信号を音声認識し、認識結果として得たテキストを、ユーザの発話内容を表すテキストとして発話決定部３０に対して出力する。
【００３６】
ステップＳ３において、発話決定部３０は、音声認識部２０が出力したユーザの発話内容を表すテキストを受け取り、第一発話の内容を表すテキストおよびユーザの発話内容を表すテキストに基づいて、第二発話の内容を表すテキストを決定し、音声合成部４０に対して出力する。第二発話は、一つの発話であってもよいし、複数の発話であってもよい。対話システム１００の提示部５０が複数の人型ロボットで構成される場合は、発話決定部３０は第二発話を提示する人型ロボットを決定してもよく、その場合、第二発話の内容を表すテキストと共に第二発話を提示する人型ロボットを表す情報を出力する。また、発話決定部３０は第二発話を提示する相手を決定してもよく、その場合、第二発話の内容を表すテキストと共に第二発話を提示する相手を表す情報を出力する。
【００３７】
発話決定部３０は、第二発話の内容を表すテキストを、発話決定部３０内の図示しない記憶部に記憶されたシナリオのうちの、第一発話と同一のシナリオに含まれる発話文のうち、質問後発話の内容を表すテキスト、すなわち、質問より後の発話文のテキスト、から生成する。発話決定部３０は、生成に際しては、第一発話の内容を表すテキストおよびユーザの発話内容を表すテキストに応じて、第二発話の内容を表すテキストを生成する方法を選択する。具体的には、発話決定部３０は、以下の方法から、第二発話の内容を表すテキストを生成する方法を選択する。
【００３８】
１．発話決定部３０は、第一発話の内容を表すテキストが、ある話題に関する任意の情報を問う質問であり、ユーザの発話内容を表すテキストが、質問後発話の内容を表すテキストの少なくとも一部を含んでいる場合、質問後発話の内容を表すテキストからその部分の全部または一部を省略したものを、第二発話の内容を表すテキストとして生成する。
【００３９】
２．発話決定部３０は、第一発話の内容を表すテキストが、ある話題に関して特定の単語クラスに属する任意の情報を問う質問である場合、ユーザの発話内容を表すテキストが、その単語クラスに属する情報を含んでいるか否かを判定して、発話決定部３０内の図示しない記憶部に記憶された発話文、すなわち、あらかじめ定めた発話文から選択した追加発話の内容を表すテキストを質問後発話の内容を表すテキストに追加したものを、第二発話の内容を表すテキストとして生成する。追加発話の内容を表すテキストは、ユーザの発話内容を表すテキストから、質問後発話の内容を表すテキストへ話題を遷移させる内容を表すものである。
【００４０】
例えば、ユーザの発話内容を表すテキストが、その単語クラスに属する情報を含んでいる場合、「あれはいいね」「そう言えば」などのようにユーザに同調する追加発話の内容を表すテキストと、質問後発話の内容を表すテキストとを決定する。また、例えば、ユーザの発話内容を表すテキストが、その単語クラスに属する情報を含んでいない場合、第一発話を提示した人型ロボットとは異なる人型ロボットが提示するための、その単語クラスに属する情報を含む追加発話の内容を表すテキストと、質問後発話の内容を表すテキストとを決定する。
【００４１】
３．発話決定部３０は、第一発話の内容を表すテキストが、ある知識を問う（すなわち、正解が存在する）質問である場合、ユーザの発話内容を表すテキストが、その正解を含んでいるか否か、もし正解を含んでいない場合は正解と同じ単語クラスに属する情報を含んでいるか否かを判定して、発話決定部３０内の図示しない記憶部に記憶された発話文、すなわち、あらかじめ定めた発話文から選択した追加発話の内容を表すテキストを質問後発話の内容を表すテキストに追加したものを、第二発話の内容を表すテキストとして生成する。追加発話の内容を表すテキストは、ユーザの発話内容を表すテキストから、質問後発話の内容を表すテキストへ話題を遷移させる内容を表すものである。
【００４２】
例えば、ユーザの発話内容を表すテキストが、質問の正解を含んでいる場合、第一発話を提示した人型ロボットが提示するための、「そう！」「よくわかったね！」など正解であることを表す追加発話の内容を表すテキストと、質問後発話の内容を表すテキストとを決定する。また、ユーザの発話内容を表すテキストが、正解ではないが正解と同じ単語クラスに属する情報を含んでいる場合、第一発話を提示した人型ロボットが提示するための、「ううん！」「違うよ！」など不正解であることを表す追加発話の内容を表すテキストと、質問後発話の内容を表すテキストとを決定する。
【００４３】
さらに、例えば、ユーザの発話内容を表すテキストが、正解と同じ単語クラスに属する情報を含む場合、第一発話を提示した人型ロボットとは異なる人型ロボットが提示するための、不正解の情報を含む追加発話の内容を表すテキストと、質問後発話の内容を表すテキストとを決定する。また、ユーザの発話内容を表すテキストが、正解と同じ単語クラスに属する情報を含まない場合、第一発話を提示した人型ロボットとは異なる人型ロボットが提示するための、正解の情報を含む追加発話の内容を表すテキストと、質問後発話の内容を表すテキストとを決定する。
【００４４】
ステップＳ４において、音声合成部４０は、発話決定部３０が出力した第二発話の内容を表すテキストを音声合成し、第二発話の内容を表す音声を生成し、人型ロボット５０−１が備えるスピーカ５１−１または人型ロボット５０−２が備えるスピーカ５１−２から出力する、すなわち、第二発話を提示する。発話決定部３０から第二発話の内容を表すテキストと共に第二発話を提示する人型ロボットを表す情報が入力された場合、音声合成部４０は、当該情報に対応する人型ロボット５０が備えるスピーカ５１から当該第二発話の内容を表す音声を出力する。発話決定部３０から第二発話の内容を表すテキストと共に第二発話を提示する相手を表す情報が入力された場合、提示部５０は、当該情報に対応する相手のいる方向へ人型ロボット５０の顔もしくは体全体を向けて当該第二発話の内容を表す音声を出力する。なお、図２では、ステップＳ４において第二発話を提示するように記載されているが、第二発話に複数の発話が含まれる場合（例えば、追加発話と質問後発話とを含むような場合）には、ステップＳ４の内容が複数のサブステップにより実行される。
【００４５】
以降、対話システムは第二発話の内容を話題とした発話を行うことで、ユーザとの対話を続行する。例えば、質問後発話がシナリオ対話システムにおいて用いられている技術により選択したシナリオの途中の発話である場合には、そのシナリオに沿った対話がユーザと対話システムとの間で実行されるように、対話システムはシナリオ対話システムにおいて用いられている技術により決定したシナリオ発話の発話内容を表す音声をスピーカから出力する。また、例えば、質問後発話がシナリオ対話システムにおいて用いられている技術により選択したシナリオの最後の発話である場合には、ユーザの発話に基づいて雑談対話システムにおいて用いられている技術により決定した雑談発話の発話内容を表す音声をスピーカから出力する。以降の発話を提示する人型ロボットは、何れか一台の人型ロボットであってもよいし、複数台の人型ロボットであってもよい。
【００４６】
［具体例］
以下、実施形態の対話システムによる対話内容の具体例を示す。以降の具体例の記載では、Ｒはロボットを表し、Ｈはユーザを表す。Ｒの後の数字は人型ロボットの識別子である。t(i)（i=0, 1, 2, …）は対話中の発話を表し、iは発話の順番を表す数字である。発話中の括弧に囲まれた部分は発話を省略することを表す。
【００４７】
（具体例１−１）
具体例１−１は、ある話題に関する任意の情報を問う質問を含む第一発話を提示した後に、質問後発話からユーザ発話に含まれる情報の一部を省略した第二発話を提示する例である。
t(1)  Ｒ１：ねぇ、○○県でね
t(2)  Ｈ：うん？
t(3)  Ｒ１：輸送機の話しってる？
t(4)  Ｈ：あぁ、△△市の
t(5)  Ｒ２：そう、（△△市なんだけど、）訓練中に墜落・大破して二人ケガしたんだって
t(6)  Ｒ１：こわいねぇ
【００４８】
この例では、まず、対話システム１００は、上記の文章Ａの話題に関する第一発話t(1), t(3)を提示する。この際、第一発話t(1)と第一発話t(3)の間でユーザが発話することにより、第一発話t(1)と第一発話t(3)の間にユーザ発話t(2)が含まれてしまってもよい。次に、対話システム１００は、第一発話の最後の発話である文章Ａの話題に関する任意の情報を問う質問である第一発話t(3)に対するユーザの発話であるユーザ発話t(4)を取得する。次に、対話システム１００は、ユーザ発話t(4)に「△△市」の情報が含まれているため、質問後発話から「△△市なんだけど、」の部分を省略した第二発話t(5)を提示する。これにより、ユーザが発話した前提の知識である「△△市」に関して重複して発話することがなく、冗長な印象を与えることを回避することができる。
【００４９】
（具体例１−２）
具体例１−２は、ある話題に関する任意の情報を問う質問を含む第一発話を提示した後に、質問後発話からユーザ発話に含まれる情報の一部を省略した第二発話を提示する例である。
t(1)  Ｒ１：ねぇ、○○県でね
t(2)  Ｈ：うん？
t(3)  Ｒ１：輸送機の話しってる？
t(4)  Ｈ：あぁ、墜落したんでしょ
t(5)  Ｒ２：そう、△△市なんだけど、訓練中に（墜落・）大破して二人ケガしたんだって
t(6)  Ｒ１：こわいねぇ
【００５０】
この例では、まず、対話システム１００は、上記の文章Ａの話題に関する任意の情報を問う第一発話t(1), t(3)を提示する。この際、第一発話t(1)と第一発話t(3)の間でユーザが発話することにより、第一発話t(1)と第一発話t(3)の間にユーザ発話t(2)が含まれてしまってもよい。次に、対話システム１００は、第一発話の最後の発話である文章Ａの話題に関する任意の情報を問う質問である第一発話t(3)に対するユーザの発話であるユーザ発話t(4)を取得する。次に、対話システム１００は、ユーザ発話t(4)に「墜落」の情報が含まれているため、質問後発話から「墜落・」の部分を省略した第二発話t(5)を提示する。
【００５１】
（具体例２−１）
具体例２−１は、ある話題に関する特定の単語クラスに属する任意の情報を問う質問である第一発話を提示した後に、ユーザ発話がその単語クラスに属する情報を含む発話であると判定して、ユーザに同調する旨の追加発話と、追加発話より後の質問後発話とを含む第二発話を提示する例である。
t(1)  Ｒ１：最近映画どれみた？
t(2)  Ｈ：□□□をみたよ
t(3)  Ｒ２：あれ人気だよね
t(4)  Ｒ１：そう言えば、×××が第一位に決定したね
t(5)  Ｒ２：そうそう、すごいよね
【００５２】
この例では、まず、対話システム１００は、上記の文章Ｂの話題に関して映画名のクラスに属する単語をユーザが発話することが予測できる質問である第一発話t(1)を提示する。次に、対話システム１００は、第一発話t(1)に対するユーザの発話であるユーザ発話t(2)を取得する。次に、対話システム１００は、ユーザ発話t(2)に「□□□」という映画名が含まれているため、「あれ人気だよね」のようにユーザに同調する旨の追加発話t(3)を提示する。さらに、対話システム１００は、「そう言えば」のように話題を遷移させる内容を追加した質問後発話t(4)を提示する。これにより、ユーザが発話した映画名がどのようなものであっても同じ話題へ復帰させることができ、かつ、ユーザが自分の発話が無視されたと感じることを回避することができる。
【００５３】
（具体例２−２）
具体例２−２は、ある話題に関する特定の単語クラスに属する任意の情報を問う質問である第一発話を提示した後に、ユーザ発話がその単語クラスに属する情報を含まない発話であると判定して、単語クラスに属する情報を含む追加発話と、追加発話より後の質問後発話とを含む第二発話を提示する例である。
t(1)  Ｒ１：最近映画どれみた？
t(2)  Ｈ：最近映画みてないな
t(3)  Ｒ２：ぼくは□□□をみたよ
t(4)  Ｒ１：あれ人気だよね。そう言えば、×××が第一位に決定したね
t(5)  Ｒ２：そうそう、すごいよね
【００５４】
この例では、まず、対話システム１００は、上記の文章Ｂの話題に関して映画名のクラスに属する単語をユーザが発話することが予測できる質問である第一発話t(1)を提示する。次に、対話システム１００は、第一発話t(1)に対するユーザの発話であるユーザ発話t(2)を取得する。次に、対話システム１００は、ユーザ発話t(2)に映画名が含まれていないため、質問t(1)を提示した人型ロボットＲ１以外の人型ロボットＲ２が「□□□」という映画名を含む追加発話t(3)を提示する。さらに、対話システム１００は、追加発話t(3)に関する質問後発話t(4), t(5)を人型ロボット同士で提示することで、元の話題へ復帰させている。
【００５５】
（具体例３−１）
具体例３−１は、正解が存在する質問である第一発話を提示した後に、ユーザ発話がその正解を含む発話であると判定して、不正解を含む追加発話と、追加発話より後の質問後発話とを含む第二発話を提示する例である。
t(1)  Ｒ１：最近今年の日本の映画トップテンが発表されたんだけど、何だか知ってる？
t(2)  Ｈ：×××でしょ
t(3)  Ｒ２：□□□かな？
t(4)  Ｒ１：正解は×××でした！第一位に決定したんだよ
t(5)  Ｒ２：へぇ、すごいね
【００５６】
この例では、まず、対話システム１００は、上記の文章Ｂの話題に関して日本の映画ベストテンに決定した映画名を問う質問である第一発話t(1)を提示する。次に、対話システム１００は、第一発話t(1)に対するユーザの発話であるユーザ発話t(2)を取得する。次に、対話システム１００は、ユーザ発話t(2)に「×××」という正解の映画名が含まれているため、第一発話t(1)を提示した人型ロボットＲ１以外の人型ロボットＲ２から「□□□」という不正解の映画名を含む追加発話t(3)を提示する。さらに、対話システム１００は、追加発話t(3)に関する質問後発話t(4), t(5)を人型ロボット同士で提示することで、元の話題へ復帰させている。正解を含むユーザ発話t(2)の直後に正解を明かす質問後発話t(4)を提示すると、ユーザは自分の発話t(2)が無視されたような印象を受けるため、これを回避するために、あえて不正解の追加発話t(3)を人型ロボットＲ２により提示する。
【００５７】
（具体例３−２）
具体例３−２は、正解が存在する質問である第一発話を提示した後に、ユーザ発話がその正解を含まない発話であると判定して、正解と同じ単語クラスを含む追加発話と、追加発話より後の質問後発話とを含む第二発話を提示する例である。
t(1)  Ｒ１：最近今年の日本の映画ベストテンが発表されたんだけど、何だか知ってる？
t(2)  Ｈ：□□□でしょ
t(3)  Ｒ２：□□□かな？
t(4)  Ｒ１：正解は×××でした！第一位に決定したんだよ
t(5)  Ｒ２：へぇ、すごいね
【００５８】
この例では、まず、対話システム１００は、上記の文章Ｂの話題に関して日本の映画ベストテンに決定した映画名を問う質問である第一発話t(1)を提示する。次に、対話システム１００は、第一発話t(1)に対するユーザの発話であるユーザ発話t(2)を取得する。次に、対話システム１００は、ユーザ発話t(2)に「□□□」という不正解の映画名が含まれているため、第一発話t(1)を提示した人型ロボットＲ１以外の人型ロボットＲ２から「□□□」という不正解の映画名を含む追加発話t(3)を提示する。さらに、対話システム１００は、追加発話t(3)に関する質問後発話t(4), t(5)を人型ロボット同士で提示することで、元の話題へ復帰させている。この場合、人型ロボットＲ２の追加発話t(3)は、映画名の単語クラスに属するものであれば、正解でも不正解でもよい。
【００５９】
（具体例３−３）
具体例３−３は、正解が存在する質問である第一発話を提示した後に、ユーザ発話がその正解を含まない発話であるが、正解と同じ単語クラスに属する情報を含む発話であると判定して、不正解であることを示す追加発話と、追加発話より後の質問後発話とを含む第二発話を提示する例である。
t(1)  Ｒ１：最近今年の日本の映画ベストテンが発表されたんだけど、何だか知ってる？
t(2)  Ｈ：□□□でしょ
t(3)  Ｒ１：ううん、正解は×××でした！第一位に決定したんだよ
t(4)  Ｒ２：へぇ、すごいね
【００６０】
この例では、まず、対話システム１００は、上記の文章Ｂの話題に関して日本の映画ベストテンに決定した映画名を問う質問である第一発話t(1)を提示する。次に、対話システム１００は、第一発話t(1)に対するユーザの発話であるユーザ発話t(2)を取得する。次に、対話システム１００は、ユーザ発話t(2)に「□□□」という不正解の映画名が含まれているため、第一発話t(1)を提示した人型ロボットＲ１から「ううん」のように不正解であることを表す追加発話を付加した上で、正解を明かす質問後発話t(3)を提示する。仮にユーザ発話t(2)に正解の映画名が含まれている場合には、「よくわかったね！」のように正解であることを表す追加発話を付加することで、正解を明かす質問後発話t(3)を提示しても冗長な印象を与えることを回避することができる。
【００６１】
（具体例３−４）
具体例３−４は、正解が存在する質問である第一発話を提示した後に、ユーザ発話がその正解を含まない発話であり、正解と同じ単語クラスに属する情報も含まない発話であると判定して、正解と同じ単語クラスを含む追加発話と、追加発話より後の質問後発話とを含む第二発話を提示する例である。
t(1)  Ｒ１：最近今年の日本の映画ベストテンが発表されたんだけど、何だか知ってる？
t(2)  Ｈ：最近映画みてないから、わからないな
t(3)  Ｒ２：□□□かな？
t(4)  Ｒ１：正解は×××でした！第一位に決定したんだよ
t(5)  Ｒ２：へぇ、すごいね
【００６２】
この例では、まず、対話システム１００は、上記の文章Ｂの話題に関して日本の映画ベストテンに決定した映画名を問う質問である第一発話t(1)を提示する。次に、対話システム１００は、第一発話t(1)に対するユーザの発話であるユーザ発話t(2)を取得する。次に、対話システム１００は、ユーザ発話t(2)に映画名の単語クラスに属する単語が含まれていないため、第一発話t(1)を提示した人型ロボットＲ１以外の人型ロボットＲ２から「□□□」という不正解の映画名を含む追加発話t(3)を提示する。さらに、対話システム１００は、追加発話t(3)に関する質問後発話t(4), t(5)を人型ロボット同士で提示することで、元の話題へ復帰させている。人型ロボットＲ２が提示する追加発話t(3)は正解の映画名を含むものであってもよく、その場合には人型ロボットＲ１の発話に「そう！」のように正解であることを表す追加発話を付加すればよい。
【００６３】
［変形例］
上述した実施形態では、エージェントとして人型ロボットを用いて音声による対話を行う例を説明したが、上述した実施形態の提示部は身体等を有する人型ロボットであっても、身体等を有さないロボットであってもよい。また、この発明の対話技術はこれらに限定されず、人型ロボットのように身体等の実体がなく、発声機構を備えないエージェントを用いて対話を行う形態とすることも可能である。そのような形態としては、例えば、コンピュータの画面上に表示されたエージェントを用いて対話を行う形態が挙げられる。より具体的には、「LINE」（登録商標）や「２ちゃんねる」（登録商標）のような、複数アカウントがテキストメッセージにより対話を行うグループチャットにおいて、ユーザのアカウントと対話装置のアカウントとが対話を行う形態に適用することも可能である。この形態では、エージェントを表示する画面を有するコンピュータは人の近傍にある必要があるが、当該コンピュータと対話装置とはインターネットなどのネットワークを介して接続されていてもよい。つまり、本対話システムは、人とロボットなどの話者同士が実際に向かい合って話す対話だけではなく、話者同士がネットワークを介してコミュニケーションを行う会話にも適用可能である。
【００６４】
変形例の対話システム２００は、図３に示すように、例えば、一台の対話装置２からなる。変形例の対話装置２は、例えば、入力部１０、音声認識部２０、発話決定部３０、および提示部５０を備える。対話装置２は、例えば、マイクロホン１１、スピーカ５１を備えていてもよい。
【００６５】
変形例の対話装置２は、例えば、スマートフォンやタブレットのようなモバイル端末、もしくはデスクトップ型やラップトップ型のパーソナルコンピュータなどの情報処理装置である。以下、対話装置２がスマートフォンであるものとして説明する。提示部５０はスマートフォンが備える液晶ディスプレイである。この液晶ディスプレイにはチャットアプリケーションのウィンドウが表示され、ウィンドウ内にはグループチャットの対話内容が時系列に表示される。グループチャットとは、チャットにおいて複数のアカウントが互いにテキストメッセージを投稿し合い対話を展開する機能である。このグループチャットには、対話装置２が制御する仮想的な人格に対応する複数の仮想アカウントと、ユーザのアカウントとが参加しているものとする。すなわち、本変形例は、エージェントが、対話装置であるスマートフォンの液晶ディスプレイに表示された仮想アカウントである場合の一例である。ユーザはソフトウェアキーボードを用いてグループチャットのウィンドウ内に設けられた入力エリアである入力部１０へ発話内容を入力し、自らのアカウントを通じてグループチャットへ投稿することができる。発話決定部３０はユーザのアカウントからの投稿に基づいて対話装置２からの発話内容を決定し、各仮想アカウントを通じてグループチャットへ投稿する。なお、スマートフォンに搭載されたマイクロホン１１と音声認識機能を用い、ユーザが発声により入力部１０へ発話内容を入力する構成としてもよい。また、スマートフォンに搭載されたスピーカ５１と音声合成機能を用い、各対話システムから得た発話内容を、各仮想アカウントに対応する音声でスピーカ５１から出力する構成としてもよい。
【００６６】
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、提示部が提示する発話順を除いて、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００６７】
［プログラム、記録媒体］
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００６８】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００６９】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００７０】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００７１】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００７２】
１、２  発話装置
１０  入力部
１１  マイクロホン
２０  音声認識部
３０  発話決定部
４０  音声合成部
５０  提示部
５１  スピーカ
１００、２００  対話システム
１０１  ユーザ
【図１】
2018151471.tif 000003
【図２】
2018151471.tif 000004
【図３】
2018151471.tif 000005