(57)【特許請求の範囲】
【請求項１】
ユーザと対話を行う対話システムが行う対話方法であって、
上記対話システムが提示する複数の発話に連続する複数の質問が含まれるときに、
提示部が、第一の人格により上記複数の質問に含まれる第一の質問を提示する第一提示ステップと、
発話終了検出部が、上記ユーザの発話の終了を検出する発話終了検出ステップと、
上記提示部が、上記発話終了検出ステップで上記ユーザの発話の終了が検出された場合に、上記第一の人格とは異なる第二の人格により上記複数の質問に含まれる上記第一の質問とは異なる第二の質問を提示する第二提示ステップと、
を含む対話方法。
【請求項２】
請求項１に記載の対話方法であって、
上記提示部が、上記第一の質問を提示した後に、上記第一の人格とは異なる人格により上記ユーザが上記第一の質問に回答しやすいようにサポートする発話を提示する第三提示ステップ
をさらに含む対話方法。
【請求項３】
複数の発話を決定する発話決定部と、
ユーザの発話の終了を検出する発話終了検出部と、
上記発話決定部が決定した複数の発話に連続する複数の質問が含まれるときに、
第一の人格により上記複数の質問に含まれる第一の質問を提示し、上記第一の質問を提示した後に上記発話終了検出部が上記ユーザの発話の終了を検出した場合に、上記第一の人格とは異なる第二の人格により上記複数の質問に含まれる上記第一の質問とは異なる第二の質問を提示する提示部と、
を含む対話システム。
【請求項４】
発話を出力する提示部を少なくとも含む対話システムが提示する発話を決定する対話装置であって、
ユーザの発話の終了を検出する発話終了検出部と、
上記提示部が第一の人格により提示する第一の質問と、上記提示部が上記第一の質問を提示した後に上記発話終了検出部が上記ユーザの発話の終了を検出した場合に、上記第一の人格とは異なる第二の人格により提示する第二の質問とを含む複数の発話を決定する発話決定部と、
を含む対話装置。
【請求項５】
請求項１または２に記載の対話方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項６】
請求項４に記載の対話装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、人とコミュニケーションを行うロボットなどに適用可能な、コンピュータが人間と自然言語を用いて対話を行う技術に関する。
【背景技術】
【０００２】
近年、人とコミュニケーションを行うロボットの研究開発が進展しており、様々な現場で実用化されてきている。例えば、コミュニケーションセラピーの現場において、ロボットが孤独感を抱える人の話し相手となる利用形態がある。具体的には、老人介護施設においてロボットが入居者の傾聴役となることで、入居者の孤独感を癒す役割を担うことができると共に、ロボットとの会話している姿を見せ、入居者とその家族や介護士など周りの人々との会話のきっかけを作ることができる。また、例えば、コミュニケーション訓練の現場において、ロボットが練習相手となる利用形態がある。具体的には、外国語学習施設においてロボットが外国語学習者の練習相手となることで、外国語学習を効率的に進めることができる。また、例えば、情報提示システムとしての応用において、ロボット同士の対話を聞かせることを基本としながら、時折人に話しかけることで、退屈させずに人を対話に参加させ、人が受け入れやすい形で情報を提示することができる。具体的には、街中の待ち合わせ場所やバス停、駅のホームなどで人が時間を持て余している際や、自宅や教室などで対話に参加する余裕がある際に、ニュースや商品紹介、蘊蓄・知識紹介、教育（例えば、子供の保育・教育、大人への一般教養教授、モラル啓発など）など、効率的な情報提示が期待できる。さらに、例えば、情報収集システムとしての応用において、ロボットが人に話しかけながら情報を収集する利用形態がある。ロボットとのコミュニケーションにより対話感を保持できるため、人に聴取されているという圧迫感を与えずに情報収集することができる。具体的には、個人情報調査や市場調査、商品評価、推薦商品のための趣向調査などに応用することが想定されている。このように人とロボットのコミュニケーションは様々な応用が想定されており、ユーザとより自然に対話を行うロボットの実現が期待される。また、スマートフォンの普及により、LINE(登録商標)のように、複数ユーザでほぼリアルタイムにチャットを行うことにより、人との会話を楽しむサービスも実施されている。このチャットサービスにロボットとの会話の技術を適用すれば、チャット相手がいなくても、ユーザとより自然に対話を行うチャットサービスの実現が可能となる。
【０００３】
本明細書では、これらのサービスで用いられるロボットやチャット相手などのユーザとの対話相手となるハードウェアやユーザとの対話相手となるハードウェアとしてコンピュータを機能させるためのコンピュータソフトウェアなどを総称してエージェントと呼ぶこととする。エージェントは、ユーザとの対話相手となるものであるため、ロボットやチャット相手などのように擬人化されていたり、人格化されていたり、性格や個性を有していたりするものであってもよい。
【０００４】
これらのサービスの実現のキーとなるのは、ハードウェアやコンピュータソフトウェアにより実現されるエージェントが人間と自然に対話を行うことができる技術である。
【０００５】
上記のエージェントの一例として、あらかじめ定められたシナリオに沿って特定の話題についてユーザと対話を行うシナリオ対話システムがある。シナリオ対話システムでは、シナリオに沿って対話が展開する限り対話を続けることが可能である。例えば、非特許文献１に記載された対話システムは、ユーザと複数のエージェント間で、エージェントによる割り込みやエージェント同士のやり取りを含めながら対話を行うシステムである。例えば、エージェントは、ユーザに対してシナリオに用意された質問を発話し、質問に対するユーザの回答の発話がシナリオに用意された選択肢に対応する場合にその選択肢に対応する発話を行うように機能する。すなわち、シナリオ対話システムは、システムに予め記憶されたシナリオに基づいた発話をエージェントが行う対話システムである。この対話システムでは、エージェントがユーザに問いかけ、ユーザからの返答を受けた際に、ユーザの発話内容に関わらず「そっか」といった相槌で流したり、エージェントの割り込みで話題を変えたりすることで、ユーザの発話が本来の話題から外れた場合であってもストーリーの破綻をユーザに感じさせないように応答することが可能である。
【０００６】
また、上記のエージェントの一例として、ユーザの発話内容に沿った発話をエージェントが行うことにより、ユーザとエージェントとが自然な対話を行う雑談対話システムがある。例えば、非特許文献２に記載された対話システムは、ユーザとエージェントとの間で行われる複数ターンの対話の中で文脈に特有のものをより重視しながら、ユーザまたはエージェントの発話に含まれる単語をトリガーとして、あらかじめ記述しておいたルールに従ってシステムが発話することで、ユーザとシステムとの間で雑談対話を実現するシステムである。雑談対話システムが用いるルールは、あらかじめ記述したものだけでなく、ユーザの発話内容に基づいて自動的に生成したものであってもよいし、ユーザまたはエージェントによる直前の発話またはその近傍に発話された発話に基づいて自動的に生成したものであってもよいし、ユーザまたはエージェントによる直前の発話またはその近傍に発話された発話を少なくとも含む発話に基づいて自動的に生成したものであってもよい。非特許文献２には、ユーザの発話に含まれる単語と共起関係や係り受け関係にある単語に基づいて、自動的にルールを生成する技術が記載されている。また、例えば、非特許文献３に記載された対話システムは、人手で記述したルールと統計的発話生成手法で記述したルールを融合することで、ルール生成のコストを低減したシステムである。雑談対話システムは、シナリオ対話システムとは異なり、予め用意されたシナリオに沿った発話をエージェントが行うものではないため、ユーザの発話によっては、エージェントの発話がユーザの発話に対応しないものとなってしまうという事態は生じずに、少なくともユーザの発話内容、もしくはユーザまたはエージェントによる直前の発話またはその近傍に発話された発話、もしくはユーザまたはエージェントによる直前の発話またはその近傍に発話された発話を少なくとも含む発話に基づいた発話をエージェントが行うことが可能である。すなわち、雑談対話システムは、少なくともユーザの発話内容、もしくはユーザまたはエージェントによる直前の発話またはその近傍に発話された発話、もしくはユーザまたはエージェントによる直前の発話またはその近傍に発話された発話を少なくとも含む発話に基づいた発話をエージェントが行う対話システムである。これらの雑談対話システムでは、ユーザの発話に対して明示的に応答することが可能である。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】有本庸浩，吉川雄一郎，石黒浩，“複数体のロボットによる音声認識なし対話の印象評価”，日本ロボット学会学術講演会，2016年
【非特許文献２】杉山弘晃，目黒豊美，東中竜一郎，南泰浩，“任意の話題を持つユーザ発話に対する係り受けと用例を利用した応答文の生成”，人工知能学会論文誌，vol. 30(1)，pp. 183-194，2015年
【非特許文献３】目黒豊美，杉山弘晃，東中竜一郎，南泰浩，“ルールベース発話生成と統計的発話生成の融合に基づく対話システムの構築”，人工知能学会全国大会論文集，vol. 28，pp. 1-4，2014年
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ユーザがエージェントと一対一で対話をしている場合、ユーザが発話を止めてしまうと対話が中断してしまうため、ユーザは話しかけられたときは常に何か発話しなければいけないという負担感を感じることになる。特に、エージェントが質問を発し、ユーザがこれに答える対話が続くと、ユーザは質問攻めにされている圧迫感を感じることになる。
【０００９】
この発明の目的は、上述のような点に鑑みて、ユーザへ与える負担感を軽減し、対話を長く続けることができる対話技術を提供することである。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、この発明の第一の態様の対話方法は、ユーザと対話を行う対話システムが行う対話方法であって、提示部が、複数の発話を複数の人格に分散させて提示する提示ステップを含む。
【００１１】
この発明の第二の態様の対話システムは、複数の発話を決定する発話決定部と、発話決定部が決定した複数の発話を複数の人格に分散させて提示する提示部と、を含む。
【００１２】
この発明の第三の態様の対話装置は、発話を提示する提示部を少なくとも含む対話システムが提示する発話を決定する対話装置であって、提示部が複数の人格に分散させて提示する複数の発話を決定する発話決定部を含む。
【発明の効果】
【００１３】
この発明によれば、ユーザが発話を止めても複数の人格同士で対話を継続することができ、負担感が軽減する。また、複数の質問を発するときであってもユーザは複数の人格から分散して質問を受けるため、圧迫感が軽減する。これにより、ユーザとの間で対話を長く続けることが可能な対話システム、対話装置を実現することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】図１は、人型ロボットによる対話システムの機能構成を例示する図である。
【図２】図２は、第一実施形態の対話方法の処理手続きを例示する図である。
【図３】図３は、第二実施形態の対話方法の処理手続きを例示する図である。
【図４】図４は、第三実施形態の対話方法の処理手続きを例示する図である。
【図５】図５は、第四実施形態の対話方法の処理手続きを例示する図である。
【図６】図６は、第五実施形態の対話方法の処理手続きを例示する図である。
【図７】図７は、グループチャットによる対話システムの機能構成を例示する図である。
【発明を実施するための形態】
【００１５】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１６】
第一実施形態では、この発明の基本的な考え方を抽出した一般的な実施形態を説明し、第二実施形態以降では、この発明の考え方を応用した具体的な実施形態を、具体例を挙げながら説明する。
【００１７】
＜第一実施形態＞
第一実施形態の対話システムは、複数台の人型ロボットが協調してユーザとの対話を行うシステムである。すなわち、第一実施形態の対話システムは、エージェントが人型ロボットである場合の一例である。対話システム１０は、図１に示すように、入力部１、音声認識部２、発話決定部３、音声合成部４、および提示部５を備える。この対話システム１０が後述する各ステップの処理を行うことにより第一実施形態の対話方法が実現される。なお、図１に示すように、対話システム１０の音声認識部２、発話決定部３、音声合成部４による部分を第一実施形態の対話装置１１とする。
【００１８】
対話装置は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。対話装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。対話装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、対話装置の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
【００１９】
入力部１は、ユーザの発話を対話システムが取得するためのインターフェースである。言い換えれば、入力部１は、ユーザが発話を対話システムへ入力するためのインターフェースである。例えば、入力部１はユーザの発話音声を収音して音声信号とするマイクロホンである。入力部１で収音したユーザの発話音声の音声信号は、音声認識部２へ入力される。
【００２０】
音声認識部２は、入力部１で収音したユーザの発話音声の音声信号をユーザの発話内容を表すテキストに変換する。ユーザの発話内容を表すテキストは、発話決定部３へ入力される。音声認識の方法は既存のいかなる音声認識技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。
【００２１】
発話決定部３は、入力されたユーザの発話内容を表すテキストに基づいて、対話システムからの発話内容を表すテキストを決定する。発話決定部３が決定した発話内容を表すテキストは音声合成部４へ入力される。
【００２２】
音声合成部４は、発話決定部３が決定した発話内容を表すテキストを、発話内容を表す音声信号に変換する。発話内容を表す音声信号は、提示部５へ入力される。音声合成の方法は既存のいかなる音声合成技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。
【００２３】
提示部５は、発話決定部３が決定した発話内容をユーザへ提示するためのインターフェースである。例えば、提示部５は、人間の形を模して製作された人型ロボットである。この人型ロボットは、発話決定部３が決定した発話内容を表すテキストが音声合成部４により音声信号に変換された発話内容を表す音声信号を、例えば頭部に搭載したスピーカから発音する、すなわち、発話を提示する。提示部５を人型ロボットとした場合には、対話に参加する人格ごとに一台の人型ロボットを用意する。以下では、二人の人格が対話に参加する例として、二台の人型ロボット５−１および５−２が存在するものとする。
【００２４】
入力部１は提示部５と一体として構成してもよい。例えば、提示部５を人型ロボットとした場合、人型ロボットの頭部にマイクロホンを搭載し、入力部１として利用することも可能である。
【００２５】
以下、図２を参照して、第一実施形態の対話方法の処理手続きを説明する。
【００２６】
ステップＳ１において、対話システムは、複数の発話を複数の人型ロボット５−１及び５−２に分散させて提示する。すなわち、対話システムは、複数の発話のそれぞれについて、発話内容を表す音声を人型ロボット５−１及び５−２の何れかのスピーカから出力する。より具体的には、人型ロボット５−１は、対話システムが提示する複数の発話のうち、少なくとも一つの発話の内容を表す音声信号をスピーカから出力し、人型ロボット５−２は、対話システムが提示する複数の発話のうち、人型ロボット５−１が出力した発話を除く、少なくとも一つの発話の内容を表す音声をスピーカから出力する。人型ロボット５−１と人型ロボット５−２が発話内容を表す音声を出力する順番は限定されず、人型ロボット５−２が人型ロボット５−１より先に発話内容を表す音声を出力してもよい。人型ロボット５−１の発話と人型ロボット５−２の発話との間にユーザの発話を受け付けるステップが実行されてもよい。
【００２７】
対話システムが提示する発話の内容を表すテキストは、発話決定部３が、例えば、予め定められ発話決定部３内の図示しない記憶部に記憶された定型文から任意に選択してもよいし、直前までの発話内容に応じて決定してもよい。直前までの発話内容に応じて発話内容を決定する技術は、従来の対話システムにおいて用いられているものを利用すればよく、例えば、非特許文献１に記載されたシナリオ対話システムや非特許文献２または３に記載された雑談対話システムなどを用いることができる。発話決定部３がシナリオ対話システムにおいて用いられている技術を用いる場合は、例えば、発話決定部３は、直前の５発話程度を含む対話について、各発話に含まれる単語や各発話を構成する焦点語と発話決定部３内の図示しない記憶部に記憶された各シナリオに含まれる単語や焦点語との単語間距離が所定の距離より近いシナリオを選択し、選択したシナリオに含まれるテキストを選択することにより対話システムが提示する発話の内容を表すテキストを決定する。発話決定部３が雑談対話システムにおいて用いられている技術を用いる場合は、発話決定部３は、例えば、ユーザの発話に含まれる単語をトリガーとして、あらかじめ記述して発話決定部３内の図示しない記憶部に記憶しておいたルールに従って対話システムが提示する発話の内容を表すテキストを決定してもよいし、ユーザの発話に含まれる単語と共起関係や係り受け関係にある単語に基づいて自動的にルールを生成し、そのルールに従って対話システムが提示する発話の内容を表すテキストを決定してもよい。
【００２８】
対話システム１０は、各発話を提示する人型ロボットを、複数の人型ロボットからランダムに選択してもよいし、複数の人型ロボットから同じ人型ロボットが連続して出力しないように制御して選択してもよい。また、対話システムが提示する複数の発話が、発話決定部３がシナリオ対話システムにおいて用いられている技術により選択したシナリオに沿って決定するものであって、いずれかの発話を提示する人型ロボットがシナリオにより指定される場合には、対話システム１０は、提示する人型ロボットが指定されていない発話のみを複数の人型ロボットに分散して出力すればよい。
【００２９】
例えば、対話システムが複数の質問をユーザへ行う場合には、人型ロボット５−１が複数の質問に含まれる第一の質問の内容を表す音声をスピーカから出力し、ユーザがその第一の質問に対する返答を発話した後に、人型ロボット５−２が複数の質問に含まれる第二の質問の内容を表す音声をスピーカから出力する。これにより、一台の人型ロボットが第一の質問も第二の質問も提示する場合と比較して、一人に質問攻めにされているような負担感が軽減する。
【００３０】
また、例えば、人型ロボット５−１が質問の内容を表す音声をスピーカから出力し、人型ロボット５−２がその質問に対する返答の内容を表す音声を、ユーザの返答の前にスピーカから出力する。これにより、人型ロボットとユーザが一対一で対話する場合と比較して、「何か質問をされたら発話しなければいけない」という負担感が軽減する。このとき、人型ロボット５−２が、人型ロボット５−１の質問に対する回答をユーザがしやすいようにサポートする発話の内容を表す音声をスピーカから出力してもよい。これにより、「ロボットが望む内容の発話をしなければいけない」という負担感が軽減する。
【００３１】
＜第二実施形態＞
第二実施形態の対話システムおよび方法は、対話システムから出力する複数の発話を、人型ロボット５−１が曖昧語を含む発話を行い、人型ロボット５−２が具体語を含む発話を行うように分散する。この場合、ユーザは曖昧語を含む発話には答える必要がないため、「必ず発話しなければいけない」という負担感が軽減する。
【００３２】
第二実施形態の対話システムでは、ユーザと対話する対話システムであって、複数のロボットである人型ロボット５−１と人型ロボット５−２とを備える対話システムに、対話システムが決定する発話文（元の発話文）をそのまま発話させるのではなく、元の発話文の少なくとも一部を曖昧化する、または／および、元の発話文に含まれる語を当該語の意味を有さない語に置き換えることにより生成した文（以下、これらの方法により生成した文を「曖昧化した文」ともいう）に変換し、変換した文をあるロボットに発話させる。そしてその後に、一意に解釈できていないことを表出する文を他のロボットに発話させる、または／および、曖昧化した文を発話したロボットに元の発話文を発話させる（言い直しさせる）。このようにすれば、対話システムが生成する発話文を増やさずに、ユーザに納得感を与えるロボットの発話を増やすことができ、結果としてユーザと対話システムとの対話のターンを増やすことができる。曖昧化した文とは、例えば、元の発話文の一部を(i)指示語で置換した文、(ii)言い間違った語で置換した文、あるいは(iii)省略した文等である。なお、(i)指示語で置換した文の場合、すなわち、元の発話文を提示することなく元の発話文の一部を指示語で置換した文を提示した場合には、指示語が何を意味するのかにより、二つ以上の意味に解釈される。(ii)言い間違った語で置換した文の場合、すなわち、元の発話文を提示することなく元の発話文の一部を言い間違った語で置換した文を提示した場合には、少なくとも(a)前後の文脈を考慮して、言い間違いのない本来の意味に解釈可能な文と、(b)言い間違った語で置換した文との二つの意味に解釈される。なお、言い間違った語が元の言葉とあまりにも違うと、対話感に影響が出るので、以下に例示するように、元の言葉と一音違う意味のある言葉等、音が似ている語を言い間違った語として用いることが望ましい。(iii)省略した文の場合、すなわち、元の発話文を提示することなく元の発話文の一部を省略した文を提示した場合には、省略した部分に何が補われるのかにより、二つ以上の意味に解釈される。以下、元の発話文と変換した発話文の例を示す。
【００３３】
元の発話文：「『車』、燃費が大事だよね」
(i)指示語で置換した文：「『あれ』、燃費が大事だよね」
(ii)言い間違った語で置換した文：「『くるみ』、燃費が大事だよね」
(iii)省略した文：「『省略』燃費が大事だよね」
【００３４】
対話のターンを増やすために、この実施形態の対話システムにおいては、ある人型ロボット５−１に発話させるために生成された発話文を、曖昧化した文に変換し、曖昧化した文を人型ロボット５−１が発話する。そして、人型ロボット５−１による曖昧化した文の発話の後に、曖昧化した文の内容を確認する発話文を別の人型ロボット５−２が発話する。ただし、対話システムに人型ロボット５−１一体しか含まれない場合は、人型ロボット５−１による曖昧化した文の発話の後に、人型ロボット５−１自身が曖昧化した文の内容を確認する発話文を発話してもよい。
【００３５】
なお、ユーザと対話システムとの対話中の任意のタイミングで曖昧化した文の発話を挿入してよいが、対話が長くなりすぎないように留意する必要があり、元の発話をそのまま発しても、ユーザがロボットの発話を理解あるいはそれに共感を持ちにくいと判断される場合に曖昧化した文の発話を挿入すると特に効果的である。例えば、(A)対話システムが話題を転換する（例えば、シナリオ対話を開始する）タイミング、(B)対話システムの発話に対するユーザの返答が対話システムの予測する返答からはずれているとき、(C)対話システムが話題の変化を検出したとき、などにロボットに曖昧化した文の発話させるとよい。対話システムが話題の変化を検出する方法としては、例えば、対話中の文や単語を利用して、(a)word2vecを利用した話題語間の距離、(b)文全体の単語をword2vecにかけて平均を取った場合の文間距離、(c)単語のcos類似度などを求め、距離が所定の値以上の場合またはcos類似度が所定の値以下の場合(要は、二つの発話が関連していない、または、二つの発話の関連が薄いことを所定の指標が示している場合)、話題が変化したと判定する方法がある。上述の（A）〜（C）等のタイミングは、ユーザが対話システムの発話内容を理解しづらくなるタイミングであるため、人型ロボット５−１に曖昧化した文を発話させて、人型ロボット５−１と人型ロボット５−２との間の対話を挿入することで、人と対話システムとの間の対話のターン数を増やすとともに、人に対話システムの発話内容の理解を促すことができる。
【００３６】
前述のように、元の発話文を(i)指示語で置換した文、(ii)言い間違った語で置換した文、(iii)省略した文に変換するとき、指示語の対象となる語、言い間違いの対象となる語、省略の対象となる語に特に限定はないが、例えば、主要な語を対象とする。例えば、tf-idf(文書中の単語に関する重み)に基づき、元の発話文に含まれる語のうちの重みの大きい語を対象となる語として選択してもよい。また、元の発話文に含まれる語のうちで、他の語との関係で、上位概念となる語を対象となる語として選択してもよい。例えば、元の発話文に『セダン』と『車』とが含まれる場合、語『セダン』との関係で、上位概念となる語『車』を対象となる語として選択することができる。
【００３７】
以下、この実施形態による対話内容の具体例を示す。ここで、Ｒはロボットを表し、Ｈはユーザを表す。Ｒの後の数字は人型ロボットの識別子である。Ｘ→ＹはＸがＹに話しかけていることを表す。すなわち、「Ｒ１→Ｈ」は人型ロボット５−１がユーザへ話しかけていることを表す。『  』内に曖昧語である指示語、言い間違い、省略の何れかを示す。
【００３８】
（例１：指示語）
Ｒ１→Ｒ２：僕、『あれ』、セダンが好きなんだよね
Ｒ２→Ｒ１：それって車の話？
Ｒ１→Ｒ２：そう、車。僕、車、セダンがすきなんだよね
（例２：省略）
Ｒ１→Ｒ２：僕、『省略』セダンが好きなんだよね
Ｒ２→Ｒ１：それって何の話？
Ｒ１→Ｒ２：うん、車。僕、車、セダンがすきなんだよね
（例３：言い間違い）
Ｒ１→Ｒ２：僕、『くるみ』、セダンが好きなんだよね
Ｒ２→Ｒ１：え、何の話？
Ｒ１→Ｒ２：ごめん、車。僕、車、セダンがすきなんだよね
【００３９】
なお、例１〜３では、曖昧化した発話の直後に対話システムが行う発話（この例ではロボットＲ２の発話）は、曖昧化した発話である第１の発話の曖昧化されている部分を一つの意味に特定する語を含む発話である。しかし、曖昧化した発話の直後に対話システムが行う発話は、このような発話に限らず、一意に解釈できていないことの表出する発話であればよく、例えば、次のような発話でもよい。
【００４０】
（例４：言い間違い）
Ｒ１→Ｒ２：僕、『くるみ』、セダンが好きなんだよね
Ｒ２→Ｒ１：ごめん、意味が分からない。
Ｒ１→Ｒ２：ごめん、車。僕、車、セダンがすきなんだよね
【００４１】
この例では、ロボットＲ２の発話「ごめん、意味が分からない。」は、曖昧化した発話である第一の発話の曖昧化されている部分を一つの意味に特定する語を含む発話とは言えないが、ロボットＲ２の発話の対象となった発話をしたロボットであるロボットＲ１が曖昧化した発話を特定する語を発話せざるを得ないようにする発話である。例１〜４の曖昧化した発話の直後に対話システムが行う発話は、まとめると、一意に解釈できていないことの表出する発話と言え、別の言い方をすると、一つの意味に特定する語を含む発話をさせるための発話と言える。
【００４２】
なお、上述の対話の例には、発話を誰に対して行っているかを記載してあるが、発話を誰に対して行うかを限定する必要はない。例えば、例１はロボットＲ１とロボットＲ２との間の対話であるが、ロボットＲ１とロボットＲ２とユーザとの間の対話であってもよい。なお、発話を誰に対して行っているかを限定する場合には、例えば、ロボットの頭部や視線の動きにより発話の対象となる相手が誰であるかを表出するようにすればよい。
【００４３】
以下、図３を参照して、第二実施形態の対話方法の処理手続きを説明する。
【００４４】
ステップＳ１１において、発話決定部３は、発話文（テキストデータ）を生成し、音声合成部４に出力する。以下、この発話文をオリジナル発話文ともいう。発話決定部３内には、例えば、非特許文献２および３に記載された「雑談対話システム」と呼ばれる対話システムのように、入力された単語をトリガーとして、あらかじめ記述しておいたルールに従って発話のテキストを生成して出力する対話システムが備えられており、オリジナル発話文は、事前に設定された単語に基づき発話決定部３内に備えられた当該対話システムが生成して出力する。
【００４５】
または、発話決定部３内には、例えば、非特許文献１に記載された「シナリオ対話システム」と呼ばれる対話システムのように、事前に設定された単語が対話システム内に予め記憶されたシナリオの選択肢に対応する場合に、その選択肢に対応して予め記憶された発話のテキストを選択して出力する対話システムが備えられており、発話決定部３内に備えられた当該対話システムが予め記憶しているテキストから選択して出力する。ここで、事前に設定された単語に基づいてオリジナル発話文を生成する例で説明したが、事前に単語を設定していなくてもよい。例えば、オリジナル発話文生成時点が継続中の対話の一時点である場合には、事前に設定した単語に代わり、オリジナル発話文生成時点より前の対話中の単語（トピック等）を用いてもよい。
【００４６】
ステップＳ１２において、発話決定部３は、オリジナル発話文を受け取り、オリジナル発話文の少なくとも一部を曖昧化することにより生成した発話文を変換後発話文（テキストデータ）として得、音声合成部４に出力する。なお、前述の発話文の少なくとも一部を(i)指示語で置換する処理、(ii)言い間違った語で置換する処理、あるいは、(iii)省略する処理、が発話文を曖昧化することに相当する。なお、発話文の少なくとも一部を言い間違った語に置換する処理とは、発話文に含まれる語を当該語の意味を有さない語に置換する処理とも言える。
【００４７】
ステップＳ１３において、音声合成部４は、発話決定部３から入力された変換後発話文（テキストデータ）に対して音声合成を行い合成音声データを得て、得られた合成音声データを人型ロボット５−１のスピーカから出力する、すなわち、変換後発話文を人型ロボット５−１の発話として提示する。合成音声データの提示先として、変換後発話文の合成音声データに対応する音声を再生したロボット自身を提示先とする場合には、独り言を話しているように処理を行えばよい。
【００４８】
ステップＳ１５において、発話決定部３は、変換後発話文の内容を確認する発話文（以下、「確認発話文」ともいう）を生成し、音声合成部４へ出力する。なお、確認発話文は、変換後発話文を１つの意味に特定するための質問を含む。
【００４９】
音声合成部４は、発話決定部３から入力された確認発話文に対して音声合成を行い合成音声データを得て、得られた合成音声データを人型ロボット５−２のスピーカから出力する、すなわち、確認発話文を人型ロボット５−２の発話として提示する。
【００５０】
確認発話文とは、例えば、(i)正しい内容を特定して確認を行う発話文、(ii)内容を何ら特定せずに確認を行う発話文、(iii)間違った内容を特定して確認を行う発話文、である。例えば、(i)正しい内容を特定して確認を行う発話文としては「それって、ＸＸのこと？」(ここではＸＸは正しい内容であり、変換後発話文を１つの意味に特定する語である)との発話文、(ii)内容を何ら特定せずに確認を行う発話文としては「何のこと？」との発話文、(iii)間違った内容を特定して確認を行う発話文としては「それって、ＹＹのこと？」「ＹＹって言った？」「ＹＹって何のこと？」（ここではＹＹは間違いである）との発話文が有り得る。発話決定部３が(i)から(iii)の何れの種類の確認発話文を具体的にどのように生成するかは、発話決定部３内で予め定めておいてもよいし、発話決定部３外から対話システムの運用者が指定できるようにしておいてもよい。また、正しい内容は、発話決定部３が生成したオリジナル発話文と発話決定部３が生成した変換後発話文とに基づいて、発話決定部３が曖昧化した部分に対応する語をオリジナル発話文から取得することにより決定する。間違った内容は、発話決定部３が生成したオリジナル発話文と発話決定部３が生成した変換後発話文とに基づいて、発話決定部３が曖昧化した部分に対応する語をオリジナル発話文から取得して、取得した語に基づいて生成すればよい。なお、確認発話文は、変換後発話文を１つの意味に特定するための質問を含むが、変換後発話文を１つの意味に特定するものではない。
【００５１】
ステップＳ１６において、発話決定部３は、さらに、確認発話文に応答する発話文（以下、「応答発話文」ともいう）を生成し、音声合成部４に出力する。なお、応答発話文は、確認発話文に含まれる質問の回答であり、かつ、変換後発話文を一つの意味に特定する語を含む。
【００５２】
音声合成部４は、発話決定部３から入力された応答発話文に対して音声合成を行い合成音声データを得て、得られた合成音声データを人型ロボット５−１のスピーカから出力する、すなわち、応答発話文を人型ロボット５−１の発話として提示する。確認発話文が(i)正しい内容を特定して確認を行う発話文である場合には、応答発話文は、確認内容を肯定した上で、正しい内容を復唱する発話文などであり、例えば、「うん、ＸＸ」である。確認発話文が(ii)内容を何ら特定せずに確認を行う発話文である場合や(iii)間違った内容を特定して確認を行う発話文である場合には、応答発話文は、正しい内容を確認する発話文などであり、例えば、「ＸＸ」である。
【００５３】
ステップＳ１７において、音声合成部４は、発話決定部３から入力されたオリジナル発話文に対して音声合成を行い合成音声データを得て、得られた合成音声データを人型ロボット５−１のスピーカから出力する、すなわち、オリジナル発話文を人型ロボット５−１の発話として提示する。
【００５４】
＜第二実施形態の変形例１＞
以下、第二実施形態の変形例１の対話システムが行う動作の流れを、第一実施形態の対話システムが行う動作の流れと異なる点を中心に説明する。なお、第二実施形態の変形例１の対話システムは、第一実施形態の対話システムの各処理部に加えて、図示していない発話終了検出部をさらに含む。
【００５５】
ステップＳ１３による変換後発話文の提示後に、入力部１において収音されたユーザの発話に対応する音声データは、図示していない発話終了検出部に出力される。
【００５６】
ステップＳ１４において、図示していない発話終了検出部は、入力部１から収音されて取得した音声データを用いて、ユーザの発話の終了を検出するか、または、ユーザの発話がないまま予め定めた時間が経過したこと、すなわち、タイムアウトしたことを検出し、発話決定部３に発話の終了、または、タイムアウトしたことを知らせる制御信号を出力する。発話決定部３に発話終了検出部からの制御信号が入力されると、対話システムは、ステップＳ１５からＳ１７までを行う。すなわち、この変形例では、変換後発話文の提示後にユーザが発話する時間を設けているものの、対話システム１０は、ユーザの発話は音声認識せずに、ユーザの発話が終了した時点、または、所定時間経過した時点で、確認発話文を提示する。なお、ユーザの発話内容が曖昧化した部分の正しい内容を含むものであろうと、間違った内容を含むものであろうと、対話システム１０が提示する確認発話文と応答発話文は、上記の(i)の場合と同様のものとすればよい。例えば、対話システム１０は、「それって、ＸＸのこと？」を確認発話文として提示し、「うん、ＸＸ」を応答発話文として提示する。
【００５７】
以下に、ユーザを提示先とする対話の具体例を示す。
【００５８】
（例５）
Ｒ１→Ｈ：『あれ』、どんなタイプが好き？
Ｈ→Ｒ１：え、何？
Ｒ２→Ｒ１：それって車の話？
Ｒ１→Ｒ２：そう、車。車、どんなタイプが好き？
【００５９】
例５は、ロボットＲ１が変換後発話文を発話し、ロボットＲ１が変換後発話文を発話した後にユーザの発話を受け付ける時間を設け、ユーザの発話が終了した時点でロボットＲ２が確認発話文を発話し、次にロボットＲ１が発話として応答発話文とオリジナル発話文を発話する例である。
【００６０】
なお、この変形例では、ロボットの確認発話文、応答発話文はユーザの発話には依存しないため、音声認識を必要としない。
【００６１】
＜第二実施形態の変形例２＞
第二実施形態の変形例１の対話システムでは、変換後発話文の提示後にユーザが発話する時間を設け、ユーザの発話は音声認識せずに、ユーザの発話が終了した時点、または、所定時間経過した時点で、確認発話文を提示した。変形例２では、ユーザが曖昧化した文の内容を確認する発話文を発話した場合には、曖昧化した文の内容を確認する発話文を発話せず、ユーザ発話の後に応答発話文を発話する。
【００６２】
以下、本変形例の対話システムが行う動作の流れを、第二実施形態の対話システムが行う動作の流れと異なる点を中心に説明する。
【００６３】
まず、本変形例の対話システムは、ステップＳ１１〜Ｓ１３を行う。
【００６４】
ステップＳ１３による変換後発話文の提示後に、入力部１において収音されたユーザの発話に対応する音声データは、音声認識部２へ出力される。
【００６５】
音声認識部２は、入力部１から収音されて取得した音声データを音声認識して、音声認識結果の発話文（ユーザの発話に対応する発話文）を得て、得られた音声認識結果の発話文を発話決定部３へ出力する。
【００６６】
発話決定部３は、音声認識結果の発話文が、生成した確認発話文と同一の内容であるか否かを判断する。音声認識結果の発話文が、生成した確認発話文と同一の内容である場合には、本変形例の対話システムは、ステップＳ１５を行わずに、ステップＳ１６〜Ｓ１７を行い、音声認識結果の発話文が、生成した確認発話文と同一の内容ではない場合には、本変形例の対話システムは、ステップＳ１５〜Ｓ１７を行う。すなわち、本変形例の対話システムは、ユーザが曖昧化した文の内容を確認する発話文を発話した場合には、曖昧化した文の内容を確認する発話文を発話せず、ユーザの発話の後に応答発話文を発話する。
【００６７】
なお、本変形例では対話システムによる変換後発話文の提示後にユーザの発話を受け付ける例について説明したが、対話システムによる何れの発話文の提示後にユーザの発話を受け付ける構成としてもよい。また、変換後発話文の提示後のユーザの発話の音声認識結果の発話文が、生成した確認発話文と同一の内容ではない場合などの、ユーザの発話が、対話システムが予め想定した発話以外の発話であった場合には、第二実施形態で説明した確認発話文、応答発話文、オリジナル発話文、の何れでもない発話文を対話システムが発話してもよい。例えば、発話決定部３は、音声認識の結果が肯定してよい内容であれば「うん、ＸＸ」を応答発話文とし、否定する必要のある内容であれば「ごめん、ＸＸ」を応答発話文として生成し、生成した何れかの応答発話文を人型ロボット５−１の発話として提示すればよい。
【００６８】
なお、対話システムがユーザの発話を受け付ける場合には、例えば、ロボットの頭部や視線をユーザに向ける等の動きによりユーザに発話を促すようにしてもよい。
【００６９】
＜第二実施形態の変形例３＞
上述の第二実施形態およびその変形例では、対話システムは、発話の前にロボットの発話文（オリジナル発話文、変換後発話文、確認発話文、応答発話文）を生成していたが、最初の発話をする前に、生成、音声合成を行っておき、合成音声データを図示しない記憶部に記憶しておき、実際の対話時には、所定のタイミングで各合成音声データを提示部５−１または５−２が再生する構成としてもよい。また、最初の発話をする前に対話システムからの発話文を生成しておき、発話文を図示しない記憶部に記憶しておき、実際の対話時には、所定のタイミングで各発話文を音声合成して合成音声データを得て、得られた合成音声データを提示部５−１または５−２で再生する構成としてもよい。
【００７０】
＜第二実施形態の変形例４＞
対話システム１０が複数台のロボットを含む構成において、どのロボットが発話しているのかをユーザが判別可能とされていれば、提示部の個数はロボットの個数と同一でなくてもよく、提示部はロボットに設置されていなくてもよい。どのロボットが発話しているのかをユーザが判別可能とする方法としては、合成する音声の声質をロボットごとに異ならせる、複数のスピーカを用いてロボットごとに定位を異ならせる、などの周知の技術を用いればよい。
【００７１】
＜第三実施形態＞
第三実施形態の対話システムおよび方法は、ユーザの発話に対する人型ロボット５−１の発話がユーザの所望する返答ではないことがユーザの反応から検知された場合、人型ロボット５−２が何らかの表出行動を行う。この場合、ユーザは少なくとも自分の発話が認識されたことは理解できるため、「うまく音声認識できるように発話しなければならない」という負担感が軽減する。
【００７２】
まず、この実施形態による対話内容の具体例を示す。具体例の記述方法は上述の実施形態と同様である。
【００７３】
この実施形態の対話システムは、破綻させたこと自体を話題にする等により、「破綻させたこと」を認識していることをユーザに表明する（下記Case1〜Case6）。この表明により、ユーザに対して、対話システムが正しく自身の発話内容を理解しており、かつ、ユーザの振る舞いに敏感であると示すことができるため、対話におけるユーザの満足度が向上すると考えられる。
【００７４】
さらに、ロボットが二体ある場合には、破綻していること自体をロボット間で話題にすることで、破綻発話を発話していない側のロボットがより賢いロボットであるとの印象をユーザに与えることができる（下記Case1〜Case4）。
【００７５】
また、「破綻させたこと」を対話システムが認識していることをユーザに表明した後に、破綻発話と異なる発話をロボットが行う（下記Case4）。または、話題転換語を前置して破綻発話とは異なる発話を行う（下記Case7）。これらにより、対話システムが対話の内容を理解せずに対話しているとのユーザの印象、すなわち、ロボットに対するユーザの失望、を軽減することができる。裏返せば、対話システムが対話の内容を理解して対話している印象をユーザに与えることができる。
【００７６】
また、破綻発話を発話していない側のロボットが破綻発話の内容を無視して、ユーザとの間で対話を進めることで、対話システム全体に対する失望を軽減することができる（下記Case8）。裏返せば、対話システムが対話の内容を理解して対話している印象をユーザに与えることができる。
【００７７】
加えて、二体のロボットが互いにフォローし合うため、破綻発話を一度しても対話そのものは破綻しにくい（下記Case4、Case8）。それを利用し、ユーザ発話に対するロボットの発話として通常であれば1bestで生成する発話を、2bestや4bestなどの複数候補を生成し、複数候補のうちの一つをユーザ発話に対するロボットの発話とし、複数候補のうちの別のものをロボットの発話が破綻発話であった場合にロボットが行う発話としてもよい。この場合は、類似した候補を選択するよりも、発話間類似度が小さい候補を選択した方が破綻しにくい可能性がある。さらに、複数候補を生成する段階で、あらかじめ発話間類似度が小さくなるように候補を生成する方法も考えられる。
【００７８】
以下、具体例１では人型ロボット５−１が対話を破綻させたこと、または、破綻させた可能性があることを、人型ロボット５−２が表出する例を示す。
【００７９】
（具体例１）
Ｈ→Ｒ１，Ｒ２:「最近ライオンキング（登録商標）見に行ったら、子役の子たちがすごかったです」
Ｒ１→Ｈ:「メスが狩りをするらしいですね」（「ライオン」に反応した破綻発話）
【００８０】
人型ロボット５−１の発話に対するユーザの反応の認識結果が「人型ロボット５−１の発話がユーザの発話に対応するものではない（人型ロボット５−１が破綻させた）」というものであった場合に、人型ロボット５−２が「人型ロボット５−１の発話がユーザの発話に対応するものではない」旨を表出する行動を行う。
【００８１】
Case1:
Ｒ２→Ｒ１：「何言ってるの？？」
Ｒ１→Ｈ：「ライオンの話じゃないの？」
Case2:
Ｒ２→Ｈ：「何言ってんだろうねー」
Case3:
Ｒ２：ためいき
【００８２】
Case1では、人型ロボット５−２が、人型ロボット５−１に対する発話として、人型ロボット５−１が破綻させたこと、または、人型ロボット５−１が破綻させた可能性を、明言する。
【００８３】
Case2では、人型ロボット５−２が、ユーザに対する発話として、人型ロボット５−１が破綻させたこと、または、人型ロボット５−１が破綻させた可能性を、明言する。
【００８４】
Case3では、破綻発話を行った者以外（この例では、破綻発話を行った人型ロボット５−１以外のロボットである人型ロボット５−２）が、何れに対する発話でもない発話・意思表出として、人型ロボット５−１が破綻させたこと、または、人型ロボット５−１が破綻させた可能性を、非言語コミュニケーションで明示する。この例では、人型ロボット５−１の発話がユーザの発話に対応するものではない旨を表出する行動として、人型ロボット５−２がため息をつく。
【００８５】
以下、具体例２では人型ロボット５−１が対話を破綻させたこと、または、破綻させた可能性があることを、人型ロボット５−１自身が表出する例を示す。
【００８６】
（具体例２）
Ｈ→Ｒ１，Ｒ２:「最近ライオンキング見に行ったら、子役の子たちがすごかったです」
Ｒ１→Ｈ:「メスが狩りをするらしいですね」（「ライオン」に反応した破綻発話）
【００８７】
人型ロボット５−１の発話に対するユーザの反応の認識結果が「人型ロボット５−１の発話がユーザの発話に対応するものではない（人型ロボット５−１が破綻させた）」というものであった場合に、人型ロボット５−１が「人型ロボット５−１の発話がユーザの発話に対応するものではない」旨を表出する行動を行う。
【００８８】
Case4:
Ｒ１→Ｒ２：「あれ？何か変なこと言った？？」
Ｒ２→Ｈ：「その話じゃないよねえ。子役の話だよね」
Case5:
Ｒ１→Ｈ：「あれ？違いました？」
Case6:
Ｒ１：首を振る仕草
【００８９】
Case4では、人型ロボット５−１が、人型ロボット５−２に対する発話として、人型ロボット５−１が破綻させたこと、または、人型ロボット５−１が破綻させた可能性を、明言する。
【００９０】
Case5では、人型ロボット５−１が、ユーザに対する発話として、人型ロボット５−１が破綻させたこと、または、人型ロボット５−１が破綻させた可能性を、明言する。
【００９１】
Case6では、破綻発話を行った者自身（この例では、人型ロボット５−１）が、何れに対する発話でもない発話・意思表出として、人型ロボット５−１が破綻させたこと、または、人型ロボット５−１が破綻させた可能性を、非言語コミュニケーションで明示する。この例では、人型ロボット５−１の発話がユーザの発話に対応するものではない旨を表出する行動として、人型ロボット５−１が首を振る仕草を行う。
【００９２】
具体例２のCase4では、人型ロボット５−１が対話を破綻させたこと、または、破綻させた可能性があることについて、対話システムが明言した上で、対話を継続する例を示したが、具体例３では人型ロボット５−１が対話を破綻させたこと、または、破綻させた可能性があることについて、対話システムが明言せずに対話を継続する例を示す。具体例３では、対話システムが対話の内容を理解して対話している印象をユーザに与えるため、対話システムは、破綻させた発話と異なる発話をすることで、ユーザ発話に対する対話を継続する。具体的には、話題転換語を付した発話をしたり、破綻発話をしたロボットとは別のロボットが破綻発話を無視した発話をすることで、ユーザ発話に対する対話を継続する。
【００９３】
（具体例３）
Ｈ→Ｒ１，Ｒ２:「最近ライオンキング見に行ったら、子役の子たちがすごかったです」
Ｒ１→Ｈ:「メスが狩りをするらしいですね」（「ライオン」に反応した破綻発話）
【００９４】
人型ロボット５−１の発話に対するユーザの反応の認識結果が「人型ロボット５−１の発話がユーザの発話に対応するものではない（人型ロボット５−１が破綻させた）」というものであった場合に、人型ロボット５−１、人型ロボット５−２ともに破綻を明言せずに対話を継続する。
【００９５】
Case7:
Ｒ２→Ｒ１：「あ、そういえばこないだサファリパークに行ったら、ライオンが眠ってたよ」
Case8:
Ｒ２→Ｈ：「子役はかわいいですよね」
【００９６】
Case7では、人型ロボット５−２が、人型ロボット５−１の破綻発話ではなくユーザの発話に関する発話を行う。「そういえば」などの話題転換語を伴うことで、ユーザの話題からずれていることを表出しつつ、話題を遷移させて対話を継続することができ、人型ロボット５−２が対話の内容を理解して対話している印象をユーザに与えることができる。
【００９７】
Case8では、人型ロボット５−２が、人型ロボット５−１の破綻発話ではなくユーザの発話に関する発話を行う。こうすると、人型ロボット５−２が人型ロボット５−１の破綻発話を無視して発話を行い、ユーザは人型ロボット５−２の発話に対応する発話をすることで、対話を継続することができ、人型ロボット５−２が対話の内容を理解して対話している印象を与えることができる。
【００９８】
以下、図４を参照して、第三実施形態の対話方法の処理手続きを説明する。なお、第三実施形態の対話システムは、第一実施形態の対話システムの各処理部に加えて、図示していない反応取得部、行動生成部、および行動部をさらに含む。
【００９９】
ステップＳ２１において、マイクロホン１は、ユーザが発した発話を受け付ける。以下、この発話をユーザ発話と呼ぶ。マイクロホン１で収音したユーザ発話の音声信号は、音声認識部２により認識され、音声認識結果として得られたテキストがユーザ発話の内容を表すテキストとして発話決定部３へ入力される。
【０１００】
ステップＳ２２において、発話決定部３は、音声認識部２からユーザ発話の内容を表すテキストが入力されると、当該ユーザの発話に対する音声認識結果のテキストに少なくとも基づき、当該ユーザ発話の次に対話システムが提示する発話の内容を表すテキストを決定し、音声合成部４へ出力する。以下、この発話を第一発話ともいう。
【０１０１】
なお、発話決定部３内には、例えば、非特許文献２に記載された「雑談対話システム」と呼ばれる対話システムのように、入力された発話のテキストに含まれる単語をトリガーとして、あらかじめ記述しておいたルールに従って発話のテキストを生成して出力する対話システムが備えられており、ユーザの発話に対する音声認識結果のテキストに少なくとも基づく発話のテキストは、発話決定部３内に備えられた当該対話システムが生成して出力する。
【０１０２】
または、発話決定部３内には、例えば、非特許文献１に記載された「シナリオ対話システム」と呼ばれる対話システムのように、入力された発話のテキストが対話システム内に予め記憶されたシナリオの選択肢に対応する場合に、その選択肢に対応して予め記憶された発話のテキストを選択して出力する対話システムが備えられており、ユーザの発話に対する音声認識結果のテキストに少なくとも基づく発話のテキストは、発話決定部３内に備えられた当該対話システムが予め記憶しているテキストから選択して出力する。
【０１０３】
音声合成部４は、発話決定部３から入力されたテキストに対する音声合成を行って合成音声データを得て、得られた合成音声データを人型ロボット５−１のスピーカから出力し、発話文を利用者に提示する。テキストと共に発話決定部３からテキストと当該テキストを発話するロボットを表す情報が入力された場合には、当該情報に対応するロボットの提示部に対して合成音声データを出力する。
【０１０４】
ステップＳ２３において、反応取得部は、第一発話に対するユーザの反応を取得し、行動生成部へ出力する。
【０１０５】
ステップＳ２４において、行動生成部は、反応取得部から入力されたユーザの反応を表す情報を受け取り、その反応に基づき、第一発話がユーザ発話に対応するものか否かを判定する。
【０１０６】
行動生成部は、第一発話がユーザの発話に対応するものか否かを判定するために、例えば、ユーザの表情などの変化や、フィードバック発話（ため息や「ちがうって」のような発話など、意識的・無意識的によらず、システム発話に対する印象を表出する発話）などを利用する。例として、表情の変化を利用するための方法を例示する。反応取得部はカメラを含み、ユーザの顔の時系列の画像を取得する。取得した時系列の画像から特徴（例えば、瞳孔の大きさ、目尻の位置、目頭の位置、口角の位置、口の開き具合等）の変化を取得する。この特徴の変化がユーザの反応に相当する。対話システムの利用に先立ち予め、対象者に対して破綻発話を聴取させ、その前後の特徴の変化を行動生成部内の図示しない記憶部に記憶しておく。なお、対象者は特徴の変化のパターンを取得するための対象となるものを意味し、対話システムのユーザでもよいし、他の者であってもよい。行動生成部は、行動生成部内の図示しない記憶部に記憶した特徴の変化と、反応取得部から入力されたユーザの反応（特徴の変化）との類似度を計算し、行動生成部内の図示しない記憶部に記憶した所定の閾値との大小関係に基づき、類似していると判断したときには、第一発話がユーザ発話に対応するものではないと判定する。例えば、類似度が高いほど類似していることを示す場合には、類似度が所定の閾値よりも大きいときに類似していると判断し、第一発話がユーザ発話に対応するものではないと判定する。また、フィードバック発話を利用する場合には、入力部１は、ユーザが発話したフィードバック発話の音声を収音して、収音された音声データを音声認識部２に出力する。音声認識部２は、入力部１が得た音声データ（フィードバック発話）の入力を受け付け、この音声データに対して音声認識を行い、認識結果のテキストを行動生成部に出力する。行動生成部は、フィードバック発話の認識結果のテキストが入力されると、例えば、参考文献１において用いられる方法を利用して、第一発話がユーザの発話に対応するものか否かを判定する。なお、参考文献１では、フィードバック発話の認識結果のテキストに含まれる単語のNgramや単語クラスの頻度、感情極性の正負とその大きさなどを利用して、第一発話がユーザの発話に対応するものか否かの評価値を推定する。例えば、行動生成部は、この評価値と閾値との大小関係に基づき、第一発話がユーザの発話に対応するものか否かを判定する。
〔参考文献１〕水上雅博, et al. "快適度推定に基づく用例ベース対話システム", 人工知能学会論文誌,  Vol. 31, No. 1, 2016.
【０１０７】
（具体例１、２の場合）
行動生成部は、ユーザの反応が、第一発話がユーザ発話に対応するものではないことを示す反応である場合に、第一発話がユーザ発話に対応するものではない旨を表出する行動の内容である行動内容を生成し、すなわち、決定し、行動部に出力する。
【０１０８】
ユーザの反応が、第一発話がユーザ発話に対応するものではないことを示す反応ではない場合（言い換えると、ユーザの反応が、第一発話がユーザ発話に対応するものであることを示す反応である場合）には、従来の対話システムを用いて対話を継続すればよい(例えば、非特許文献２−３参照)。ここでは、処理の説明を省略する。
【０１０９】
ステップＳ２５において、ユーザの反応が、第一発話がユーザ発話に対応するものではないことを示す反応である場合、行動部は、行動生成部が生成した行動内容を受け取り、行動内容の行動を行う。
【０１１０】
行動内容は、行動の主体、行動の対象、行動自体等を示す内容である。ただし、対象を必要としない行動の場合には、行動の対象を省略してもよい。例えば、行動の主体として、この実施形態では、人型ロボット５−１や人型ロボット５−２が考えられる。行動の対象としては、人型ロボット５−１や人型ロボット５−２、ユーザ等が考えられる。行動自体としては、言語コミュニケーション(＝発話)や非言語コミュニケーションが考えられる。言語コミュニケーションとは、言葉を使ったコミュニケーションの全てを対象とするのであって、必ずしも音声を伴っている必要はない。非言語コミュニケーションとは、言葉以外の手段によるコミュニケーションのことであり、例えば、顔の表情、顔色、視線、身振り、手振り、体の姿勢などである。
【０１１１】
第一発話がユーザ発話に対応するものではない旨を表出する言語コミュニケーションとしては、例えば、上述の具体例における発話「何言ってるの？？」（Case1）、「何言ってんだろうねー」（Case2）、「あれ？何か変なこと言った？？」（Case4）、「あれ？違いました？」（Case5）等が考えられる。第一発話がユーザ発話に対応するものではない旨を表出する非言語コミュニケーションとしては、例えば、上述の具体例におけるため息をつく動作（Case3）、首を振る仕草（Case6）等が考えられる。なお、これらはあくまで例示であって、第一発話がユーザ発話に対応するものではない旨を表出する行動であれば、他の言語コミュニケーションや非言語コミュニケーションであってもよい。
【０１１２】
ステップＳ２５において、例えば、Case1,Case2,Case4,Case5の場合には、行動部は、発話決定部３に制御信号を出力し、以下の動作をさせることで、行動内容の生成を行い、行動部は、音声合成部４に制御信号を出力し、以下の動作させることで、行動内容の行動を行う。
【０１１３】
発話決定部３は、行動生成部から制御信号を受け取り、Case1,Case2,Case4,Case5の何れかの発話のテキストを発話決定部３内に備えられた対話システムにより生成し、または、発話決定部３内に備えられた対話システムが予め記憶しているテキストから選択して、音声合成部４に出力する。音声合成部４は、行動部から制御信号を受け取り、発話決定部３から出力された発話のテキストを入力とし、その発話のテキストに対して音声合成を行い合成音声データを得て、得られた合成音声データを人型ロボット５−１（Case4,Case5のとき）または人型ロボット５−２（Case1,Case2のとき）のスピーカから出力する。
【０１１４】
Case1,Case4では、さらに、発話決定部３は、Case1,Case4の何れかの行動後に提示する発話のテキストを発話決定部３内に備えられた対話システムにより生成し、または、発話決定部３内に備えられた対話システムが予め記憶しているテキストから選択して、音声合成部４に出力する。音声合成部４は、その発話のテキストに対して音声合成を行い合成音声データを得て、得られた合成音声データを人型ロボット５−１（Case1のとき）または人型ロボット５−２（Case4のとき）のスピーカから出力する。人型ロボット５−１または人型ロボット５−２では、音声合成部４から入力された三番目の発話のテキストに対応する音声データに対応する合成音声を再生し、行動後に提示する発話を提示する。
【０１１５】
また、例えば、Case3の場合には、行動部は、発話決定部３内に備えられた対話システムが予め記憶しているため息に対応する合成音声データを取り出し、人型ロボット５−２のスピーカに出力する。人型ロボット５−２では、ため息の合成音声データを再生し、非言語コミュニケーション（ため息をつく動作）を提示する。この場合、発話決定部３内に備えられた対話システムには、ため息に対応する合成音声データが記憶されているものとする。発話決定部３内に備えられた対話システムが予めため息に対応するテキストを記憶しており、発話決定部３は当該ため息に対応するテキストを選択して、音声合成部４に出力し、音声合成部４は、ため息に対応するテキストに対して音声合成を行い合成音声データを得て、得られた合成音声データを人型ロボット５−２に出力し、人型ロボット５−２では、音声合成部４から入力されたため息の合成音声データに対応する音声を再生し、非言語コミュニケーション(ため息をつく動作)を提示する形態としてもよい。
【０１１６】
また、例えば、Case6の場合には、行動部は、図示していないモーター等に制御信号を出力し、人型ロボット５−１の首を横に振る仕草を行わせ、非言語コミュニケーション（首を振る仕草）を提示する。この場合、人型ロボット５−１には首を振る仕草を行うためのモータ等を設ける。
【０１１７】
（具体例３の場合）
行動生成部は、ユーザの反応が、第一発話がユーザ発話に対応するものではないことを示す反応である場合に、第一発話とは異なる発話を生成し、すなわち、決定し、行動部に出力する。
【０１１８】
ステップＳ２５において、ユーザの反応が、第一発話がユーザ発話に対応するものではないことを示す反応である場合、行動部は、行動内容を受け取り、行動内容を表す行動を表出する。
【０１１９】
第一発話とは異なる発話としては、例えば、具体例３における発話「あ、そういえばこないだサファリパークに行ったら、ライオンが眠ってたよ」（Case7）、「子役はかわいいですよね」（Case8）等が考えられる。また、具体例２における発話「その話じゃないよねえ。子役の話だよね」（Case4）も第一発話とは異なる発話の一例と言える。
【０１２０】
Case7の発話「あ、そういえばこないだサファリパークに行ったら、ライオンが眠ってたよ」は、第一発話とは異なる発話であり、より具体的には、「あ、そういえば」という話題転換語（話題を転換する際に用いる語）が前置された、人型ロボット５−１の発話「メスが狩りをするらしいですね」とは異なる発話である。Case7では、人型ロボット５−２の発話に話題転換語を用いることで、人型ロボット５−１の第一発話がユーザの発話「最近ライオンキング見に行ったら、子役の子たちがすごかったです」に対応するものではないことをユーザに示した上で、話題を変える（少なくとも人型ロボット５−１の発話に関連しない話題に変える）ことをユーザに示す。これにより、ユーザは第一発話とは異なる発話に対応する発話をすることで対話を継続することができる。
【０１２１】
Case8の発話「子役はかわいいですよね」は、第一発話とは異なる発話であり、より具体的には、人型ロボット５−１の発話「メスが狩りをするらしいですね」とは異なる発話であり、第一発話を発話した人型ロボット５−１とは異なるロボットである人型ロボット５−２が行う発話である。Case8では、破綻発話をした人型ロボット５−１とは異なるロボットである人型ロボット５−２に第一発話とは異なる発話を発話させ、ユーザは第一発話とは異なる発話に対応する発話をすることで対話を継続することができる。
【０１２２】
Case4の発話「その話じゃないよねえ。子役の話だよね」は、第一発話とは異なる発話であり、より具体的には、人型ロボット５−１の発話「メスが狩りをするらしいですね」とは異なる発話であり、人型ロボット５−１が対話を破綻させたこと、または、人型ロボット５−１が破綻させた可能性を人型ロボット５−１が第一発話とは異なる発話で表出した後に、人型ロボット５−２が行う発話である。言い換えると、Case4では、第一発話とは異なる発話を提示するよりも、先に、第一発話がユーザの発話に対応するものではない旨を表出する発話を提示する。Case4では、破綻発話であることを明示された発話ではない発話に対応する発話をユーザがすることで対話を継続することができる。
【０１２３】
ステップＳ２５において、例えば、Case7,Case8の場合には、行動部は、発話決定部３に制御信号を出力し、以下の動作させることで、行動内容の生成を行い、行動部は、音声合成部４と人型ロボット５−１，５−２に以下の動作させることで、行動内容の行動を行う。
【０１２４】
発話決定部３は、行動生成部から制御信号を受け取り、Case7,Case8の何れかの発話に対応するテキストを発話決定部３内に備えられた対話システムにより生成し、または、発話決定部３内に備えられた対話システムが予め記憶しているテキストから選択して、音声合成部４に出力する。音声合成部４は、行動部から制御信号を受け取り、発話決定部３から出力された発話のテキストを入力とし、その発話のテキストに対して音声合成を行い合成音声データを得て、得られた合成音声データを人型ロボット５−２に出力する。人型ロボット５−２では、音声合成部４から入力された発話のテキストに対応する合成音声データに対応する合成音声を再生し、発話を提示する。
【０１２５】
＜第三実施形態の変形例１＞
対話システム１０が複数台のロボットを含む構成において、どのロボットが発話しているのかをユーザが判別可能とされていれば、提示部の個数はロボットの個数と同一でなくてもよく、提示部はロボットに設置されていなくてもよい。どのロボットが発話しているのかをユーザが判別可能とする方法としては、合成する音声の声質をロボットごとに異ならせる、複数のスピーカを用いてロボットごとに定位を異ならせる、などの周知の技術を用いればよい。
【０１２６】
＜第四実施形態＞
第四実施形態の対話システムおよび方法は、ユーザの発話に対する音声認識結果が所望のレベルの認識結果でないと判定した場合には、ユーザの発話に対してはロボットが「そっか」や「ふーん」などの曖昧な回答や相槌で応答し、その後に、ユーザの発話の直前までの対話の文脈に関連する発話をロボットが行う。これにより、対話システムは、ユーザの発話に対する音声認識結果を用いずに、ユーザの発話を認識したかのように振る舞いつつ、対話の話題を強制的に遷移した上でユーザとの対話を継続することができる。したがって、この実施形態によれば、音声認識が上手くできなかった場合であっても、ユーザは自身の発話が認識されたと感じつつそれまでの話題による対話を継続することができ、ユーザが次発話を考える必要がなく、かつ言い直しをせずとも対話自体を容易に継続可能となるため、ユーザの対話意欲も減少しない効果を奏する。
【０１２７】
なお、曖昧な回答や相槌での応答の後にロボットが行う発話をやや限定的な内容とすることで、音声認識を失敗したユーザの発話内容との重複を防ぎやすくなる。これは、ユーザの発話と内容が重複する発話をロボットがしてしまう、すなわち、ユーザの発話と同じ意味の発話や、ユーザの発話内容を直接質問する発話などをしてしまうことで、ロボットがユーザの発話を理解していないという印象をユーザに与えるのを防ぐためである。
【０１２８】
この実施形態の対話システムにおける、ユーザの発話に対する音声認識結果が所望のレベルの認識結果でないと判定した場合のユーザとロボットとの対話例を以下に示す。具体例の記述方法は上述の実施形態と同様である。
【０１２９】
（対話例１）
Ｒ１→Ｈ：「食べ物だったら何が好き？」
Ｈ：「蘭がスキー」（「ラーメンが好き！）の誤認識）
Ｒ１→Ｈ：「ふむふむ」（相槌）
Ｒ２→Ｒ１：「僕は●●店の焼き肉が好きだよ！」
Ｒ１→Ｒ２：「焼き肉も捨てがたいねえ」
Ｒ２→Ｒ１：「今度どこか食べに行こうよ」
（対話例２）
Ｒ１→Ｈ：「食べ物だったら何が好き？」
Ｈ：「別府」（「別に」の誤認識）
Ｒ１→Ｈ：「へー、そうなんだ」（相槌）
Ｒ２→Ｈ：「●●店のラーメンは好き？」（発話をやや限定的な内容としている）
Ｒ１→Ｒ２：「●●店はこってりラーメンがいいよね」
Ｒ１→Ｈ：「そう思わない？」
【０１３０】
以下、図５を参照して、第四実施形態の対話方法の処理手続きを説明する。なお、第四実施形態の対話システムは、第一実施形態の対話システムの各処理部に加えて、図示していない認識結果判定部および発話記憶部をさらに含む。認識結果判定部は、図示していない対話整合性指標算出部と対話整合性判定部とを含む。
【０１３１】
ステップＳ３１において、マイクロホン１は、ユーザが発した発話を受け付ける。以下、この発話をユーザ発話と呼ぶ。マイクロホン１で収音したユーザ発話の音声信号は、音声認識部２へ入力される。
【０１３２】
ステップＳ３２において、音声認識部２は、マイクロホン１で収音したユーザ発話の音声信号に対して音声認識を行い、複数個の認識結果のテキストと、各スコアの音声認識結果としての確からしさの高さの順位である優先順位を表す情報と、を認識結果判定部に出力する。
【０１３３】
ステップＳ３３において、認識結果判定部は、ユーザの発話に対する所望のレベルの認識結果が得られたか否かを判定し、所望のレベルの認識結果が得られたと判定された場合には、ユーザの発話に対する音声認識結果のテキストを発話決定部３及び発話記憶部に対して出力し、所望のレベルの認識結果が得られていないと判定された場合には、ユーザの発話に対する音声認識結果が所望のレベルの認識結果でないことを表す情報を発話決定部３及び発話記憶部に出力する。認識結果判定部は、対話整合性指標算出部と対話整合性判定部とを用いて、所望のレベルの認識結果が得られた否かを判定する。
【０１３４】
対話整合性指標算出部には、音声認識部２が出力したユーザの発話に対する複数個の認識結果候補のテキストが入力される。対話整合性指標算出部は、まず、当該ユーザの発話の直前に対話システム１０が出力した発話のテキストを発話記憶部から取得する。ここでは、対話整合性指標算出部に入力された複数個の認識結果候補のテキストを「ユーザ発話の候補テキスト」と呼び、対話整合性指標算出部が発話記憶部から取得した当該ユーザの発話の直前に対話システム１０が出力した発話のテキストを「直前のシステム発話のテキスト」と呼ぶ。対話整合性指標算出部は、次に、複数個のユーザ発話の候補テキストそれぞれについて、当該ユーザ発話の候補テキストと直前のシステム発話のテキストとの話題の繋がりの良さを表す指標、又は／及び、当該ユーザ発話の候補テキストの直前のシステム発話のテキストから予想される応答からの逸脱の度合い、を算出し、対話整合性判定部に出力する。話題の繋がりの良さを表す指標としては、例えば、参考文献２に記載された発話間の話題の繋がりの良さを用いればよく、予想される応答からの逸脱の度合いとしては、例えば、参考文献３に記載された技術を用いればよく、これらは、ユーザ発話の候補テキストに含まれる単語と直前のシステム発話のテキストに含まれる単語との間の類似度や、ユーザ発話の候補テキストと直前のシステム発話のテキストのそれぞれを抽象化した対話行為（質問・自己開示・挨拶など）の構造としての適切さ、ユーザ発話の候補テキストと直前のシステム発話のテキストのテキスト間の類似度、などに基づいて、Support Vector MachineやDeep Neural Networkを利用して算出することができる。
〔参考文献２〕Ryuichiro Higashinaka, Toyomi Meguro, Kenji Imamura, Hiroaki Sugiyama, Toshiro Makino, Yoshihiro Matsuo "Evaluating Coherence in Open Domain Conversational Systems",  Proceedings of Interspeech 2014, pp.130-134, September 2014.
〔参考文献３〕杉山弘晃、「異なる特性を持つデータの組み合わせによる雑談対話の破綻検出」、言語・音声理解と対話処理研究会、SIG-SLUD、2015.
【０１３５】
対話整合性判定部には、音声認識部２が出力したユーザの発話に対する複数個の認識結果候補のテキストと、各候補テキストの優先順位と表す情報と、対話整合性指標算出部が算出したそれぞれの候補テキストの話題の繋がりの良さを表す指標、又は／及び、予想される応答からの逸脱の度合いと、が入力される。対話整合性判定部は、まず、話題の繋がりの良さを表す指標、又は／及び、予想される応答からの逸脱の度合いに基づき、複数の認識結果候補の優先順位を並べ替える。例えば、対話整合性判定部は、候補テキストの話題の繋がりの良さを表す指標が大きいものが上位に来るように、又は／及び、予想される応答からの逸脱の度合いが大きいものが下位になるように、複数の認識結果候補の優先順位を並べ替える。対話整合性判定部は、次に、並べ替え後の優先順位が最も高い認識結果の候補テキストが所望のレベルの認識結果であるかを判定し、所望のレベルの認識結果であると判定された場合には、当該候補テキストをユーザの発話に対する音声認識結果のテキストとして発話決定部３及び発話記憶部に対して出力し、所望のレベルの認識結果でないと判定された場合には、ユーザの発話に対する音声認識結果が所望のレベルの認識結果でないことを表す情報を発話決定部３及び発話記憶部に出力する。
【０１３６】
並べ替え後の優先順位が最も高い認識結果の候補テキストが所望のレベルの認識結果であるかの判定は、例えば、並べ替え後の優先順位が最も高い認識結果の候補テキストの話題の繋がりの良さを表す指標が所定の閾値以上であるかにより判定する。すなわち、並べ替え後の優先順位が最も高い認識結果の候補テキストの話題の繋がりの良さを表す指標が所定の閾値以上である場合には、当該候補テキストをユーザの発話に対する音声認識結果のテキストとして発話決定部３及び発話記憶部に対して出力し、並べ替え後の優先順位が最も高い認識結果の候補テキストの話題の繋がりの良さを表す指標が所定の閾値未満である場合には、ユーザの発話に対する音声認識結果が所望のレベルの認識結果でないことを表す情報を発話決定部３及び発話記憶部に出力する。なお、所定の閾値は、話題の繋がりの良さを表す指標と比較するための閾値として、認識結果判定部の図示しない記憶部に予め記憶されているものである。
【０１３７】
また、並べ替え後の優先順位が最も高い認識結果の候補テキストが所望のレベルの認識結果であるかの判定は、例えば、並べ替え後の優先順位が最も高い認識結果の候補テキストの予想される応答からの逸脱の度合いが所定の閾値以下であるかにより判定する。すなわち、並べ替え後の優先順位が最も高い認識結果の候補テキストの予想される応答からの逸脱の度合いが所定の閾値以下である場合には、当該候補テキストをユーザの発話に対する音声認識結果のテキストとして発話決定部３及び発話記憶部に対して出力し、並べ替え後の優先順位が最も高い認識結果の候補テキストの予想される応答からの逸脱の度合いが所定の閾値を超える場合には、ユーザの発話に対する音声認識結果が所望のレベルの認識結果でないことを表す情報を発話決定部３及び発話記憶部に出力する。なお、所定の閾値は、予想される応答からの逸脱の度合いと比較するための閾値として、認識結果判定部の図示しない記憶部に予め記憶されているものである。
【０１３８】
なお、並べ替え後の優先順位が最も高い認識結果の候補テキストが所望のレベルの認識結果であるかの判定を、話題の繋がりの良さを表す指標と予想される応答からの逸脱の度合いの双方を用いて判定するようにしてもよい。具体的には、値を０から１に正規化した話題の繋がりの良さを表す指標ｃから、値を０から１に正規化した予想される応答からの逸脱の度合いｄを、減算（ｃ−ｄ）することで、話題の繋がりのよさと、予想される応答からの逸脱の度合いの小ささがある程度両立する候補を選ぶことができる。また、重みｗを用いてｄを重み付けし、値を０から１に正規化した話題の繋がりの良さを表す指標ｃから減算（ｃ−ｗ＊ｄ）しても良い。また、値を０から１に正規化した予想される応答からの逸脱の度合いｄを１から減算したものを用いて、値を０から１に正規化した話題の繋がりの良さを表す指標ｃと掛け合わせる（ｃ＊（１−ｄ））、あるいは、重み付けして掛け合わせる（ｃ＊ｗ（１−ｄ））ことで、話題のつながりの良さの指標の値が大きく、かつ、逸脱の度合いの大きさが小さい時のみ所定の基準を満たし、どちらか一方の値が小さい場合には棄却するような組み合わせ方も考えられる。
【０１３９】
ステップＳ３４において、発話決定部３は、認識結果判定部からユーザの発話に対する音声認識結果のテキストが入力された場合、すなわち、ユーザの発話に対する音声認識結果が所望のレベルの認識結果であると判定された場合には、当該ユーザの発話に対する音声認識結果のテキストに少なくとも基づき、当該ユーザの発話の次に対話システム１０が提示する発話のテキストを決定し、音声合成部４に出力する。なお、当該発話を行うロボットも決定してもよく、この場合には、発話するロボットを表す情報も音声合成部４に出力する。
【０１４０】
ステップＳ３５において、発話決定部３は、認識結果判定部からユーザの発話に対する音声認識結果が所望のレベルの認識結果でないことを表す情報が入力された場合、すなわち、ユーザの発話に対する音声認識結果が所望のレベルの認識結果でないと判定された場合には、当該ユーザの発話の直後に対話システム１０が提示する発話のテキストとして、内容語（名詞・形容詞・動詞・副詞のように実質的な内容を表すことば）を含まない発話のテキストを生成または予め発話決定部３内に記憶した複数個の発話のテキストの候補の中から選択して、音声合成部４に出力する。内容語を含まない発話とは、会話の流れを崩さないような発話であり、例えば、相槌等の発話であり、より具体的には、上述の対話例１の「ふむふむ」や対話例２の「へー、そうなんだ」などである。
【０１４１】
ステップＳ３６において、発話決定部３は、認識結果判定部からユーザの発話に対する音声認識結果が所望のレベルの認識結果でないことを表す情報が入力された場合、すなわち、ユーザの発話に対する音声認識結果が所望のレベルの認識結果でないと判定された場合には、対話システム１０が発話を提示した後に対話システム１０が提示する発話のテキストとして、ユーザの発話に基づかずに発話のテキストを生成または予め発話決定部３内に記憶した複数個の発話のテキストの候補の中から選択して、音声合成部４に出力する。すなわち、対話システム１０が提示する発話は、ユーザの発話に基づかずに生成または選択された発話である。
【０１４２】
ユーザの発話に基づかずに生成または選択された発話の第一例は、ユーザの発話以前にユーザが行った発話と対話システムが提示した発話との少なくとも何れかの少なくとも一部に関連して生成された発話である。例えば、対話例１では、ロボットＲ２の発話「僕は●●店の焼き肉が好きだよ！」は、ユーザの発話である「ラーメンが好き！」の誤認識結果である発話「蘭がスキー」には基づかない、それ以前にロボットＲ１が行った発話「食べ物だったら何が好き？」に関連する発話である。この例では、発話のテキストは、発話記憶部に記憶されている過去のユーザの発話の音声認識結果のテキストと発話記憶部に記憶されている過去に発話決定部３が決定した発話のテキストとの少なくとも何れかの少なくとも一部に基づいて、発話決定部３が生成する。具体的には、発話のテキストは、発話決定部３内に備えられた「雑談対話システム」と呼ばれる対話システムにより生成する。
【０１４３】
ユーザの発話に基づかずに生成または選択された発話の第二例は、ユーザの発話以前にユーザが行った発話と対話システムが提示した発話との少なくとも何れかの少なくとも一部に関連して選択された発話である。この例では、発話のテキストは、発話記憶部に記憶されている過去のユーザの発話の音声認識結果のテキストと発話記憶部に記憶されている過去に発話決定部３が決定した発話のテキストとの少なくとも何れかの少なくとも一部に基づいて、発話決定部３内に備えられた図示しない記憶部に予め記憶している発話のテキストから発話決定部３が選択する。具体的には、例えば、発話決定部３内に備えられた「シナリオ対話システム」と呼ばれる対話システムにより、発話記憶部に記憶されている過去のユーザの発話の音声認識結果のテキストと発話記憶部に記憶されている過去に発話決定部３が決定した発話のテキストとの少なくとも何れかの少なくとも一部に基づいて対話のトピックを求め、求めたトピックに対応するシナリオの発話用のテキストとして予め記憶している発話のテキストから発話のテキストを選択する。なお、シナリオ対話システムにおいては、発話記憶部に記憶されている過去に発話決定部３が決定した発話は、発話決定部３内に備えられた図示しない記憶部に予め記憶している現在の対話のトピックのシナリオ中の発話のテキストである。従って、発話のテキストは、発話決定部３が現在の対話のトピックに従って、発話決定部３内に備えられた図示しない記憶部に予め記憶している現在のトピックのシナリオ中の発話のテキストから選択すればよい。
【０１４４】
第一例及び第二例で対話システムが提示する発話は、ユーザの発話以前にユーザが行った発話と対話システムが提示した発話との少なくとも何れかの少なくとも一部に関連して生成または選択された発話であるため、ユーザの発話以前の対話のトピックに基づく発話である。すなわち、発話は、直前のユーザの発話の内容に直接応えない発話ではあるものの、ユーザの発話と何らかの関係がある発話である。このため、第一例及び第二例によれば、発話が自身の発話に関係のある発話であるとユーザに認識させ、発話に対してユーザが感じる違和感を小さくすることができる。
【０１４５】
ユーザの発話に基づかずに生成または選択された発話の第三例は、ユーザの発話以前にユーザが行った発話にも対話システムが提示した発話にも関連しない発話である。この例では、発話のテキストは、発話記憶部に記憶されている過去のユーザの発話にも発話記憶部に記憶されている過去に発話決定部３が決定した発話にも関連しない発話を、発話決定部３内に備えられた図示しない記憶部に予め記憶している発話のテキストから発話決定部３が選択する。具体的には、例えば、発話決定部３内に備えられた「シナリオ対話システム」と呼ばれる対話システムにより、発話記憶部に記憶されている過去のユーザの発話の音声認識結果のテキストにも発話記憶部に記憶されている過去に発話決定部３が決定した発話のテキストにも基づかずに対話のトピックを求め、言い換えると、ユーザの発話以前のユーザと対話システムによる対話のトピックと異なるトピックを求め、求めたトピックに対応するシナリオの発話用のテキストとして予め記憶している発話のテキストから発話のテキストを選択する。
【０１４６】
第三例によれば、発話はユーザの発話以前の発話に関連しない発話であるものの、その前の発話がユーザの発話に対して対話システムが応答したとユーザは感じるため、発話で話題を変えてもユーザの違和感を低減することができる。
【０１４７】
ステップＳ３７において、音声合成部４は、発話決定部３から入力されたテキストに対する音声合成を行って合成音声データを得て、得られた合成音声データを人型ロボット５−１または人型ロボット５−２に出力する。発話決定部３から複数のテキストとそれらの発話順を表す情報が入力された場合には、当該情報が表す発話順に従って合成音声データを出力する。テキストと共に発話決定部３からテキストと当該テキストを発話するロボットを表す情報が入力された場合には、当該情報に対応するロボットに対して合成音声データを出力する。
【０１４８】
ステップＳ３８において、人型ロボット５−１または５−２は、音声合成部４から入力された合成音声データに対応する音声を再生する。これにより、ユーザは人型ロボット５−１または５−２の発話を受聴することになり、ユーザと対話システム１０との対話が実現される。
【０１４９】
＜第四実施形態の変形例１＞
第四実施形態では、認識結果判定部が、ユーザの発話に対する所望のレベルの認識結果が得られたか否かを当該ユーザ発話のテキストと直前のシステム発話のテキストとの話題の繋がりの良さを表す指標、又は／及び、当該ユーザの発話のテキストの直前のシステム発話のテキストから予想される応答からの逸脱の度合いを用いて判定する形態を説明したが、第四実施形態とは異なる判定方法でユーザの発話に対する所望のレベルの認識結果が得られたか否かを判定してもよい。
【０１５０】
＜第四実施形態の変形例２＞
対話システム１０が複数台のロボットを含む構成において、どのロボットが発話しているのかをユーザが判別可能とされていれば、提示部の個数はロボットの個数と同一でなくてもよく、提示部はロボットに設置されていなくてもよい。どのロボットが発話しているのかをユーザが判別可能とする方法としては、合成する音声の声質をロボットごとに異ならせる、複数のスピーカを用いてロボットごとに定位を異ならせる、などの周知の技術を用いればよい。
【０１５１】
＜第五実施形態＞
第五実施形態の対話システムおよび方法は、ユーザの発話に対する返答を発話決定部３が決定できなかった場合に、人型ロボット５−１が「へー」と相槌を打ち、人型ロボット５−２がユーザの発話の一部に関連した発話を行う。この場合、ユーザの発話に基づいた対話が展開されるため、ユーザは「対話システムが理解できる程度に発話しなければいけない」という負担感が軽減する。
【０１５２】
以下、図６を参照して、第五実施形態の対話方法の処理手続きを説明する。
【０１５３】
ステップＳ４１において、マイクロホン１は、ユーザが発した発話を受け付ける。以下、この発話をユーザ発話と呼ぶ。マイクロホン１で収音したユーザ発話の音声信号は、音声認識部２により認識され、音声認識結果として得られたテキストがユーザ発話の内容を表すテキストとして発話決定部３へ入力される。
【０１５４】
ステップＳ４２において、人型ロボット５−１は、対話成立発話の内容を表す音声をスピーカから出力する。対話成立発話とは、例えば、相槌やフィラーなど、具体的な発話内容（内容語）を含まない発話である。対話成立発話の内容を表すテキストは、発話決定部３が、例えば、あらかじめ定められ発話決定部３内の図示しない記憶部に記憶された定型文から任意に選択することにより決定する。
【０１５５】
ステップＳ４３において、人型ロボット５−２は、対話成立発話に続いて、第二発話の内容を表す音声をスピーカから出力する。ステップＳ４３は、ステップＳ４２の後に行われる。すなわち、対話システムは、ユーザ発話を受け付け、対話成立発話の内容を表す音声をスピーカから出力した後に、第二発話の内容を表す音声をスピーカから出力する。第二発話とは、生成対象発話に関連する内容を含む発話である。生成対象発話とは、少なくともユーザ発話を含むユーザ発話以前に人型ロボットとユーザとの間で行われた対話に含まれる発話である。すなわち、生成対象発話の一例は、ユーザ発話である。また、生成対象発話の別の例は、ユーザ発話より前に発話決定部３が決定して提示部５−１または５−２が提示した発話と、ユーザ発話より前にユーザが発話した発話と、のうちの１つ以上の発話と、ユーザ発話と、による２つ以上の発話である。
【０１５６】
第二発話の内容を表すテキストは、例えば、発話決定部３へ生成対象発話に含まれる単語を入力し、発話決定部３が、あらかじめ定めたルールに従って、入力された単語に基づいて決定する。直前までの発話内容に応じて発話内容を決定する技術は、従来の対話システムにおいて用いられているものを利用すればよく、例えば、非特許文献１に記載されたシナリオ対話システムや非特許文献２−３に記載された雑談対話システムなどを用いることができる。発話決定部３がシナリオ対話システムにおいて用いられている技術を用いる場合は、例えば、発話決定部３は、直前の５発話程度を含む対話について、各発話に含まれる単語や各発話を構成する焦点語と発話決定部３内の図示しない記憶部に記憶された各シナリオに含まれる単語や焦点語との単語間距離が所定の距離より近いシナリオを選択し、選択したシナリオに含まれるテキストを選択することにより第二発話の内容を表すテキストを決定する。発話決定部３が雑談対話システムにおいて用いられている技術を用いる場合は、発話決定部３は、例えば、ユーザの発話に含まれる単語をトリガーとして、あらかじめ記述して発話決定部３内の図示しない記憶部に記憶しておいたルールに従って第二発話の内容を表すテキストを決定してもよいし、ユーザの発話に含まれる単語と共起関係や係り受け関係にある単語に基づいて自動的にルールを生成し、そのルールに従って第二発話の内容を表すテキストを決定してもよい。
【０１５７】
以降、ユーザと対話装置との間で第二発話の内容を話題とした対話が続行される。例えば、第二発話をシナリオ対話システムにおいて用いられている技術により生成した場合には、シナリオ対話システムにおいて用いられている技術により選択したシナリオに沿った対話がユーザと対話装置との間で実行されるように、対話システムはシナリオ対話システムにおいて用いられている技術により決定したシナリオ発話の発話内容を表す音声をスピーカから出力する。また、例えば、第二発話を雑談対話システムにおいて用いられている技術により生成した場合には、ユーザの発話に基づいて雑談対話システムにおいて用いられている技術により決定した雑談発話の発話内容を表す音声をスピーカから出力する。以降の発話を行うロボットは、何れか１つの人型ロボットであってもよいし、複数の人型ロボットであってもよい。
【０１５８】
以下、この実施形態の対話システムとユーザとによる対話内容の具体例を示す。具体例の記述方法は上述の実施形態と同様である。
【０１５９】
Ｈ：「お腹がぐるぐるするー」
Ｒ１→Ｈ：「へー」（※１）
Ｒ２→Ｈ：「お腹空いたからラーメンが食べたい」（※２）
【０１６０】
※１は対話成立発話である。相槌（「へー」）のみを行い、ユーザの発話を理解していることを示している。※２は第二発話である。ユーザの発話に含まれる「お腹」に対応した発話を返答している。なお、※１以降の人型ロボットの発話は、発話する人型ロボットが逆でもよいし、話しかける相手が人間でも他のロボットでも人間と他のロボットの両方でもよい。
【０１６１】
上記の実施形態では、対話システムがユーザの発話に対して常に対話成立発話と第二発話とを出力する例を説明した。しかし、対話システムがユーザ発話に対する返答を生成できない場合や対話システムが決定したユーザ発話に対する返答が適当な内容でない場合、すなわち、生成対象発話の内容を表すテキストに関連させて生成した発話候補のテキストが所定の基準を満たさなかった場合のみに、対話システムの提示部が対話成立発話と第二発話とを提示するように構成してもよい。
【０１６２】
この構成では、発話決定部３は、まず、生成対象発話の内容を表すテキストに関連する発話候補のテキストを生成する。発話決定部３は、次に、発話候補のテキストが所定の基準を満たすかを判定する。発話候補のテキストが所定の基準を満たさなかった場合には、発話決定部３は、対話成立発話の内容を表すテキストを決定する。また、発話候補のテキストが所定の基準を満たさなかった場合には、生成対象発話の内容を表すテキストのうちの発話候補を生成する際に関連させた語より少ない語に関連する発話のテキストを生成して、生成された発話のテキストを第二発話のテキストとする。一例として、生成対象発話がL語を含む場合の発話決定部３の動作を説明する。発話決定部３は、まず、L語のうちM語を用いて発話候補のテキストを生成する。発話決定部３は、次に、発話候補のテキストが所定の基準を満たすかを判定する。発話候補のテキストが所定の基準を満たさなかった場合に、発話決定部３は、対話成立発話の内容を表すテキストを出力する。また、発話候補のテキストが所定の基準を満たさなかった場合には、発話決定部３は、生成対象発話の内容を表すテキストに含まれるL語のうちM語よりも少ないN語を用いて発話のテキストを生成して、その生成された発話のテキストを第二発話のテキストとして出力する。ここで、Nは1以上の整数であり、M,Lは2以上の整数であり、N<M≦Lの関係を満たすものとする。
【０１６３】
また、例えば、発話決定部３を、すなわち、生成対象発話の内容を表すテキストに関連させて生成した発話候補のテキストが所定の基準を満たさなかった場合に、一旦相槌等の対話成立発話により対話を成立させた後、所定の基準を満たさなかった発話候補であってもそのまま第二発話として出力する構成としてもよい。この構成では、例えば、発話決定部３は、まず、生成対象発話の内容を表すテキストに関連する発話候補のテキストを生成する。発話決定部３は、次に発話候補のテキストが所定の基準を満たすかを判定する。発話候補のテキストが所定の基準を満たさなかった場合には、発話決定部３は、対話成立発話の内容を表すテキストを決定する。また、発話候補のテキストが所定の基準を満たさなかった場合には、発話決定部３は、発話候補のテキストを第二発話のテキストとしてそのまま出力する。発話決定部３は、次に、発話候補のテキストが所定の基準を満たすかを判定する。発話候補のテキストが所定の基準を満たさなかった場合には、発話決定部３は、対話成立発話の内容を表すテキストを決定する。
【０１６４】
また、ユーザ発話の一部または全部により構成される発話などのユーザ発話の少なくとも一部を含む発話を対話成立発話としてもよい。すなわち、発話決定部３が、ユーザ発話の内容を表すテキストの少なくとも一部を含む発話を対話成立発話のテキストとして決定するように対話システムを構成してもよい。この構成における対話システムとユーザとによる対話内容の具体例を示す。
【０１６５】
Ｈ：「博多で食べたとんこつラーメンがめっちゃ美味しかったよ」
Ｒ（１→Ｈ）：「ラーメン」（※１）
Ｒ（２→Ｈ）：「お腹空いたからラーメンが食べたい」（※２）
【０１６６】
※１は対話成立発話であり、※２は第二発話である。この具体例では、対話システムは、人の発話に含まれる一部の単語（「ラーメン」）のみを対話成立発話として提示することでユーザの発話を理解していることを示した上で、ユーザの発話に含まれる「ラーメン」に対応した返答を第二発話として提示している。すなわち、この具体例では、発話決定部３が、ユーザ発話の内容を表すテキストに含まれる１つの単語を対話成立発話のテキストとして決定する。
【０１６７】
この構成における対話システムとユーザとによる対話内容の別の具体例を示す。
【０１６８】
Ｈ：「博多で食べたとんこつラーメンがめっちゃ美味しかったよ」
Ｒ（１→Ｈ）：「とんこつラーメン美味しいよね」（※１）
Ｒ（２→Ｈ）：「お腹空いたからラーメンが食べたい」（※２）
【０１６９】
※１は対話成立発話であり、※２は第二発話である。この具体例では、対話システムは、人の発話のテキストに含まれる一部の内容語（「とんこつラーメン」「美味しい」）を含み、かつ、人の発話に同意する発話を対話成立発話として提示することでユーザの発話を理解していることを示した上で、ユーザの発話に含まれる「ラーメン」に対応した返答を第二発話として提示している。すなわち、この具体例では、発話決定部３が、ユーザ発話の内容を表すテキストに含まれる一部の単語を含む発話、より具体的には、人の発話のテキストに含まれる一部の内容語を含み、かつ、人の発話に同意する発話を、対話成立発話のテキストとして決定する。
【０１７０】
この構成における対話システムとユーザとによる対話内容の別の具体例を示す。
【０１７１】
Ｈ：「博多で食べたとんこつラーメンがめっちゃ美味しかったよ」
Ｒ（１→Ｈ）：「博多で食べたんだ」（※１）
Ｒ（２→Ｈ）：「お腹空いたからラーメンが食べたい」（※２）
【０１７２】
※１は対話成立発話であり、※２は第二発話である。この具体例では、対話システムは、人の発話のテキストに含まれる一部の内容語（「博多」「食べる」）を含み、かつ、人の発話に同意する発話を対話成立発話として提示することでユーザの発話を理解していることを示した上で、ユーザの発話に含まれる「ラーメン」に対応した返答を第二発話として提示している。すなわち、この具体例では、発話決定部３が、ユーザ発話の内容を表すテキストに含まれる一部の単語を含む発話、より具体的には、人の発話のテキストに含まれる一部の内容語を含み、かつ、人の発話に同意する発話を、対話成立発話のテキストとして決定する。
【０１７３】
なお、上記の具体例では、ユーザ発話の少なくとも一部を含む発話を対話成立発話とする例を示したが、ユーザ発話の少なくとも一部を含む発話に含まれる語を上位語に置き換えて得られる発話、すなわち、ユーザ発話の一部の上位語を含む発話、を対話成立発話としてもよい。この場合は、例えば、発話決定部３は、ユーザ発話の内容を表すテキストの少なくとも一部の語の上位語を取得し、当該上位語を含む発話文のテキストを得て、得られた発話文のテキストを対話成立発話のテキストとして決定する。
【０１７４】
以上の具体例でも説明したように、要するに、この実施形態における対話成立発話は、対話システムがユーザの発話を受け止めたとユーザに感じさせるよう、ユーザ発話の一部または全部を実質的に反復する発話であり、すなわち、ユーザが同意しやすい発話である。なお、ユーザ発話に含まれる単語数が多い場合には、対話成立発話を、ユーザ発話の全部を含まずにユーザ発話の一部を実質的に反復する発話とすることにより、ユーザが同意しやすい発話であり、かつ、単なるオウム返しとユーザに感じさせない程度に情報量を抑えた発話を対話システムが行うことができる。なお、ユーザ発話が十分に短い場合は、対話システムがユーザ発話を単に繰り返したりユーザ発話の上位語を発話したりしても、すなわち、ユーザ発話の全部を実質的に繰り返しても、提示する情報量は少ないため、ユーザにオウム返しとは捉えられない。
【０１７５】
対話成立発話の内容を表すテキストは、発話決定部３が、例えば、あらかじめ定められ発話決定部３内の図示しない記憶部に記憶された定型文から任意に選択することにより決定する。なお、相槌やフィラーなどの内容語を含まない発話と、ユーザ発話の少なくとも一部を含む発話と、を含む発話を、対話成立発話としてもよい。
【０１７６】
なお、対話システムが複数の人型ロボットを含む構成において、ユーザ発話がある人型ロボットの発話に対する発話である場合には、何れの人型ロボットにも対話成立発話を提示させることなく、ユーザ発話の元となる発話をした人型ロボットとは別の人型ロボットが第二発話を提示する構成としてもよい。例えば、対話システムが人型ロボット５−１と５−２を含む構成において、ユーザ発話が人型ロボット５−１の発話に対する発話である場合には、人型ロボット５−１にも人型ロボット５−２にも対話成立発話を提示させることなく、人型ロボット５−２が第二発話を提示する構成としてもよい。この構成とする場合は、発話決定部３は、第二発話のテキストを決定すればよく、対話成立発話のテキストを決定しなくてもよい。
【０１７７】
発話候補の内容が適切であるかを判定するための所定の基準は、例えば、１．ユーザ発話の文脈との不一致、２．常識的知識の欠如、３．時制や事実性の不一致、の何れでもないことである。以下、それぞれの基準について、具体例を挙げて詳しく説明する。
【０１７８】
１．ユーザ発話の文脈との不一致とは、生成対象発話の内容を表すテキストに基づいて生成した発話候補のテキストが、ユーザ発話のテキストの文脈と一致しない場合のことである。ユーザ発話の文脈との不一致の具体例を以下に挙げる。
【０１７９】
Ｈ：「明日は寒くなるみたいだから、コート着なきゃ」
Ｒ１→Ｈ：「今年のコートの流行はチェスターコートだよ」
【０１８０】
この例では、ユーザは「コートを着る理由」を発話しているのに対して、ロボットは「コートの流行」について発話しており、文脈が一致していない。具体的な判定方法としては、発話決定部３が、ユーザ発話のテキストと生成した発話候補のテキストとで、単語（名詞以外を含む）、名詞句、述語項構造を含めて単位とし、話題の連続性を評価することにより行う。例えば、発話決定部３が、話題の連続性の指標値が、発話決定部３内の図示しない記憶部に予め記憶した閾値よりも話題の連続性が低い場合に、発話候補のテキストがユーザ発話の文脈と不一致であると判定する。話題の連続性の評価には、話題を構成する単語同士の単語間距離や、公知の対話破綻検出技術（例えば、上記参考文献３参照）を用いることができる。
【０１８１】
２．常識的知識の欠如は、生成対象発話の内容を表すテキストに基づいて生成した発話候補のテキストが、例えば、常識的な事項に関する質問であるなど、常識的な知識が欠如している印象を与える場合である。このような場合、ユーザは対話システムに対する信頼を失うため、ユーザが対話を止めてしまうおそれがある。常識的知識の欠如の具体例を以下に挙げる。
【０１８２】
Ｈ：「明日は寒くなるみたいだから、コート着なきゃ」
Ｒ１→Ｈ：「寒いとコートを着るんだね」
【０１８３】
この例では、ロボットが「寒いとコートを着る」という人間にとって常識的な事柄について質問をしており、常識的な知識が欠如している印象を与える。具体的な判定方法としては、発話決定部３が、発話候補のテキストを構成する焦点語の組み合わせ（上記の例では「寒い」「コート」「着る」）を、事前に収集して発話決定部３内の図示しない記憶部に記憶した大量のテキスト中から検索し、その出現数が発話決定部３内の図示しない記憶部にあらかじめ記憶した閾値より大きく、かつ、発話候補のテキストが相手に対する確認を意図する内容である場合に、発話候補のテキストは常識的知識が欠如しているものであると判断する。焦点語を検索するために、事前に収集して発話決定部３内の図示しない記憶部に記憶しておくテキストは、例えばTwitter（登録商標）などウェブ上から収集したものであればよい。
【０１８４】
３．時制や事実性の不一致は、ユーザ発話のテキストと生成された発話候補のテキストとで時制や事実性が一致しない場合である。時制や事実性の不一致の具体例を以下に挙げる。
【０１８５】
Ｈ：「昨日は寒くなったから、ダウンを出してきたよ」
Ｒ１→Ｈ：「ダウンを出したいの？」
【０１８６】
この例では、ユーザは「ダウンを出した」という過去のイベントについて発話しているのに対して、ロボットは「ダウンを出したいの？」と完了したイベントについて発生の希望を尋ねており、時制も事実性も一致していない。具体的な判定方法としては、例えば、発話決定部３が、ユーザ発話のテキストと生成された発話候補のテキストとにおいて、述語項構造で表現される発話中のイベントの時制や事実性が異なる場合、もしくは、あらかじめ定めたルールに合致しない場合、時制や事実性の不一致と判断する。
【０１８７】
＜変形例＞
上述した実施形態では、エージェントとしてロボットを用いて音声による対話を行う例を説明したが、上述した実施形態のロボットは身体等を有する人型ロボットであっても、身体等を有さないロボットであってもよい。また、この発明の対話技術はこれらに限定されず、人型ロボットのように身体等の実体がなく、発声機構を備えないエージェントを用いて対話を行う形態とすることも可能である。そのような形態としては、例えば、コンピュータの画面上に表示されたエージェントを用いて対話を行う形態が挙げられる。より具体的には、「LINE」（登録商標）や「２ちゃんねる」（登録商標）のような、複数アカウントがテキストメッセージにより対話を行うグループチャットにおいて、ユーザのアカウントと対話装置のアカウントとが対話を行う形態に適用することも可能である。この形態では、エージェントを表示する画面を有するコンピュータは人の近傍にある必要があるが、当該コンピュータと対話装置とはインターネットなどのネットワークを介して接続されていてもよい。つまり、本対話システムは、人とロボットなどの話者同士が実際に向かい合って話す対話だけではなく、話者同士がネットワークを介してコミュニケーションを行う会話にも適用可能である。
【０１８８】
変形例の対話システム２０は、図７に示すように、入力部１、発話決定部３、および提示部５を備える。図７の例では、変形例の対話システム２０は１台の対話装置２１からなり、変形例の対話装置２１は、入力部１、発話決定部３、および提示部５を備える。
【０１８９】
変形例の対話装置は、例えば、スマートフォンやタブレットのようなモバイル端末、もしくはデスクトップ型やラップトップ型のパーソナルコンピュータなどの情報処理装置である。以下、対話装置がスマートフォンであるものとして説明する。提示部５はスマートフォンが備える液晶ディスプレイである。この液晶ディスプレイにはチャットアプリケーションのウィンドウが表示され、ウィンドウ内にはグループチャットの対話内容が時系列に表示される。グループチャットとは、チャットにおいて複数のアカウントが互いにテキストメッセージを投稿し合い対話を展開する機能である。このグループチャットには、対話装置が制御する仮想的な人格に対応する複数の仮想アカウントと、ユーザのアカウントとが参加しているものとする。すなわち、本変形例は、エージェントが、対話装置であるスマートフォンの液晶ディスプレイに表示された仮想アカウントである場合の一例である。ユーザはソフトウェアキーボードを用いて入力部１へ発話内容を入力し、自らのアカウントを通じてグループチャットへ投稿することができる。発話決定部３はユーザのアカウントからの投稿に基づいて対話装置からの発話内容を決定し、各仮想アカウントを通じてグループチャットへ投稿する。なお、スマートフォンに搭載されたマイクロホンと音声認識機能を用い、ユーザが発声により入力部１へ発話内容を入力する構成としてもよい。また、スマートフォンに搭載されたスピーカと音声合成機能を用い、各対話システムから得た発話内容を、各仮想アカウントに対応する音声でスピーカから出力する構成としてもよい。
【０１９０】
なお、エージェントの発話が提示部５（ディスプレイ）に同時に表示されると、対話が活発である、あるいは盛り上がっている、と好意的に感じられる可能性がある一方、ユーザが一度に読み切れないほどの量のテキストが提示されると、ユーザが対話を継続しにくく感じる可能性があるため、ユーザに認知負荷をかけられない場面、落ち着いた雰囲気が求められる場面など、使用される状況に応じて、発話を順次表示することにしてもよい。なお、順次表示する場合には、所定の時間間隔を開けて表示してもよい。時間間隔は固定であっても可変であってもよい。
【０１９１】
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【０１９２】
［プログラム、記録媒体］
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【０１９３】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１９４】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１９５】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１９６】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【０１９７】
１  入力部
２  音声認識部
３  発話決定部
４  音声合成部
５  提示部
１０、２０  対話システム
１１、２１  対話装置
【図１】
0006551793.tif 000002
【図２】
0006551793.tif 000003
【図３】
0006551793.tif 000004
【図４】
0006551793.tif 000005
【図５】
0006551793.tif 000006
【図６】
0006551793.tif 000007
【図７】
0006551793.tif 000008