(57)【要約】  対話システムが行う対話方法は、対話システムが、人の発話の入力を受け付ける発話受付ステップと、対話システムが、人の発話に対する発話である第１発話を決定する第１発話決定ステップと、対話システムが、第１発話を提示する第１発話提示ステップと、対話システムが、第１発話に対する人の反応を取得する反応取得ステップと、対話システムが、人の反応が、第１発話が人の発話に対応するものではないことを示す反応である場合に、第１発話が人の発話に対応するものではない旨を表出する行動の内容である行動内容を決定する行動決定ステップと、対話システムが、行動内容の行動を行う行動ステップと、を含む。
2017200077.tif 000002
【特許請求の範囲】
【請求項１】
対話システムが行う対話方法であって、
前記対話システムが、人の発話の入力を受け付ける発話受付ステップと、
前記対話システムが、前記人の発話に対する発話である第１発話を決定する第１発話決定ステップと、
前記対話システムが、前記第１発話を提示する第１発話提示ステップと、
前記対話システムが、前記第１発話に対する前記人の反応を取得する反応取得ステップと、
前記対話システムが、前記人の反応が、前記第１発話が前記人の発話に対応するものではないことを示す反応である場合に、前記第１発話が前記人の発話に対応するものではない旨を表出する行動の内容である行動内容を決定する行動決定ステップと、
前記対話システムが、前記行動内容の行動を行う行動ステップと、を含む、
対話方法。
【請求項２】
請求項１の対話方法であって、
前記対話システムは第１エージェントと第２エージェントとを含み、
前記第１発話提示ステップにおいて、前記第１エージェントが前記第１発話を提示し、
前記行動内容は、前記第１発話が前記人の発話に対応するものではない旨の発話である第２発話の内容を示し、
前記行動内容の行動は、前記第２エージェントが前記第２発話を提示することである、
対話方法。
【請求項３】
請求項１の対話方法であって、
前記対話システムは第１エージェントを含み、
前記第１発話提示ステップにおいて、前記第１エージェントが前記第１発話を提示し、
前記行動内容は、前記第１発話が前記人の発話に対応するものではない旨の発話である第２発話の内容を示し、
前記行動内容の行動は、前記第１エージェントが前記第２発話を提示することである、
対話方法。
【請求項４】
請求項１の対話方法であって、
前記対話システムは第１エージェントと第２エージェントとを含み、
前記第１発話提示ステップにおいて、前記第１エージェントが前記第１発話を提示し、
前記行動内容は、前記第１発話が前記人の発話に対応するものではない旨を、前記第１発話を行った者以外が表す非言語コミュニケーションである第２非言語コミュニケーションの内容を示し、
前記行動内容の行動は、前記第２エージェントが前記第２非言語コミュニケーションを行うことである、
対話方法。
【請求項５】
請求項１の対話方法であって、
前記対話システムは第１エージェントを含み、
前記第１発話提示ステップにおいて、前記第１エージェントが前記第１発話を提示し、
前記行動内容は、前記第１発話が前記人の発話に対応するものではない旨を、前記第１発話を行った者自身が表す非言語コミュニケーションである第２非言語コミュニケーションの内容を示し、
前記行動内容の行動は、前記第１エージェントが前記第２非言語コミュニケーションを行うことである、
対話方法。
【請求項６】
人の発話の入力を受け付ける発話受付部と、
前記人の発話に対する発話である第１発話を決定する第１発話決定部と、
前記第１発話を提示する第１発話提示部と、
前記第１発話に対する前記人の反応を取得する反応取得部と、
前記人の反応が、前記第１発話が前記人の発話に対応するものではないことを示す反応である場合に、前記第１発話が前記人の発話に対応するものではない旨を表出する行動の内容である行動内容を決定する行動決定部と、
前記行動内容の行動を行う行動部と、を含む、
対話システム。
【請求項７】
入力された人の発話に対する発話であり、前記人に対して提示するための発話である第１発話を決定する第１発話決定部と、
前記第１発話に対する前記人の反応を取得する反応取得部と、
前記第１発話に対する前記人の反応が、前記第１発話が前記人の発話に対応するものではないことを示す反応である場合に、前記第１発話が前記人の発話に対応するものではない旨を前記人に対して表出する行動の内容である行動内容を決定する行動決定部と、を含む、
対話装置。
【請求項８】
請求項６の対話システムとしてコンピュータを機能させるためのプログラム。
【請求項９】
請求項７の対話装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、人とコミュニケーションを行うロボットなどに適用可能な、コンピュータが人間と自然言語を用いて対話を行う技術に関する。
【背景技術】
【０００２】
近年、人とコミュニケーションを行うロボットの研究開発が進展しており、様々な現場で実用化されてきている。例えば、コミュニケーションセラピーの現場において、ロボットが孤独感を抱える人の話し相手となる利用形態がある。具体的には、老人介護施設においてロボットが入居者の傾聴役となることで、入居者の孤独感を癒す役割を担うことができると共に、ロボットとの会話している姿を見せ、入居者とその家族や介護士など周りの人々との会話のきっかけを作ることができる。また、例えば、コミュニケーション訓練の現場において、ロボットが練習相手となる利用形態がある。具体的には、外国語学習施設においてロボットが外国語学習者の練習相手となることで、外国語学習を効率的に進めることができる。また、例えば、情報提示システムとしての応用において、ロボット同士の対話を聞かせることを基本としながら、時折人に話しかけることで、退屈させずに人を対話に参加させ、人が受け入れやすい形で情報を提示することができる。具体的には、街中の待ち合わせ場所やバス停、駅のホームなどで人が時間を持て余している際や、自宅や教室などで対話に参加する余裕がある際に、ニュースや商品紹介、蘊蓄及び知識紹介、教育（例えば、子供の保育及び教育、大人への一般教養教授、モラル啓発など）など、効率的な情報提示が期待できる。さらに、例えば、情報収集システムとしての応用において、ロボットが人に話しかけながら情報を収集する利用形態がある。ロボットとのコミュニケーションにより対話感を保持できるため、人に聴取されているという圧迫感を与えずに情報収集することができる。具体的には、個人情報調査や市場調査、商品評価、推薦商品のための趣向調査などに応用することが想定されている。このように人とロボットのコミュニケーションは様々な応用が期待されており、ユーザとより自然に対話を行うロボットの実現が期待される。また、スマートフォンの普及により、LINE(登録商標)のように、複数ユーザでほぼリアルタイムにチャットを行うことにより、ユーザ間での会話を楽しむチャットサービスも実施されている。このチャットサービスにユーザとロボットとの会話の技術を適用すれば、チャット相手となるユーザがいなくても、ユーザとより自然に会話を行うチャットサービスの実現が可能となる。本明細書では、これらのサービスで用いられるロボットやチャット相手などのユーザの対話相手となるハードウェアやユーザの対話相手となるハードウェアとしてコンピュータを機能させるためのコンピュータソフトウェアなどを総称してエージェントと呼ぶこととする。エージェントは、ユーザの対話相手となるものであるため、ロボットやチャット相手などのように擬人化されていたり、人格化されていたり、性格や個性を有していたりするものであってもよい。【０００３】
これらのサービスの実現のキーとなるのは、ハードウェアやコンピュータソフトウェアにより実現されるエージェントが人間と自然に対話を行うことができる技術である。【０００４】
対話システムの従来技術として非特許文献１，２が知られている。非特許文献１では、所定のシナリオに沿って発話を生成する。非特許文献２では、一つ以上前の人または対話システムの発話からのみに基づいて次の発話を生成する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】有本庸浩，吉川雄一郎，石黒浩，“複数体のロボットによる音声認識なし対話の印象評価”，日本ロボット学会学術講演会，2016年
【非特許文献２】杉山弘晃，目黒豊美，東中竜一郎，南泰浩，“任意の話題を持つユーザ発話に対する係り受けと用例を利用した応答文の生成”，人工知能学会論文誌，vol.30(1)，pp. 183-194，2015年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、現在の対話システムは、しばしばユーザ発話に対して妥当ではないシステム発話をすることがある（参考文献１）。こうしたシステム発話に対する次の発話を考えることは人間にとっても容易では無い。さらに、対話システムに対話を続ける意思がないとユーザを失望させてしまうため、対話を破綻させてしまう可能性がある。対話破綻を回避するため、こうした破綻発話を発話する前に検知したいが、完全に検知することは難しい（参考文献２）。なお、破綻発話とは、ユーザ発話に対して妥当ではないシステム発話のことであり、ユーザの発話に対応するものではないシステム発話を意味する。
（参考文献１）：東中 竜一郎、船越 孝太郎、荒木 雅弘、塚原 裕史、小林 優佳、水上 雅博、「Project Next NLP 対話タスク：雑談対話データの収集と対話破綻アノテーションおよびその類型化」、言語処理学会年次大会、２０１５
（参考文献２）：杉山 弘晃、「異なる特性を持つデータの組み合わせによる雑談対話の破綻検出」、第75回 人工知能学会 言語・音声理解と対話処理研究会（SIG-SLUD）第6回対話システムシンポジウム、２０１５【０００７】
また、従来の対話システムでは、対話システム自身が対話を破綻させた認識を持つことなく対話を進めようとする。そのため、ユーザに対話システムが対話の内容を理解せずに対話している印象を与えてしまう。【０００８】
本発明は、破綻発話をシステム発話後に検知し、そのことを考慮した上で次の行動を決定することで、ユーザに対話システムが対話の内容を理解して対話している印象を与える対話方法、対話システム、対話装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の一態様によれば、対話システムが行う対話方法は、対話システムが、人の発話の入力を受け付ける発話受付ステップと、対話システムが、人の発話に対する発話である第１発話を決定する第１発話決定ステップと、対話システムが、第１発話を提示する第１発話提示ステップと、対話システムが、第１発話に対する人の反応を取得する反応取得ステップと、対話システムが、人の反応が、第１発話が人の発話に対応するものではないことを示す反応である場合に、第１発話が人の発話に対応するものではない旨を表出する行動の内容である行動内容を決定する行動決定ステップと、対話システムが、行動内容の行動を行う行動ステップと、を含む。【００１０】
上記の課題を解決するために、本発明の他の態様によれば、対話システムは、人の発話の入力を受け付ける発話受付部と、人の発話に対する発話である第１発話を決定する第１発話決定部と、第１発話を提示する第１発話提示部と、第１発話に対する人の反応を取得する反応取得部と、人の反応が、第１発話が人の発話に対応するものではないことを示す反応である場合に、第１発話が人の発話に対応するものではない旨を表出する行動の内容である行動内容を決定する行動決定部と、行動内容の行動を行う行動部と、を含む。【００１１】
上記の課題を解決するために、本発明の他の態様によれば、対話装置は、入力された人の発話に対する発話であり、人に対して提示するための発話である第１発話を決定する第１発話決定部と、第１発話に対する人の反応を取得する反応取得部と、第１発話に対する人の反応が、第１発話が人の発話に対応するものではないことを示す反応である場合に、第１発話が人の発話に対応するものではない旨を人に対して表出する行動の内容である行動内容を決定する行動決定部と、を含む。
【発明の効果】
【００１２】
本発明によれば、対話システムが対話の内容を理解して対話している印象をユーザに与えることができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】第一実施形態に係る対話システムの対話例を示す図。
【図２】第一実施形態に係る対話システムの機能ブロック図。
【図３】第一実施形態に係る対話システムの処理フローの例を示す図。
【図４】変形例３に係る対話システムを示す図。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。
【００１５】
＜第一実施形態のポイント＞
本実施形態では、破綻の検出に、システム発話の内容のみではなく、システム発話を聞いたユーザの表情などの変化を利用する。システム発話の内容のみからその発話前に破綻を検出するには複雑な意味構造を理解する必要があるが、ユーザの反応を破綻の検出に組み込むことで破綻をより確実に検出できる。
【００１６】
一方、上述の方法で破綻発話を検出するには、実際に対話システムが発話してユーザの反応を観測し、観測されたユーザの反応から対話システムの発話が破綻発話であったかを検出することになる。このとき、対話システムが破綻発話をしたことをユーザが認識してしまう。そのため、対話システムが破綻発話を発話した後のユーザへのフォローが重要となる。
【００１７】
図１は、本実施形態に係る対話システムとユーザとの対話例を示す。なお、t(v)はv番目の言語コミュニケーション(発話)または非言語コミュニケーションを意味し、Ｘ→ＹはＸからＹに対して発話していることを意味する。
【００１８】
本実施形態の対話システムは、破綻させた事自体を話題にする等により、「破綻させたこと」を対話システムが認識していることをユーザに表明する(図１のCase1〜Case6)。この表明により、ユーザに対して、対話システムが正しく自身の発話内容を理解しており、かつユーザの振る舞いに敏感であると示すことができる。そのため、対話におけるユーザの満足度が向上すると考えられる。
【００１９】
さらに、ロボットが2体ある場合には、破綻していること自体をロボット間で話題にすることで、破綻発話を発話していない側のロボットがより賢いロボットであるとの印象をユーザに持たせることできる。さらに、対話システムが対話の内容を理解して対話している印象をユーザに与えることができる(図１のCase1〜Case4)。
【００２０】
また、「破綻させたこと」を対話システムが認識していることを一方のロボットがユーザに表明した後に、破綻発話と異なる発話を他方のロボットが行う(図１のCase4)。または、話題転換語を前置して破綻発話とは異なる発話を行う(図１のCase7)。これらにより、対話システムは、対話システムが対話の内容を理解せずに対話しているとのユーザの印象、すなわち、ロボットに対するユーザの失望、を軽減することができる。裏返せば、対話システムは、対話システムが対話の内容を理解して対話している印象をユーザに与えることができる。
【００２１】
また、破綻発話を発話していない側のロボットが破綻発話の内容を無視して、ユーザとの間で対話を進めることで、対話システム全体に対するユーザの失望を軽減することができる(図１のCase8など)。裏返せば、対話システムが対話の内容を理解して対話している印象をユーザに与えることができる。
【００２２】
加えて、2体のロボットが互いにフォローしあうため、破綻発話を一度しても対話そのものは破綻しにくい(図１のCase4,Case8)。それを利用し、ユーザ発話に対するロボットの発話として通常であれば1bestで生成する発話を2bestまたは4bestなどの複数候補を生成し、複数候補のうちの１つをユーザ発話に対するロボットの発話とし、複数候補のうちの別のものをロボットの発話が破綻発話であった場合にロボットが行う発話としてもよい。この場合は、類似した候補を選択するよりも、発話間類似度が小さい候補を選択した方が破綻しにくい可能性がある。さらに、複数候補を生成する段階で、あらかじめ発話間類似度が小さくなるように候補を生成する方法も考えられる。
【００２３】
以下、具体例１ではロボットＲ１が対話を破綻させたこと、または、破綻させた可能性があることを、ロボットＲ２が表出する例を示す。
【００２４】
具体例１：
t(1)：  ユーザ→Ｒ１，Ｒ２:「最近ライオンキング（登録商標）見に行ったら、子役の子たちがすごかったです」
t(2)：  Ｒ１→ユーザ:「メスが狩りをするらしいですね」（「ライオン」に反応した破綻発話）
ロボットＲ１の発話t(2)に対するユーザの反応の認識結果が「ロボットＲ１の発話t(2)がユーザの発話t(1)に対応するものではない（ロボットＲ１が破綻させた）」というものであった場合に、ロボットＲ２が「ロボットＲ１の発話がユーザの発話に対応するものではない」旨を表出する行動を行う。
【００２５】
Case1:
t(3)：  Ｒ２→Ｒ１：「何言ってるの？？」
t(4)：  Ｒ１→ユーザ：「ライオンの話じゃないの？」
Case2:
t(3)：  Ｒ２→ユーザ：「何言ってんだろうねー」
Case3:
t(3)：  Ｒ２：ためいき
Case1では、ロボットＲ２が、ロボットＲ１に対する発話として、ロボットＲ１が破綻させたこと、または、ロボットＲ１が破綻させた可能性を、発話t(3)で明言する。
【００２６】
Case2では、ロボットＲ２が、ユーザに対する発話として、ロボットＲ１が破綻させたこと、または、ロボットＲ１が破綻させた可能性を、発話t(3)で明言する。
【００２７】
Case3では、発話t(2)を行った者以外（この例では、発話t(2)を行ったロボットＲ１以外のロボットであるロボットＲ２）が、何れに対する発話でもない発話(この例では、発話t(1),t(2)の何れにも対応しない発話)または意思表出として、ロボットＲ１が破綻させたこと、または、ロボットＲ１が破綻させた可能性を、非言語コミュニケーションt(3)で明示する。この例では、ロボットＲ１の発話がユーザの発話に対応するものではない旨を表出する行動として、ロボットＲ２がt(3)でため息をつく。
【００２８】
以下、具体例２ではロボットＲ１が対話を破綻させたこと、または、破綻させた可能性があることを、ロボットＲ１自身が表出する例を示す。
【００２９】
具体例２：
t(1)：  ユーザ→Ｒ１，Ｒ２:「最近ライオンキング見に行ったら、子役の子たちがすごかったです」
t(2)：  Ｒ１→ユーザ:「メスが狩りをするらしいですね」（「ライオン」に反応した破綻発話）
ロボットＲ１の発話t(2)に対するユーザの反応の認識結果が「ロボットＲ１の発話t(2)がユーザの発話t(1)に対応するものではない（ロボットＲ１が破綻させた）」というものであった場合に、ロボットＲ１が「ロボットＲ１の発話がユーザの発話に対応するものではない」旨を表出する行動を行う。
【００３０】
Case4:
t(3)：  Ｒ１→Ｒ２「あれ？何か変なこと言った？？」
t(4)：  Ｒ２→ユーザ「その話じゃないよねえ。子役の話だよね」
Case5:
t(3)：  Ｒ１→ユーザ「あれ？違いました？」
Case6:
t(3)：  Ｒ１：首を横に振る仕草
Case4では、ロボットＲ１が、ロボットＲ２に対する発話として、ロボットＲ１が破綻させたこと、または、ロボットＲ１が破綻させた可能性を、発話t(3)で明言する。Case4では、さらに、ロボットＲ２が、ユーザに対する発話として、発話t(2)とは異なる発話t(4)を行うことで、ユーザ発話に対する対話を継続する。
【００３１】
Case5では、ロボットＲ１が、ユーザに対する発話として、ロボットＲ１が破綻させたこと、または、ロボットＲ１が破綻させた可能性を、発話t(3)で明言する。
【００３２】
Case6では、発話t(2)を行った者自身（この例では、ロボットＲ１）が、何れに対する発話でもない発話(この例では、発話t(1),t(2)の何れにも対応しない発話)または意思表出として、ロボットＲ１が破綻させたこと、または、ロボットＲ１が破綻させた可能性を、非言語コミュニケーションt(3)で明示する。この例では、ロボットＲ１の発話がユーザの発話に対応するものではない旨を表出する行動として、ロボットＲ２がt(3)で首を横に振る仕草を行う。
【００３３】
なお、このCase5,Case6では、ロボットＲ２は発話しないため、対話システムはロボットＲ１のみを含む構成としてもよい。言い換えると、ロボット１体でも対話システムとして成立する。
【００３４】
具体例２のCase4では、ロボットＲ１が対話を破綻させたこと、または、破綻させた可能性があることについて、対話システムが明言した上で、対話を継続する例を示したが、以下、具体例３ではロボットＲ１が対話を破綻させたこと、または、破綻させた可能性があることについて、対話システムが明言せずに対話を継続する例を示す。具体例３では、対話システムが対話の内容を理解して対話している印象をユーザに与えるため、対話システムは、破綻させた発話と異なる発話をすることで、ユーザ発話に対する対話を継続する。具体的には、話題転換語を付した発話をしたり、破綻発話をしたロボットとは別のロボットが破綻発話を無視した発話をすることで、対話システムはユーザ発話に対する対話を継続する。
【００３５】
具体例３：
t(1)：  ユーザ→Ｒ１，Ｒ２:「最近ライオンキング見に行ったら、子役の子たちがすごかったです」
t(2)：  Ｒ１→ユーザ:「メスが狩りをするらしいですね」（「ライオン」に反応した破綻発話）
ロボットＲ１の発話t(2)に対するユーザの反応の認識結果が「ロボットＲ１の発話t(2)がユーザの発話t(1)に対応するものではない（ロボットＲ１が破綻させた）」というものであった場合に、ロボットＲ１、ロボットＲ２はともに破綻を明言せずに対話を継続する。
【００３６】
Case7:
t(3)：  Ｒ２→Ｒ１「あ、そういえばこないだサファリパークに行ったら、ライオンが眠ってたよ」
【００３７】
Case8:
t(3)：  Ｒ２→ユーザ「子役はかわいいですよね」
Case7では、ロボットＲ２が、話題転換語を伴って、ロボットＲ１の破綻発話t(2)ではなくユーザの発話t(1)に関する発話t(3)を行う。「そういえば」などの話題転換語を伴うことで、ユーザの話題からずれていることを表出しつつ、話題を遷移させて対話を継続することができ、ロボットＲ２が対話の内容を理解して対話している印象をユーザに与えることができる。
【００３８】
Case8では、ロボットＲ２が、ロボットＲ１の破綻発話t(2)ではなくユーザの発話t(1)に関する発話t(3)を行う。こうすると、ロボットＲ２がロボットＲ１の発話t(2)を無視して発話t(3)を行い、ユーザは発話t(3)に対応する発話をすることで、対話を継続することができ、ロボットＲ２が対話の内容を理解して対話している印象をユーザに与えることができる。
【００３９】
以下、上述の処理を実現するための構成について説明する。
＜第一実施形態＞
図２は第一実施形態に係る対話システム１００の機能ブロック図を、図３は第一実施形態に係る対話システム１００の処理フローを示す。
【００４０】
対話システム１００は、ロボットＲ１、Ｒ２と、対話装置１９０と、を含む。対話装置１９０は、音声合成部１１０と、発話決定部１２０と、音声認識部１４０と、反応取得部１６０と、行動生成部１７０と、行動部１８０とを含む。ロボットＲ１は提示部１０１−１と入力部１０２−１とを含み、ロボットＲ２は提示部１０１−２と入力部１０２−２とを含む。入力部１０２−１、１０２−２は、ロボットの周囲で発せられた音響信号を収音するものであり、例えばマイクロホンである。提示部１０１−１、１０１−２は、ロボットＲ１、Ｒ２の周囲に音響信号を発するものであり、例えばスピーカである。
【００４１】
対話システム１００は、ユーザである人が２体のロボットであるＲ１とＲ２と対話するためのものであり、ユーザである人の発話に対して対話装置１９０が生成した発話音声をロボットＲ１、Ｒ２が発話するものである。以下、対話システム１００の各部の動作を説明する。
【００４２】
［ロボットＲ１、Ｒ２］
ロボットＲ１とＲ２は、ユーザと対話するためのものであり、ユーザの近くに配置され、対話装置１９０が生成した発話を行う。
【００４３】
［入力部１０２−１、１０２−２］
入力部１０２−１、１０２−２は、ユーザが発話した発話音声を収音して、収音された音声データを音声認識部１４０に出力する。入力部はユーザが発話した発話音声を収音可能とすればよいので、入力部１０２−１、１０２−２の何れか一方を備えないでもよい。また、ユーザの近傍などのロボットＲ１，Ｒ２とは異なる場所に設置されたマイクロホンを入力部とし、入力部１０２−１、１０２−２の双方を備えない構成としてもよい。
【００４４】
［音声認識部１４０］
音声認識部１４０は、入力部１０２−１、１０２−２が得た音声データ(ユーザの発話t(1)、すなわち、人の発話t(1))の入力を受け付け（Ｓ１）、この音声データに対して音声認識を行い（Ｓ２）、認識結果のテキストを発話決定部１２０に出力する。
【００４５】
［発話決定部１２０］
発話決定部１２０は、音声認識部１４０からユーザの発話t(1)に対する音声認識結果のテキストが入力されると、当該ユーザの発話t(1)、すなわち、人の発話t(1)に対する音声認識結果のテキストに少なくとも基づき、当該ユーザの発話t(1)の次に対話システム１００が提示する発話t(2)のテキストを決定し（Ｓ３）、音声合成部１１０に出力する。なお、当該発話を行うロボットも決定してもよく、この場合には、発話するロボットを表す情報も音声合成部１１０に出力する。
【００４６】
なお、発話決定部１２０内には、例えば、参考文献３に記載された「雑談対話システム」と呼ばれる対話システムのように、入力された発話のテキストに含まれる単語をトリガーとして、あらかじめ記述しておいたルールに従って発話のテキストを生成して出力する対話システムが備えられている。発話決定部１２０内に備えられた当該対話システムが、ユーザの発話に対する音声認識結果のテキストに少なくとも基づく発話のテキストを生成して出力する。
（参考文献３）杉山弘晃，目黒豊美，東中竜一郎，南泰浩，“任意の話題を持つユーザ発話に対する係り受けと用例を利用した応答文の生成”，人工知能学会論文誌，vol. 30(1)，pp. 183-194，2015年
【００４７】
または、発話決定部１２０内には、例えば、参考文献４に記載された「シナリオ対話システム」と呼ばれる対話システムのように、入力された発話のテキストが対話システム内に予め記憶されたシナリオの選択肢に対応する場合に、その選択肢に対応して予め記憶された発話のテキストを選択して出力する対話システムが備えられている。発話決定部１２０内に備えられた当該対話システムが、予め記憶しているテキストからユーザの発話に対する音声認識結果のテキストに少なくとも基づく発話のテキストを選択して出力する。
（参考文献４）有本庸浩，吉川雄一郎，石黒浩，“複数体のロボットによる音声認識なし対話の印象評価”，日本ロボット学会学術講演会，2016年
【００４８】
［音声合成部１１０］
音声合成部１１０は、発話決定部１２０から入力されたテキスト(発話t(2)のテキスト)に対する音声合成を行って（Ｓ４）合成音声データを得て、得られた合成音声データをロボットＲ１の提示部１０１−１またはロボットＲ２の提示部１０１−２に出力する。テキストと共に発話決定部１２０からテキストと当該テキストを発話するロボットを表す情報が入力された場合には、音声合成部１１０は当該情報に対応するロボットの提示部に対して合成音声データを出力する。
【００４９】
［提示部１０１−１、１０１−２］
提示部１０１−１、１０１−２は、音声合成部１１０から入力された合成音声データ(発話t(2)の合成音声データ)に対応する音声を再生する（Ｓ５）。これにより、ユーザはロボットＲ１またはＲ２の発話を受聴することになり、ユーザと対話システム１００との対話が実現される。
【００５０】
［反応取得部１６０及び行動生成部１７０］
反応取得部１６０は、2番目の発話t(2)に対する人の反応を取得し（Ｓ６）、行動生成部１７０に出力する。
【００５１】
行動生成部１７０は、反応取得部１６０から入力された2番目の発話t(2)に対する人の反応を受け取り、その反応に基づき、発話t(2)がユーザの発話t(1)、すなわち、人の発話t(1)に対応するものか否かを判定する（Ｓ７）。
【００５２】
例えば、発話t(2)がユーザの発話t(1)に対応するものか否かを判定するために、行動生成部１７０は、ユーザの表情などの変化や、フィードバック発話（ため息や「ちがうって」のような発話など、意識的及び無意識的によらず、システム発話に対する印象を表出する発話）などを利用する。例として、表情の変化を利用するための方法を例示する。反応取得部１６０はカメラを含み、ユーザの顔の時系列の画像を取得する。取得した時系列の画像から特徴（例えば、瞳孔の大きさ、目尻の位置、目頭の位置、口角の位置、口の開き具合等）の変化を取得する。この特徴の変化が人の反応に相当する。対話システム１００の利用に先立ち予め、対象者に対して破綻発話を聴取させ、その前後の特徴の変化を行動生成部１７０内の図示しない記憶部に記憶しておく。なお、対象者は特徴の変化のパターンを取得するための対象となるものを意味し、対話システム１００のユーザでもよいし、他のものであってもよい。行動生成部１７０は、行動生成部１７０内の図示しない記憶部に記憶した特徴の変化と、Ｓ６で取得し反応取得部１６０から入力された人の反応（特徴の変化）との類似度を計算する。行動生成部１７０は、類似度と、行動生成部１７０内の図示しない記憶部に記憶した所定の閾値との大小関係に基づき、類似しているか否かを判断する。行動生成部１７０は、類似していると判断したときには、発話t(2)がユーザの発話t(1)に対応するものではないと判定する。例えば、類似度が高いほど類似していることを示す場合には、行動生成部１７０は、類似度が所定の閾値よりも大きいときに類似していると判断し、発話t(2)がユーザの発話t(1)に対応するものではないと判定する。また、フィードバック発話を利用する場合には、入力部１０２−１、１０２−２は、ユーザが発話したフィードバック発話の音声を収音して、収音された音声データを音声認識部１４０に出力する。音声認識部１４０は、入力部１０２−１、１０２−２が得た音声データ(フィードバック発話)の入力を受け付け、この音声データに対して音声認識を行い、認識結果のテキストを行動生成部１７０に出力する。行動生成部１７０は、フィードバック発話の認識結果のテキストが入力されると、例えば、参考文献５において用いられる方法を利用して、システム発話t(2)がユーザの発話t(1)に対応するものか否かを判定する。なお、参考文献５では、フィードバック発話の認識結果のテキストに含まれる単語のNgramや単語クラスの頻度、感情極性の正負とその大きさなどを利用して、システム発話t(2)がユーザの発話t(1)に対応するものか否かの評価値を推定する。例えば、行動生成部１７０は、この評価値と閾値との大小関係に基づき、システム発話t(2)がユーザの発話t(1)に対応するものか否かを判定する。
（参考文献５）水上雅博, et al. "快適度推定に基づく用例ベース対話システム", 人工知能学会論文誌, Vol. 31, No. 1, 2016.
以下、具体例に沿って、処理内容を説明する。
【００５３】
(具体例１、２の場合)
行動生成部１７０は、人の反応が、発話t(2)がユーザの発話t(1)、すなわち、人の発話t(1)に対応するものではないことを示す反応である場合に、発話t(2)がユーザの発話t(1)、すなわち、人の発話t(1)に対応するものではない旨を表出する行動の内容である行動内容を生成し、すなわち、決定し（Ｓ８）、行動部１８０に出力する。
【００５４】
人の反応が、発話t(2)がユーザの発話t(1)に対応するものではないことを示す反応ではない場合（言い換えると、人の反応が、発話t(2)がユーザの発話t(1)に対応するものであることを示す反応である場合）には、従来の対話システムを用いて対話を継続すればよい(例えば、非特許文献２参照)。ここでは、処理の説明を省略する。
【００５５】
人の反応が、発話t(2)がユーザの発話t(1)、すなわち、人の発話t(1)に対応するものではないことを示す反応である場合、行動部１８０は、行動生成部１７０が生成した行動内容を受け取り、行動内容の行動を行う（Ｓ９）。
【００５６】
行動内容は、行動の主体、行動の対象、行動自体等を示す内容である。ただし、対象を必要としない行動の場合には、行動の対象を省略してもよい。例えば、行動の主体として、本実施形態では、ロボットＲ１やロボットＲ２が考えられる。行動の対象としては、ロボットＲ１やロボットＲ２、ユーザ等が考えられる。行動自体としては、言語コミュニケーション(＝発話)や非言語コミュニケーションが考えられる。言語コミュニケーションとは、言葉を使ったコミュニケーションの全てを対象とするのであって、必ずしも音声を伴っている必要はない。非言語コミュニケーションとは、言葉以外の手段によるコミュニケーションのことであり、例えば、顔の表情、顔色、視線、身振り、手振り、体の姿勢などである。
【００５７】
発話t(2)がユーザの発話t(1)、すなわち、人の発話t(1)に対応するものではない旨を表出する言語コミュニケーションとしては、例えば、Case1, Case2, Case4, Case5の発話t(3)の「何言ってるの？？」、「何言ってんだろうねー」、「あれ？何か変なこと言った？？」、「あれ？違いました？」等が考えられる（図１参照）。
【００５８】
発話t(2)がユーザの発話t(1)、すなわち、人の発話t(1)に対応するものではない旨を表出する非言語コミュニケーションとしては、例えば、Case3, Case6のt(3)のため息をつく動作や首を横に振る仕草等が考えられる。
【００５９】
なお、これらはあくまで例示であって、発話t(2)がユーザの発話t(1)、すなわち、人の発話t(1)に対応するものではない旨を表出する行動であれば、他の言語コミュニケーションや非言語コミュニケーションであってもよい。
【００６０】
例えば、Case1, Case2, Case4, Case5の場合には、行動生成部１７０は、発話決定部１２０に制御信号を出力し、以下の動作させることで、行動内容の生成を行う。行動部１８０は、音声合成部１１０に制御信号を出力し、以下の動作させることで、行動内容の行動を行う。
【００６１】
発話決定部１２０は、行動生成部１７０から制御信号を受け取り、Case1, Case2, Case4, Case5の何れかの発話t(3)のテキストを発話決定部１２０内に備えられた対話システムにより生成、または、発話決定部１２０内に備えられた対話システムが予め記憶しているテキストから選択して、音声合成部１１０に出力する。
【００６２】
音声合成部１１０は、行動部１８０から制御信号を受け取り、発話決定部１２０から出力された発話t(3)のテキストを入力とし、発話t(3)のテキストに対して音声合成を行い合成音声データを得て、得られた合成音声データをロボットＲ１の提示部１０１−１(Case4, Case5のとき)またはロボットＲ２の提示部１０１−２(Case1, Case2のとき)に出力する。提示部１０１−１または提示部１０１−２は、音声合成部１１０から入力された発話t(3)のテキストに対応する合成音声データを再生し、発話t(3)を提示する。
【００６３】
Case1, Case4では、さらに、発話決定部１２０は、Case1, Case4の何れかの発話t(4)のテキストを発話決定部１２０内に備えられた対話システムにより生成、または、発話決定部１２０内に備えられた対話システムが予め記憶しているテキストから選択して、音声合成部１１０に出力する。音声合成部１１０は、発話t(4)のテキストに対して音声合成を行い合成音声データを得て、得られた合成音声データをロボットＲ１の提示部１０１−１(Case1のとき)またはロボットＲ２の提示部１０１−２(Case4のとき)に出力する。提示部１０１−１または提示部１０１−２では、音声合成部１１０から入力された発話t(4)のテキストに対応する合成音声データを再生し、発話t(4)を提示する。
【００６４】
また、例えば、Case3の場合には、行動部１８０は、発話決定部１２０内に備えられた対話システムが予め記憶しているため息に対応する合成音声データを取り出し、ロボットＲ２の提示部１０１−２に出力する。提示部１０１−２では、ため息の合成音声データを再生し、非言語コミュニケーションt(3)(ため息をつく動作)を提示する。この場合、発話決定部１２０内に備えられた対話システムには、ため息に対応する合成音声データが記憶されているものとする。発話決定部１２０内に備えられた対話システムが予めため息に対応するテキストを記憶しており、発話決定部１２０は当該ため息に対応するテキストを選択して、音声合成部１１０に出力し、音声合成部１１０は、ため息に対応するテキストに対して音声合成を行い、合成音声データを得て、得られた合成音声データをロボットＲ２の提示部１０１−２に出力し、提示部１０１−２では、音声合成部１１０から入力されたため息の合成音声データに対応する音声を再生し、非言語コミュニケーションt(3)(ため息をつく動作)を提示する形態としてもよい。
【００６５】
また、例えば、Case6の場合には、行動部１８０は、図示しないモーター等に制御信号を出力し、ロボットＲ１の首を横に振る仕草を行わせ、非言語コミュニケーションt(3)(首を横に振る仕草)を提示する。この場合、ロボットＲ１には首を振る仕草を行うためのモータ等を設ける。
【００６６】
(具体例３の場合)
行動生成部１７０は、人の反応が、発話t(2)がユーザの発話t(1)、すなわち、人の発話t(1)に対応するものではないことを示す反応である場合に、発話t(2)とは異なる発話t(3)を生成し、すなわち、決定し（Ｓ８）、行動部１８０に出力する。
【００６７】
人の反応が、発話t(2)がユーザの発話t(1)、すなわち、人の発話t(1)に対応するものではないことを示す反応である場合、行動部１８０は、行動生成部１７０が生成した行動内容を受け取り、行動内容の行動を行う（Ｓ９）。
【００６８】
発話t(2)とは異なる発話t(3)としては、例えば、Case7, Case8のt(3)の発話「あ、そういえばこないだサファリパークに行ったら、ライオンが眠ってたよ」、「子役はかわいいですよね」等が考えられる(図１参照)。また、具体例２のCase4のt(4)の発話「その話じゃないよねえ。子役の話だよね」も発話t(2)とは異なる発話の一例と言える。
【００６９】
Case7の発話t(3)は、発話t(2)とは異なる発話であり、より具体的には、「あ、そういえば」という話題転換語(話題に転換する際に用いる語)が前置された、ロボットＲ１の発話t(2)「メスが狩りをするらしいですね」とは異なる発話である。Case7では、ロボットＲ２の発話t(3)に話題転換語を用いることで、ロボットＲ１の発話t(2)がユーザの発話t(1)「最近ライオンキング見に行ったら、子役の子たちがすごかったです」に対応するものではないことをユーザに示した上で、話題を変える(少なくともロボットＲ１の発話t(2)に関連しない話題に変える)ことをユーザに示す。これにより、ユーザは発話t(3)に対応する発話をすることで対話を継続することができる。
【００７０】
Case8の発話t(3)は、発話t(2)とは異なる発話であり、より具体的には、ロボットＲ１の発話t(2)「メスが狩りをするらしいですね」とは異なる発話であり、発話t(2)を発話したロボットＲ１とは異なるロボットであるロボットＲ２が行う発話である。Case8では、破綻発話をしたロボットＲ１とは異なるロボットＲ２に発話t(3)を発話させ、ユーザは発話t(3)に対応する発話をすることで対話を継続することができる。
【００７１】
Case4の発話t(4)は、発話t(2)とは異なる発話であり、より具体的には、ロボットＲ１の発話t(2)「メスが狩りをするらしいですね」とは異なる発話であり、ロボットＲ１が発話t(2)で対話を破綻させたこと、または、ロボットＲ１が破綻させた可能性をロボットＲ１が発話t(3)で表出した後に、ロボットＲ２が行う発話である。言い換えると、Case4では、発話t(2)とは異なる発話t(4)を提示するよりも、先に、発話t(2)がユーザの発話t(1)に対応するものではない旨を表出する発話t(3)を提示する。Case4では、破綻発話であることを明示された発話t(2)に対応するものではない発話t(4)に対応する発話をユーザがすることで対話を継続することができる。
【００７２】
例えば、Case7, Case8の場合には、行動生成部１７０は、発話決定部１２０に制御信号を出力し、以下の動作させることで、行動内容の生成を行う。行動部１８０は、音声合成部１１０と提示部１０１−１，１０１−２に以下の動作させることで、行動内容の行動を行う。
【００７３】
発話決定部１２０は、行動生成部１７０から制御信号を受け取り、Case7, Case8の何れかの発話t(3)に対応するテキストを発話決定部１２０内に備えられた対話システムにより生成、または、発話決定部１２０内に備えられた対話システムが予め記憶しているテキストから選択して、音声合成部１１０に出力する。
【００７４】
音声合成部１１０は、行動部１８０から制御信号を受け取り、発話決定部１２０から出力された発話t(3)のテキストを入力とし、発話t(3)に対応するテキストに対して音声合成を行い、合成音声データを得て、得られた合成音声データをロボットＲ２の提示部１０１−２に出力する。提示部１０１−２では、音声合成部１１０から入力された、発話t(3)のテキストに対応する合成音声データを再生し、発話t(3)を提示する。
【００７５】
以下では、発話t(2)とは異なる発話を決定する処理について説明する。
【００７６】
まず、発話t(2)とは異なる発話として、すなわち、Case7の発話t(3)やCase8の発話t(3)やCase4の発話t(4)として、ユーザの発話t(1)に対して適切であると推測される発話の複数個の候補のうち、発話t(2)とは異なる発話候補を決定する処理の例を説明する。
【００７７】
Case7の発話t(3)やCase8の発話t(3)やCase4の発話t(4)として、ユーザの発話t(1)に対して適切であると推測される発話の複数個の候補のうち、発話t(2)とは異なる発話候補を決定する処理とは、例えば、 Case7の発話t(3)やCase8の発話t(3)やCase4の発話t(4)として、ユーザの発話t(1)に対する発話として発話t(2)の次に適切であると推測される発話を決定する処理である。以降では、発話決定部１２０がCase8の発話t(3)を決定する処理を例に説明する。発話決定部１２０がCase7の発話t(3)やCase4の発話t(4)を決定する処理は、発話決定部１２０がCase8の発話t(3)を決定する処理と同様である。
【００７８】
この例では、発話決定部１２０は、ユーザの発話t(1)のテキストに対して、適切であると推測される発話のテキスト(発話候補テキスト)を複数個生成し、そのうちの1つの発話候補テキストを発話t(2)のテキストとして得る。例えば、発話決定部１２０は、生成した複数個の発話候補テキストの中で最も適切であると推測される発話候補テキストを発話t(2)のテキストとして得る。また、発話決定部１２０は、複数個の発話候補テキストのうちの、発話t(2)のテキストとは異なる１つの発話候補テキストをCase8の発話t(3)のテキストとする。例えば、発話決定部１２０は、複数個の発話候補テキスト中で発話t(2)のテキストの次に適切であると推測される発話候補テキストをCase8の発話t(3)のテキストとする。
【００７９】
このとき、発話t(2)のテキストとCase8の発話t(3)とが類似していると、発話t(2)のみならずCase8の発話t(3)のテキストも破綻発話となる可能性が高い。そこで、発話決定部１２０は、３個以上の発話候補テキストを生成した場合には、Case8の発話t(3)のテキストとして、生成した３個以上の発話候補テキストのうちの、発話t(2)のテキストを除く２個以上の発話候補テキストのうち、発話t(2)のテキストと類似度が低い発話候補テキストを優先的に選択する。言い換えると、発話決定部１２０は、３個以上の発話候補テキストを生成した場合には、Case8の発話t(3)のテキストとして、生成した３個以上の発話候補テキストのうちの、発話t(2)のテキストを除く２個以上の発話候補テキストのうち、発話t(2)のテキストとの類似度が最も高い発話候補テキスト以外の発話候補テキストを選択する。
【００８０】
発話t(2)のテキストと類似度が低い発話候補テキストをCase8の発話t(3)のテキストとして選択する処理は、例えば、以下のようにして実現する。発話決定部１２０は、まず、従来の対話システムを使って、ユーザの発話t(1)に対して適切であると推測される発話候補テキストを3個以上生成する。より適切であると推測される発話候補テキストから順にt1, t2, …と表現すると、発話決定部１２０は、3個以上の発話候補テキストt1, t2, …の中の１つの発話候補テキストを発話t(2)のテキストとして得る。例えば、発話決定部１２０は、最も適切であると推測される発話候補テキストt1を発話t(2)のテキストとする。発話決定部１２０は、次に、発話t(2)のテキストとして得られた発話候補テキストと、それ以外の発話候補テキストそれぞれとの類似度を計算する。例えば、発話決定部１２０は、最も適切であると推測される発話候補テキストt1を発話t(2)のテキストとした場合、発話候補テキストt1と発話候補テキストt2, t3, …それぞれとの類似度を計算する。例えば、発話t(2)のテキストとそれ以外の発話候補テキストの文そのものや単語を利用して、(a)word2vecを利用した話題語間の距離、(b)文全体の単語をword2vecにかけて平均を取った場合の文間距離、(c)単語のcos類似度などを求める。発話決定部１２０は、発話t(2)のテキストとして選ばれなかった複数個の発話候補テキストのうちの、発話t(2)のテキストとの類似度が最も高い発話候補テキスト以外の発話候補テキストを発話t(3)のテキストとして得る。このような方法により、Case8の発話t(3)は、従来の対話システムを使って生成された複数個の発話候補であって、かつ、発話t(2)に最も類似している発話候補ではない発話候補の中から選択される。
【００８１】
また、そもそも発話候補テキストt1, t2, …を生成する段階で、発話決定部１２０は、各発話候補テキストt1,t2,…がユーザの発話t(1)のテキストに対応するものであり、かつ、発話候補テキスト間の類似度が低くなるように、複数個の発話候補テキストを生成してもよい。発話決定部１２０をこのような構成とすることで、発話t(2)とCase8の発話t(3)とが、互いに類似しない発話となる。これは例えば、発話決定部１２０が発話の話題となる単語を選ぶ際に、ユーザの発話t(1)の話題との類似度が大きいもの、という指標に加え、複数の話題語間の類似度が小さいもの、という基準を同時に考慮し、そうして選ばれた話題語群から発話t(2)の発話候補テキストを生成することで実現できる。例えば、発話決定部１２０が、発話の話題となる単語のプール（種類）が全体で20個で、そのうちの5単語から対話システムの発話t(2)の発話候補テキストを生成する場合、選択された5つの話題語とユーザ話題との類似度の総和から、選択された5つの各話題語間（5C2=10通り）の類似度の総和を引く、という操作を行えばよい。なお、発話決定部１２０が雑談対話システムで発話候補テキストを生成する場合は、任意の単語から発話候補テキストを生成できるため、単語のプールが膨大なものとなり、そこから5つ選ぶ際の組み合わせ数もまた膨大となる。そのため、発話決定部１２０が上記単語のプールから選択する20個の単語を、ユーザ発話のテキストとの類似度が大きい20単語とし、そこから上記と同様の流れで計算する方法としてもよい。
【００８２】
さらに、このように決定したCase8の発話t(3)がユーザの発話t(1)に対応するものではない場合もあり得る。その場合には、発話決定部１２０は、Case8の発話t(3)の次のシステム発話として、発話t(2)のテキスト及びCase8の発話t(3)のテキストとの類似度が低い発話候補テキストを優先的に選択する。このようにして、破綻発話となりにくい、システム発話を実現することができる。
【００８３】
次に、発話t(2)とは異なる発話として、すなわち、Case7の発話t(3)やCase8の発話t(3)やCase4の発話t(4)として、発話t(2)とは異なる話題の発話を選択する処理の例を説明する。
【００８４】
発話決定部１２０内には、例えば、参考文献４に記載された「シナリオ対話システム」と呼ばれる対話システムのように、複数個の話題のそれぞれに対応するシナリオやそれぞれのシナリオに対応する複数個の発話のテキストが予め記憶されている。発話決定部１２０は、発話決定部１２０が選択した発話t(2)のテキストが含まれるシナリオとは異なる話題のシナリオに対応する発話のテキストを、Case7の発話t(3)やCase8の発話t(3)やCase4の発話t(4)として選択する。
【００８５】
なお、発話t(2)とは異なる発話として、すなわち、Case7の発話t(3)やCase8の発話t(3)やCase4の発話t(4)として、例えば、参考文献３に記載された「雑談対話システム」と呼ばれる対話システムなどにより、発話t(2)とは異なる話題の発話を生成してもよい。
【００８６】
なお、これらはあくまで例示であって、Case7のt(3)やCase8のt(3)やCase4のt(4)は、発話t(2)とは異なる行動であれば、他の言語コミュニケーションや非言語コミュニケーションであってもよい。
【００８７】
＜効果＞
このような構成により、ユーザにシステムが対話の内容を理解して対話している印象を与えることができる。
【００８８】
＜変形例１＞
第一実施形態では２台のロボットを含む対話システムについて説明した。しかし、上述したように発話決定部１２０が発話するロボットを決定しない形態などもある。そのため、対話システム１００に必ずしも２台のロボットを必要としない形態がある。この形態とする場合には、対話システム１００に含むロボットを１台としてもよい。また、上述したように発話決定部１２０が２台のロボットを発話するロボットとして決定する形態がある。この形態を対話システム１００に３台以上のロボットを含む構成で動作させてもよい。
【００８９】
＜変形例２＞
対話システム１００が複数台のロボットを含む構成において、どのロボットが発話しているのかをユーザが判別可能とされていれば、提示部の個数はロボットの個数と同一でなくてもよい。また、提示部はロボットに設置されていなくてもよい。どのロボットが発話しているのかをユーザが判別可能とする方法としては、合成する音声の声質をロボットごとに異ならせる、複数のスピーカを用いてロボットごとに定位を異ならせる、などの周知の技術を用いればよい。
【００９０】
＜変形例３＞
上述した実施形態では、エージェントとしてロボットを用いて音声による対話を行う例を説明したが、上述した実施形態のロボットは身体等を有する人型ロボットであっても、身体等を有さないロボットであってもよい。また、この発明の対話技術はこれらに限定されず、人型ロボットのように身体等の実体がなく、発声機構を備えないエージェントを用いて対話を行う形態とすることも可能である。そのような形態としては、例えば、コンピュータの画面上に表示されたエージェントを用いて対話を行う形態が挙げられる。より具体的には、「LINE」や「２ちゃんねる（登録商標）」のような、複数アカウントがテキストメッセージにより対話を行うグループチャットにおいて、ユーザのアカウントと対話装置のアカウントとが対話を行う形態に本対話システムを適用することも可能である。この形態では、エージェントを表示する画面を有するコンピュータは人の近傍にある必要があるが、当該コンピュータと対話装置とはインターネットなどのネットワークを介して接続されていてもよい。つまり、本対話システムは、人とロボットなどの話者同士が実際に向かい合って話す対話だけではなく、話者同士がネットワークを介してコミュニケーションを行う会話にも適用可能である。
【００９１】
変形例の対話装置は、図４に示すように、入力部１０２、発話決定部１２０、反応取得部１６０、行動生成部１７０、行動部１８０および提示部１０１を備える。発話決定部１２０は、外部に存在する情報処理装置と通信可能なインターフェースを備え、各部の一部または同様の機能を持つ処理部を対話装置外にある情報処理装置内に構成しても構わない。
【００９２】
変形例の対話装置は、例えば、スマートフォンやタブレットのようなモバイル端末、もしくはデスクトップ型やラップトップ型のパーソナルコンピュータなどの情報処理装置である。以下、対話装置がスマートフォンであるものとして説明する。反応取得部１６０はスマートフォンが備えるカメラを含み、ユーザの顔の時系列の画像を取得し、取得した時系列の画像から特徴の変化を取得する。提示部１０１はスマートフォンが備える液晶ディスプレイである。この液晶ディスプレイにはチャットアプリケーションのウィンドウが表示され、ウィンドウ内にはグループチャットの対話内容が時系列に表示される。グループチャットとは、チャットにおいて複数のアカウントが互いにテキストメッセージを投稿し合い対話を展開する機能である。このグループチャットには、対話装置が制御する仮想的な人格に対応する複数の仮想アカウントと、ユーザのアカウントとが参加しているものとする。すなわち、本変形例は、エージェントが、対話装置であるスマートフォンの液晶ディスプレイに表示された仮想アカウントである場合の一例である。ユーザはソフトウェアキーボードを用いて入力部１０２へ発話内容を入力し、自らのアカウントを通じてグループチャットへ投稿することができる。発話決定部１２０はユーザのアカウントからの投稿を発話決定部１２０内に備えられている雑談対話システムまたはシナリオ対話システムへ入力し、各対話システムから得た発話内容を、各仮想アカウントを通じてグループチャットへ投稿する。なお、変形例の対話装置は、音声合成部を含まない。そのため、発話決定部１２０は、行動生成部１７０と行動部１８０とから制御信号を受け取り、発話決定部１２０内に備えられた対話システムにより生成、または、発話決定部１２０内に備えられた対話システムが予め記憶しているテキストから選択して、提示部１０１に出力する。提示部１０１は、発話決定部１２０から入力された発話のテキストを表示し、発話を提示する。
【００９３】
なお、スマートフォンに搭載されたマイクロホンと音声認識機能を用い、ユーザが発声により入力部１０２へ発話内容を入力する構成としてもよい。また、スマートフォンに搭載されたスピーカと音声合成機能を用い、各対話システムから得た発話内容を、各仮想アカウントに対応する音声でスピーカから出力する構成としてもよい。
【００９４】
なお、エージェントの発話が提示部１０１（ディスプレイ）に同時に表示されると、ユーザが違和感を感じる可能性があるため、順次表示することが望ましい。
【００９５】
＜その他の変形例＞
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、提示部が提示する発話順以外の上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００９６】
＜プログラム及び記録媒体＞
また、上記の実施形態及び変形例１、２で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。また、上記変形例３で説明した対話システムにおける各種の処理機能をコンピュータによって実現してもよい。その場合、対話システムが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００９７】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００９８】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【００９９】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１００】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2017200077.tif 000003
【図２】
2017200077.tif 000004
【図３】
2017200077.tif 000005
【図４】
2017200077.tif 000006
【国際調査報告】
2017200077.tif 000007
2017200077.tif 000008
2017200077.tif 000009
2017200077.tif 000010