(57)【要約】  応答処理装置は、情報機器が応答を生成する契機となる情報である入力情報を受け付ける受付部と、入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示する提示部と、提示された応答に対するユーザの反応を複数の情報機器に送信する送信部と、を備える。例えば、受付部は、入力情報として、ユーザが発した音声情報を受け付ける。
2020149031.tif 000002
【特許請求の範囲】
【請求項１】
情報機器が応答を生成する契機となる情報である入力情報を受け付ける受付部と、
前記入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示する提示部と、
前記提示された応答に対するユーザの反応を前記複数の情報機器に送信する送信部と
を備える応答処理装置。
【請求項２】
前記提示部は、
前記提示された各々の応答のうち前記ユーザから選択された応答を、当該選択された応答を生成した情報機器が出力するよう制御する
請求項１に記載の応答処理装置。
【請求項３】
前記提示部は、
前記提示された各々の応答のうち前記ユーザから選択された応答を、当該選択された応答を生成した情報機器から取得し、取得した応答を出力する
請求項１に記載の応答処理装置。
【請求項４】
前記受付部は、
前記提示された各々の応答のうちいずれかの応答が出力されたのち、出力する応答を変更する旨を示すコマンドを前記ユーザから受け付け、
前記提示部は、
前記コマンドに基づいて、出力中の応答を異なる応答へ変更する
請求項１に記載の応答処理装置。
【請求項５】
前記提示部は、
前記入力情報に対して複数の情報機器が生成した各々の応答に同一の内容が含まれる場合、当該同一の内容を含む応答をまとめて提示する
請求項１に記載の応答処理装置。
【請求項６】
前記受付部は、
前記提示された応答に対して異なる応答を要求する旨を示すコマンドを前記ユーザから受け付け、
前記送信部は、
前記コマンドに基づいて、前記入力情報に対する再検索の要求を前記複数の情報機器に送信する
請求項１に記載の応答処理装置。
【請求項７】
前記提示部は、
過去に前記複数の情報機器が生成した応答をユーザが選択した履歴に基づいて、前記入力情報に対して当該複数の情報機器が生成した各々の応答のうち、一つの応答を選択して当該ユーザに対して出力する
請求項１に記載の応答処理装置。
【請求項８】
前記送信部は、
前記ユーザの反応として、前記提示された各々の応答のうち前記ユーザから選択された応答に関する情報を前記複数の情報機器に送信する
請求項１に記載の応答処理装置。
【請求項９】
前記送信部は、
前記ユーザから選択された応答に関する情報として、当該ユーザから選択された応答の内容、もしくは、当該ユーザから選択された応答を生成した情報機器の識別情報を前記複数の情報機器に送信する
請求項８に記載の応答処理装置。
【請求項１０】
前記送信部は、
前記ユーザの反応として、前記提示された各々の応答のうちいずれもが前記ユーザから選択されなかったことを示す情報を前記複数の情報機器に送信する
請求項１に記載の応答処理装置。
【請求項１１】
前記送信部は、
前記提示された各々の応答のうちいずれもが前記ユーザから選択されなかったことを示す情報とともに、当該各々の応答の内容を前記複数の情報機器に送信する
請求項１０に記載の応答処理装置。
【請求項１２】
前記提示部は、
前記入力情報に対して複数の情報機器が生成した各々の応答の内容を含む音声を用いて、前記ユーザに提示する
請求項１に記載の応答処理装置。
【請求項１３】
前記提示部は、
前記入力情報に対して複数の情報機器が生成した各々の応答の内容を含む画面表示を用いて、前記ユーザに提示する
請求項１に記載の応答処理装置。
【請求項１４】
前記提示部は、
過去に前記複数の情報機器が生成した応答をユーザが選択した履歴に基づいて、前記入力情報に対して複数の情報機器が生成した各々の応答の内容を画面に表示する割合もしくは面積を決定する
請求項１３に記載の応答処理装置。
【請求項１５】
前記提示部は、
前記入力情報に対して複数の情報機器が生成した各々の応答の情報量に応じて、当該各々の応答の内容を画面に表示する割合もしくは面積を決定する
請求項１３に記載の応答処理装置。
【請求項１６】
前記受付部は、
前記入力情報として、前記ユーザが発した音声情報を受け付ける
請求項１に記載の応答処理装置。
【請求項１７】
前記受付部は、
前記入力情報として、前記ユーザから入力されるテキストを受け付ける
請求項１に記載の応答処理装置。
【請求項１８】
コンピュータが、
情報機器が応答を生成する契機となる情報である入力情報を受け付け、
前記入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示し、
前記提示された応答に対するユーザの反応を前記複数の情報機器に送信する
応答処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、応答処理装置及び応答処理方法に関する。詳しくは、複数の情報機器を利用するユーザに対する応答処理に関する。
【背景技術】
【０００２】
ネットワーク技術の進歩に伴い、ユーザが複数の情報機器を利用する機会が増えている。このような状況に鑑みて、複数の情報機器を円滑に活用するための技術が提案されている。【０００３】
例えば、ネットワークを介して複数のクライアント機器が接続されたシステムにおいて、システムを統括制御する機器を置くことで、システム全体の処理を効率良く行うための技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−４８８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の従来技術によれば、システムを統括制御する機器が各情報機器への処理依頼を受け、個々の情報機器の機能に応じた処理を実行することにより、システム全体の処理を効率良く行うことができる。【０００６】
しかしながら、従来技術では、ユーザの利便性を向上させることができるとは限らない。具体的には、従来技術では、各情報機器が処理依頼を受け入れられるか否かを判定するに過ぎず、例えば各情報機器がユーザの要求を受けて処理を行う場合等に、ユーザの要求に応えるような態様で処理が行われるとは限らない。【０００７】
そこで、本開示では、ユーザの利便性を向上させることができる応答処理装置及び応答処理方法を提案する。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本開示に係る一形態の応答処理装置は、情報機器が応答を生成する契機となる情報である入力情報を受け付ける受付部と、前記入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示する提示部と、前記提示された応答に対するユーザの反応を前記複数の情報機器に送信する送信部と、を備える。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る応答処理システムを示す図である。
【図２Ａ】第１の実施形態に係る応答処理の一例を示す図（１）である。
【図２Ｂ】第１の実施形態に係る応答処理の一例を示す図（２）である。
【図２Ｃ】第１の実施形態に係る応答処理の一例を示す図（３）である。
【図２Ｄ】第１の実施形態に係る応答処理の一例を示す図（４）である。
【図３Ａ】第１の実施形態に係る応答処理の第１のバリエーションを示す図（１）である。
【図３Ｂ】第１の実施形態に係る応答処理の第１のバリエーションを示す図（２）である。
【図３Ｃ】第１の実施形態に係る応答処理の第１のバリエーションを示す図（３）である。
【図３Ｄ】第１の実施形態に係る応答処理の第１のバリエーションを示す図（４）である。
【図４Ａ】第１の実施形態に係る応答処理の第２のバリエーションを示す図（１）である。
【図４Ｂ】第１の実施形態に係る応答処理の第２のバリエーションを示す図（２）である。
【図５】第１の実施形態に係る応答処理の第３のバリエーションを示す図である。
【図６Ａ】第１の実施形態に係る応答処理の第４のバリエーションを示す図（１）である。
【図６Ｂ】第１の実施形態に係る応答処理の第４のバリエーションを示す図（２）である。
【図７】第１の実施形態に係る応答処理システムの構成例を示す図である。
【図８】第１の実施形態に係るユーザ情報テーブルの一例を示す図である。
【図９】第１の実施形態に係るエージェントテーブルの一例を示す図である。
【図１０】第１の実施形態に係るコマンドテーブルの一例を示す図である。
【図１１】第１の実施形態に係る履歴テーブルの一例を示す図である。
【図１２Ａ】第１の実施形態に係る処理の流れを示すフローチャートである。
【図１２Ｂ】第１の実施形態に係る処理の流れを示すブロック図である。
【図１３】第２の実施形態に係る応答処理の一例を示す図である。
【図１４】第２の実施形態に係る応答処理の第１のバリエーションを示す図である。
【図１５】第２の実施形態に係るデータベースの一例を示す図である。
【図１６Ａ】第２の実施形態に係る応答処理の第２のバリエーションを示す図である。
【図１６Ｂ】第２の実施形態に係る応答処理の第３のバリエーションを示す図である。
【図１７】応答処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【００１１】
以下に示す項目順序に従って本開示を説明する。
１．第１の実施形態
１−１．第１の実施形態に係る応答処理システムの概要
１−２．第１の実施形態に係る応答処理の一例
１−３．第１の実施形態に係る応答処理のバリエーション
１−４．第１の実施形態に係る応答処理システムの構成
１−５．第１の実施形態に係る応答処理の手順
１−６．第１の実施形態に係る変形例
２．第２の実施形態
２−１．第２の実施形態に係る応答処理の一例
２−２．第２の実施形態に係る応答処理のバリエーション
３．その他の実施形態
３−１．応答出力のバリエーション
３−２．ユーザの反応を送信するタイミング
３−３．装置構成
４．本開示に係る応答処理装置の効果
５．ハードウェア構成
【００１２】
（１．第１の実施形態）
［１−１．第１の実施形態に係る応答処理システムの概要］
図１を用いて、本開示の第１の実施形態に係る応答処理の概要を説明する。図１は、第１の実施形態に係る応答処理システム１を示す図である。第１の実施形態に係る情報処理は、図１に示す応答処理装置１００、及び、応答処理装置１００を含む応答処理システム１によって実行される。
【００１３】
図１に示すように、応答処理システム１は、応答処理装置１００と、エージェント１０Ａ、エージェント１０Ｂ、エージェント１０Ｃ、及びエージェント１０Ｄとを含む。応答処理システム１に含まれる各装置は、図示しない有線又は無線ネットワークを介して通信可能に接続される。
【００１４】
エージェント１０Ａ、エージェント１０Ｂ、エージェント１０Ｃ、及びエージェント１０Ｄは、音声等を介してユーザとの対話を行う機能（エージェント（Agent）機能等と称される）を有する機器であり、音声認識やユーザへの応答生成等の種々の情報処理を行う。具体的には、エージェント１０Ａ等は、いわゆるＩｏＴ（Internet  of  Things）機器であり、クラウドサーバ等の外部機器と連携して、種々の情報処理を行う。図１の例では、エージェント１０Ａ等は、いわゆるスマートスピーカー（smart  speaker）である。
【００１５】
以下では、音声対話や応答に関する学習を行うエージェント機能、及び、エージェント機能を有する情報機器を「エージェント」と総称する。なお、エージェント機能には、エージェント１０単体で実行される機能のみならず、エージェント１０とネットワーク接続されたサーバ上で実行される機能も含まれる。また、以下では、エージェント１０Ａ、エージェント１０Ｂ、エージェント１０Ｃ、及びエージェント１０Ｄ等の個々の情報機器を区別する必要のない場合、「エージェント１０」と総称する。
【００１６】
応答処理装置１００は、本開示に係る応答処理装置の一例である。例えば、応答処理装置１００は、音声やテキストを介してユーザとの対話を行う機器であり、音声認識やユーザへの応答生成等の種々の情報処理を行う。具体的には、応答処理装置１００は、集音した音声やユーザの行動等、応答を生成するための契機となる情報（以下、「入力情報」と称する）に対する応答処理を実行する。例えば、応答処理装置１００は、ユーザが発した質問を認識し、質問に対する回答を音声出力したり、質問に関する情報を画面に表示したりする。なお、応答処理装置１００が実行する音声認識処理や出力処理等については、種々の既知の技術が利用されてもよい。また、詳細は後述するが、応答処理装置１００は、各エージェント１０が生成する応答や、各エージェント１０へのフィードバックへのとりまとめを行う。
【００１７】
図１では、応答処理装置１００が、いわゆるタブレット端末やスマートフォンである例を示す。例えば、応答処理装置１００は、音声出力を行うスピーカ部や、映像等を出力する表示部（液晶ディスプレイ等）を備える。例えば、応答処理装置１００は、スマートフォンやタブレット端末にインストールされたプログラム（アプリケーション）の機能に基づき、本開示の応答処理を実行する。なお、応答処理装置１００は、スマートフォンやタブレット端末以外にも、時計型端末や眼鏡型端末などのウェアラブルデバイス（wearable  device）であってもよい。また、応答処理装置１００は、情報処理機能を有する種々のスマート機器により実現されてもよい。例えば、応答処理装置１００は、テレビやエアコン、冷蔵庫等のスマート家電や、自動車などのスマートビークル（Smart  vehicle）や、ドローン（drone）、ペット型ロボットや人型ロボット等の自律型ロボットであってもよい。
【００１８】
図１に示す例では、ユーザは、応答処理装置１００とともに、エージェント１０Ａ等の情報機器を利用する。すなわち、図１の例では、ユーザは、複数のエージェント１０を利用する環境下にあるものとする。
【００１９】
図１で示す例のように、複数のエージェント１０がユーザに利用される状況で適切な運用を行うためには、様々な課題が存在する。
【００２０】
例えば、ユーザは、どのエージェント１０を用いて、どのような処理を実行させるか（言い換えれば、どのような入力情報をエージェント１０に入力するか）、その都度考慮する必要がある。また、ユーザは、一つのエージェント１０に対して処理を実行させたのち、その他のエージェント１０に対して同じ処理を実行させる際、同様のプロセスを再度実行しなければならない。なお、以下では、ユーザからの入力情報に基づきエージェント１０に何らかの処理を実行させるためのリクエストを「コマンド」と称する。コマンドは、例えば、ユーザの質問や要求内容を示したスクリプト等である。
【００２１】
また、エージェント１０は、ユーザとの対話を通じて、ユーザがどのような質問や要求を発しやすいか、あるいは、日常的にユーザがどのような応答を求めているか、といった学習を行う。しかし、エージェント１０が複数存在する場合、ユーザは、エージェント１０を成長させるためのプロセスをエージェント１０ごとに行わなくてはならない。
【００２２】
また、各々のエージェント１０は、例えばユーザから質問を受けた場合には、各々異なるサービスにアクセスして回答を得る。このため、ユーザから同一の質問を受けた場合であっても、複数のエージェント１０の各々が異なる応答を生成する場合がある。また、エージェント１０によっては、ユーザから質問された回答を得るためのサービスにアクセスできず、回答を生成することができない可能性もある。適切な回答が得られなかった場合、ユーザは、異なるエージェント１０に同じ質問を発するという手間を要する。
【００２３】
そこで、本開示に係る応答処理装置１００は、以下に説明する応答処理によって、上記課題を解決する。
【００２４】
具体的には、応答処理装置１００は、複数のエージェント１０のフロントエンド機器として機能し、ユーザとのやりとりを一括して受け付ける。例えば、応答処理装置１００は、ユーザから受け付けた質問の内容を解析し、質問の内容に応じたコマンドを生成する。そして、応答処理装置１００は、生成したコマンドをエージェント１０Ａ、エージェント１０Ｂ、エージェント１０Ｃ、及びエージェント１０Ｄに一括して送信する。さらに、応答処理装置１００は、各エージェント１０が生成した各々の応答をユーザに提示するとともに、提示された応答に対するユーザの反応を各エージェント１０に送信する。
【００２５】
これにより、応答処理装置１００は、何度も同じコマンドを実行しなければ複数エージェント１０の結果を受け取ることが出来ないというユーザ環境を解決する。また、応答処理装置１００は、エージェント１０を成長させるためのプロセスをエージェント１０ごとに実行しなければならない状況を解決する。このように、応答処理装置１００は、複数のエージェント１０のフロントエンド機器としてふるまい、応答の生成や出力を制御することにより、ユーザの利便性を向上させる。いわば、応答処理装置１００は、システム全体を調停する役割を担う。
【００２６】
以下、本開示に係る第１の実施形態の応答処理の一例について、図１を用いて、流れに沿って説明する。
【００２７】
図１に示す例では、応答処理装置１００は、予め、エージェント１０Ａ、エージェント１０Ｂ、エージェント１０Ｃ、及びエージェント１０Ｄの各々と連携しているものとする。例えば、応答処理装置１００は、各エージェント１０を起動するための起動ワードや、各々が音声を受け付けるための形式（例えば、各々のエージェント１０が処理可能な音声ＡＰＩ（Application  Programming  Interface）の種類等）等の情報をデータベースとして記憶する。
【００２８】
まず、応答処理装置１００は、ユーザから何らかの入力情報を受け付ける（ステップＳ１）。例えば、応答処理装置１００は、ユーザの発話による質問を受け付ける。
【００２９】
この場合、応答処理装置１００は、自装置の応答処理を起動する（ステップＳ２）。また、応答処理装置１００は、ユーザから受け付けた入力情報を契機として、連携する各々のエージェント１０を起動させる（ステップＳ３）。
【００３０】
具体的には、応答処理装置１００は、ユーザから受け付けた音声情報をコマンドに変換し、各エージェント１０が認識可能な形式のコマンドを生成する。具体的には、応答処理装置１００は、ユーザの音声を取得し、自動音声認識（ＡＳＲ（Automatic  Speech  Recognition））処理や自然言語理解（ＮＬＵ（Natural  Language  Understanding））処理を経て、ユーザの音声に含まれるユーザの質問を解析する。例えば、応答処理装置１００は、音声にユーザからの質問の意図が含まれている場合、質問の意図を入力情報と認識し、質問の意図に沿ったコマンドを生成する。なお、応答処理装置１００は、同一の入力情報から、例えば各エージェント１０のＡＰＩに合わせて異なる態様のコマンドをそれぞれ生成してもよい。そして、応答処理装置１００は、生成したコマンドを各エージェント１０に送信する。
【００３１】
例えば、コマンドを受信したエージェント１０Ａは、入力情報に対応する応答を生成する。具体的には、エージェント１０Ａは、ユーザの質問に対する回答を応答として生成する。そして、エージェント１０Ａは、生成した応答を応答処理装置１００に送信する（ステップＳ４）。図１での図示は省略するが、エージェント１０Ｂ、エージェント１０Ｃ、及びエージェント１０Ｄも、エージェント１０Ａと同様、自身が生成した応答を応答処理装置１００に送信する。
【００３２】
応答処理装置１００は、各エージェント１０から受信した応答をとりまとめ、どのエージェント１０がどのような応答を生成したのかを示す情報をユーザに提示する（ステップＳ５）。例えば、応答処理装置１００は、各エージェント１０から受信した応答の概要を示す情報を音声に変換して、変換した音声をユーザに対して出力する。これにより、ユーザは、応答処理装置１００に質問を発するのみで、複数の応答を得ることができる。
【００３３】
その後、ユーザは、エージェント１０が生成した応答のうち、いずれの応答を実際に出力させるかを応答処理装置１００に伝える。応答処理装置１００は、ユーザが選択した応答の内容や、ユーザが選択したエージェント１０の識別情報等を、各エージェント１０に一括して送信する。これにより、各エージェント１０は、ユーザの質問に対してユーザが選択した応答、すなわち、ユーザにとっての正例をフィードバックとして得ることができる。また、各エージェント１０は、ユーザの質問に対してユーザが選択しなかった応答、すなわち、ユーザにとっての負例をフィードバックとして得ることができる。これにより、応答処理装置１００は、一度のやりとりで、複数のエージェント１０の学習を行う（各エージェント１０にフィードバックを与える）ことができる。
【００３４】
［１−２．第１の実施形態に係る応答処理の一例］
続いて、図２を用いて、上記した応答処理の一例について説明する。図２Ａは、第１の実施形態に係る応答処理の一例を示す図（１）である。
【００３５】
図２Ａの例では、ユーザは、「「卒業」を聞きたい」という内容を含む音声Ａ１１を応答処理装置１００に対して入力する（ステップＳ１１）。応答処理装置１００は、ユーザが発した音声Ａ１１を入力情報として受け付ける。
【００３６】
続けて、応答処理装置１００は、音声Ａ１１に対してＡＳＲやＮＬＵ処理を行い、内容を解析する。そして、応答処理装置１００は、音声Ａ１１に対応するコマンドを生成する（ステップＳ１２）。
【００３７】
応答処理装置１００は、生成したコマンドを各エージェント１０に送信する（ステップＳ１３）。例えば、応答処理装置１００は、各エージェント１０が対応可能なＡＰＩやプロトコルを参照し、各エージェント１０に対応した形式のコマンドを送信する。
【００３８】
図２Ａに続く処理を、図２Ｂを用いて説明する。図２Ｂは、第１の実施形態に係る応答処理の一例を示す図（２）である。
【００３９】
各エージェント１０は、応答処理装置１００から受信したコマンドに基づき、コマンドに対応する応答を生成する。例えば、エージェント１０Ａは、コマンドの内容に基づき、ユーザの要求が「「卒業」という曲名の音楽を再生すること」であると解釈したものとする。この場合、エージェント１０Ａは、例えば、自装置が接続可能な音楽サービスにアクセスし、歌手Ａが歌唱する「卒業」という曲を取得する。そして、エージェント１０Ａは、「歌手Ａが歌唱する「卒業」という曲を再生する」ことが、自装置が生成した応答であるということを応答処理装置１００に送信する（ステップＳ１４）。
【００４０】
同様に、エージェント１０Ｂは、コマンドの内容に基づき、ユーザの要求が「「卒業」という曲名の音楽を再生すること」であると解釈したものとする。この場合、エージェント１０Ｂは、例えば、自装置が接続可能な音楽サービスにアクセスし、歌手Ｂが歌唱する「卒業」という曲を取得する。そして、エージェント１０Ｂは、「歌手Ｂが歌唱する「卒業」という曲を再生する」ことが、自装置が生成した応答であるということを応答処理装置１００に送信する。
【００４１】
また、エージェント１０Ｃは、コマンドの内容に基づき、ユーザの要求が「「卒業」に関する情報を再生すること」であると解釈したものとする。この場合、エージェント１０Ｂは、例えば、自装置が接続可能なニュースサービスにアクセスし、「卒業」に関する情報（この例ではニュース情報）を取得する。そして、エージェント１０Ｃは、「「卒業」に関するニュースを再生する」ことが、自装置が生成した応答であるということを応答処理装置１００に送信する。
【００４２】
また、エージェント１０Ｄは、コマンドの内容に基づき、ユーザの要求が「「卒業」に関する情報を再生すること」であると解釈したものとする。この場合、エージェント１０Ｂは、例えば、ウェブ検索を行い、「卒業」に関する情報を検索するものとする。そして、エージェント１０Ｄは、「「卒業」に関するウェブ検索結果を再生する」ことが、自装置が生成した応答であるということを応答処理装置１００に送信する。
【００４３】
応答処理装置１００は、各エージェント１０が生成した応答を取得する。そして、応答処理装置１００は、各エージェント１０がどのような応答を生成したかを示す情報を生成する（ステップＳ１５）。例えば、応答処理装置１００は、各エージェント１０が生成した応答の概要を含む音声Ａ１２を生成する。
【００４４】
続けて、応答処理装置１００は、生成した音声Ａ１２を出力し、音声Ａ１２が含む情報をユーザに提示する（ステップＳ１６）。これにより、ユーザは、応答処理装置１００に対する音声Ａ１１の入力のみで、４種類の応答の内容を知得することができる。
【００４５】
図２Ｂに続く処理を、図２Ｃを用いて説明する。図２Ｃは、第１の実施形態に係る応答処理の一例を示す図（３）である。
【００４６】
音声Ａ１２を聞いたユーザは、音声Ａ１２に含まれる応答のうち、いずれかを選択する。図２Ｃの例では、ユーザは、エージェント１０Ａが提案する応答が、自身の要求に適合していると判断したものとする。この場合、ユーザは、「「エージェント１０Ａ」で」といった内容を含む音声Ａ１３を応答処理装置１００に入力する（ステップＳ１７）。
【００４７】
応答処理装置１００は、音声Ａ１３を受け付けた場合、保持していた各応答のうち、エージェントＡ１０の応答がユーザの求めている応答であると判断する（ステップＳ１８）。この場合、応答処理装置１００は、「エージェント１０Ａが歌手Ａの「卒業」を再生します」というガイドとなる音声Ａ１４を生成し、出力する。さらに、応答処理装置１００は、エージェント１０Ａに対して、生成した応答を出力するよう要求する（ステップＳ１９）。エージェント１０Ａは、要求に応じて、自身が生成した応答である「歌手Ａの「卒業」の再生」を実行する。
【００４８】
これにより、ユーザは、提示された応答のうち、自身の要求に最も適合する応答を出力させることができる。
【００４９】
図２Ｃに続く処理を、図２Ｄを用いて説明する。図２Ｄは、第１の実施形態に係る応答処理の一例を示す図（４）である。
【００５０】
エージェント１０Ａが応答を出力したのち、応答処理装置１００は、ユーザとの一連の対話に関するフィードバックを生成する（ステップＳ２０）。
【００５１】
例えば、応答処理装置１００は、入力情報に対して各エージェント１０が生成した応答の内容をフィードバックとして生成する。また、応答処理装置１００は、各エージェント１０が生成した応答のうち、どのエージェント１０の生成した応答がユーザから選択され、どのエージェント１０の生成した応答がユーザから選択されなかったか等を示す情報をフィードバックとして生成する。図２Ｄに示すように、応答処理装置１００は、入力情報と、生成された応答と、どの応答が選択されたかを示すフィードバックＡ１５を生成する。
【００５２】
そして、応答処理装置１００は、生成したフィードバックＡ１５を各エージェント１０に送信する（ステップＳ２１）。これにより、ユーザは、全てのエージェント１０に同様の対話を行うことなく、フィードバックをまとめて各エージェント１０に与えることができるので、効率よく各エージェント１０の学習を行うことができる。
【００５３】
［１−３．第１の実施形態に係る応答処理のバリエーション］
続いて、図３乃至図６を用いて、上記した応答処理のバリエーションについて説明する。図３Ａは、第１の実施形態に係る応答処理の第１のバリエーションを示す図（１）である。
【００５４】
図３Ａの例では、ユーザは、図２Ａと同様、「「卒業」を聞きたい」という内容を含む音声Ａ３１を応答処理装置１００に対して入力する（ステップＳ３１）。応答処理装置１００は、ユーザが発した音声Ａ３１を入力情報として受け付ける。
【００５５】
図３Ａの例では、音声Ａ３１を受け付けた応答処理装置１００は、同一又は類似の入力情報に対して、過去にユーザがどのような応答や、どのエージェント１０を選択したかを示したユーザの選択履歴Ａ３２を参照する（ステップＳ３２）。具体的には、応答処理装置１００は、ユーザが過去に選択した応答の種類（音楽の再生であるか、ニュースの再生であるか等）や、各エージェント１０を選択した回数や頻度や割合等を参照する。
【００５６】
図３Ａに続く処理を、図３Ｂを用いて説明する。図３Ｂは、第１の実施形態に係る応答処理の第１のバリエーションを示す図（２）である。
【００５７】
ステップＳ３２でユーザの選択履歴Ａ３２を参照した応答処理装置１００は、音声Ａ３１のような入力情報を受け付けた場合に、ユーザがどのような応答を選択する傾向にあるか、あるいは、ユーザがどのエージェント１０を選択する傾向にあるかを判定する。そして、応答処理装置１００は、各エージェント１０が生成した応答を取得したのち、ユーザに複数の応答を提示することなく、過去のユーザの選択履歴に基づいて、どの応答を出力するか、すなわち、どのエージェント１０に応答を出力させるかを決定する（ステップＳ３３）。
【００５８】
図３Ｂの例では、応答処理装置１００は、ユーザの過去の選択履歴に基づいて、ユーザがエージェント１０Ａの生成した応答を選択する確率が高いと判定したものとする。この場合、応答処理装置１００は、各エージェント１０が生成した応答を提示することなく、エージェント１０Ａが生成した応答を出力する旨を示す音声Ａ３３をユーザに出力する。
【００５９】
そして、応答処理装置１００は、エージェント１０Ａに対して、生成した応答を出力するよう要求する（ステップＳ３４）。エージェント１０Ａは、要求に応じて、自身が生成した応答である「歌手Ａの「卒業」の再生」を実行する。
【００６０】
このように、応答処理装置１００は、ユーザの過去の選択履歴に基づいて、各エージェント１０の生成した応答を評価することにより、ユーザに適する応答を自動的に選択してもよい。これにより、ユーザは、わざわざ複数の応答の提示を受けずとも、自身の傾向や好みに沿った応答を出力させることができるため、効率のよい対話処理を享受することができる。
【００６１】
なお、応答処理装置１００は、ユーザがどのエージェント１０を好むかといった傾向に沿って出力する応答を選択してもよいし、各エージェント１０が生成した応答の種類と、ユーザがどのような応答の種類を好むかといった傾向に沿って出力する応答を選択してもよい。
【００６２】
図３Ｂに続く処理を、図３Ｃを用いて説明する。図３Ｃは、第１の実施形態に係る応答処理の第１のバリエーションを示す図（３）である。
【００６３】
図３Ｃの例では、応答処理装置１００が自動的に選択した応答を視聴したユーザが、他の応答の内容を知りたいと所望した状況を示す。このとき、ユーザは、例えば、「他のは？」といった音声Ａ３４を応答処理装置１００に入力する（ステップＳ３５）。
【００６４】
応答処理装置１００は、音声Ａ３４のような、応答やエージェント１０を選択する意図を示す情報を受け付けた場合、当該ユーザの意図に沿った処理を行う。なお、以下では、音声Ａ３４のような、応答やエージェント１０を選択するような特定の意図を示す要求を「特定コマンド」と称する場合がある。特定コマンドは、例えば、予め応答処理装置１００に登録されていてもよいし、ユーザから個別に登録を受け付けてもよい。
【００６５】
応答処理装置１００は、音声Ａ３４に含まれる特定コマンドに応じた処理を実行する（ステップＳ３６）。例えば、音声Ａ３４に含まれる特定コマンドは、「他のエージェント１０が生成した応答の提示」を意図するものである。この場合、応答処理装置１００は、エージェント１０Ａ以外のエージェント１０が生成した応答をユーザに提示する。
【００６６】
例えば、応答処理装置１００は、音声Ａ３１を受け付けた時点で各エージェント１０から取得した応答であって、保持しておいた応答を読み出す。あるいは、応答処理装置１００は、あらためて音声Ａ３１に対応するコマンドを、エージェント１０Ｂ、エージェント１０Ｃ、及びエージェント１０Ｄに送信し、各々が生成した応答を取得してもよい（ステップＳ３７）。
【００６７】
そして、応答処理装置１００は、エージェント１０Ｂ、エージェント１０Ｃ、及びエージェント１０Ｄが生成した応答を提示するための音声Ａ３５を生成する（ステップＳ３８）。音声Ａ３５には、エージェント１０Ｂ、エージェント１０Ｃ、及びエージェント１０Ｄが生成した応答の内容を示す音声が含まれる。応答処理装置１００は、生成した音声Ａ３５をユーザに対して出力する。
【００６８】
図３Ｃに続く処理を、図３Ｄを用いて説明する。図３Ｄは、第１の実施形態に係る応答処理の第１のバリエーションを示す図（４）である。
【００６９】
図３Ｄの例では、音声Ａ３５を確認したユーザが、他の応答の内容を視聴したいと所望した状況を示す。このとき、ユーザは、例えば、「次ので」といった音声Ａ３６を応答処理装置１００に入力する（ステップＳ３９）。
【００７０】
音声Ａ３６は、「現在出力中のエージェント１０の次のエージェント１０に出力元を変更する」ことを示した特定コマンドであるものとする。この場合、応答処理装置１００は、特定コマンドの意図に沿って、歌手Ａの「卒業」を出力中のエージェント１０Ａから、出力元をエージェント１０Ｂに変更するよう制御する。また、応答処理装置１００は、出力元をエージェント１０Ｂに変更する旨を示す音声Ａ３７をユーザに対して出力する（ステップＳ４０）。
【００７１】
その後、応答処理装置１００は、エージェント１０Ａに対して出力中の応答の停止を要求するとともに、エージェント１０Ｂに対して応答を出力するよう要求する（ステップＳ４１）。
【００７２】
このように、ユーザは、自身が所望しない応答が出力された場合であっても、特定コマンドのような簡易な操作を行うのみで、自身が所望する応答を出力させることができる。
【００７３】
次に、図４を用いて、応答処理の異なるバリエーションについて説明する。図４Ａは、第１の実施形態に係る応答処理の第２のバリエーションを示す図（１）である。
【００７４】
図４Ａの例では、図２Ａ及び図２Ｂと同様の対話が応答処理装置１００とユーザの間で行われ、音声Ａ１２と同様の内容である音声Ａ５１が応答処理装置１００から提示された状況を示す（ステップＳ５１）。
【００７５】
このとき、ユーザは、音声Ａ５１によって提示された内容に自身が所望する内容が含まれていないと判断したものとする。この場合、ユーザは、「他のは？」といった音声Ａ５２を応答処理装置１００に入力する（ステップＳ５２）。
【００７６】
図４Ａに続く処理を、図４Ｂを用いて説明する。図４Ｂは、第１の実施形態に係る応答処理の第２のバリエーションを示す図（２）である。
【００７７】
応答処理装置１００は、音声Ａ５２を受け付け、音声Ａ５２に含まれる特定コマンドを実行する。上記のように、音声Ａ５２に含まれる特定コマンドは、「他のエージェント１０が生成した応答の出力」を要求するものであるが、図４Ａでは、応答処理装置１００は、連携する全てのエージェント１０の応答を提示している。
【００７８】
この場合、応答処理装置１００は、ユーザが満足する応答が提示した応答に存在しないと判定する。そして、応答処理装置１００は、各エージェント１０に対して、ユーザの要求に対する応答を生成するための再検索処理を実行させる。このとき、応答処理装置１００は、ユーザに対して、各エージェント１０に再検索を実行させる旨を示す音声Ａ５３を出力する。
【００７９】
また、応答処理装置１００は、入力情報に対して生成された応答の内容と、全ての応答が選択されなかった旨を示すフィードバックＡ５４を生成する（ステップＳ５３）。そして、応答処理装置１００は、フィードバックＡ５４とともに、再検索の要求を各エージェント１０に送信する（ステップＳ５４）。
【００８０】
このように、応答処理装置１００は、各エージェント１０が生成した応答の内容と、全ての応答が選択されなかったことを示すフィードバックＡ５４とともに、再検索の要求を各エージェント１０に送信する。これにより、各エージェント１０は、自装置が生成した応答に加えて、他のエージェント１０が生成した応答も不適切であることを認識したうえで再検索を実行できる。これにより、ユーザは、個別のエージェント１０に再検索を実行させるよりも、自身が所望する応答を効率良く得ることができる。
【００８１】
次に、図５を用いて、応答処理の異なるバリエーションについて説明する。図５は、第１の実施形態に係る応答処理の第３のバリエーションを示す図である。
【００８２】
図５の例では、図２Ａで示した音声Ａ１１と同様の入力情報を応答処理装置１００が受け付け、各エージェント１０に応答を生成させた場合に、全てのエージェント１０が同じ応答の内容を提示した状況を示す。
【００８３】
この場合、応答処理装置１００は、全てのエージェント１０が同じ応答を生成した旨を示す音声Ａ６１をユーザに対して提示する（ステップＳ６１）。
【００８４】
この場合、ユーザは、特定のエージェント１０で応答を出力させる旨を応答処理装置１００に入力する。例えば、ユーザは、「エージェント１０Ａでお願い」といった音声Ａ６２を応答処理装置１００に入力する（ステップＳ６２）。
【００８５】
応答処理装置１００は、音声Ａ６２に含まれる特定コマンド（「エージェント１０Ａに応答を出力させる」）に基づく処理を実行する（ステップＳ６３）。具体的には、応答処理装置１００は、「エージェント１０Ａに実行させます」というガイドとなる音声Ａ６３を生成し、出力する。さらに、応答処理装置１００は、エージェント１０Ａに対して、生成した応答を出力するよう要求する（ステップＳ６４）。
【００８６】
このように、応答処理装置１００は、各エージェント１０から得られた応答が同一の内容である場合、同じ応答が生成された旨を示す音声Ａ６１のような出力を生成してもよい。これにより、応答処理装置１００は、簡潔な情報をユーザに伝達することができる。
【００８７】
次に、図６を用いて、応答処理の異なるバリエーションについて説明する。図６Ａは、第１の実施形態に係る応答処理の第４のバリエーションを示す図（１）である。
【００８８】
図６の例では、図５で示した例と同様に、応答処理装置１００が、ある入力情報に基づいて各エージェント１０に応答を生成させた場合に、全てのエージェント１０が同じ応答の内容を提示した状況を示す。
【００８９】
この場合、応答処理装置１００は、全てのエージェント１０が同じ応答を生成した旨を示す音声Ａ７１をユーザに対して提示する（ステップＳ７１）。
【００９０】
このとき、ユーザは、音声Ａ７１によって提示された内容に自身が所望する内容が含まれていないと判断したものとする。この場合、ユーザは、「次ので」といった音声Ａ７２を応答処理装置１００に入力する（ステップＳ７２）。
【００９１】
応答処理装置１００は、音声Ａ７２を受け付け、音声Ａ７２に含まれる特定コマンドを実行する。例えば、音声Ａ７２に含まれる特定コマンドは、「出力中のエージェント１０に代えて、次のエージェント１０が生成した応答の出力」を要求するものであるが、図６Ａでは、応答処理装置１００は、連携する全てのエージェント１０の応答を既に提示している。
【００９２】
このため、応答処理装置１００は、連携する全てのエージェント１０が同じ内容の応答を生成した旨を示す音声Ａ７３を生成する（ステップＳ７３）。そして、応答処理装置１００は、生成した音声Ａ７３をユーザに対して出力する。
【００９３】
図６Ａに続く処理を、図６Ｂを用いて説明する。図６Ｂは、第１の実施形態に係る応答処理の第４のバリエーションを示す図（２）である。
【００９４】
図６Ｂの例では、音声Ａ７３を確認したユーザが、他の応答の内容を視聴したいと所望した状況を示す。このとき、ユーザは、例えば、「他ので」といった音声Ａ７４を応答処理装置１００に入力する（ステップＳ７４）。
【００９５】
応答処理装置１００は、音声Ａ７４を受け付け、音声Ａ７４に含まれる特定コマンドを実行する。上記のように、音声Ａ７４に含まれる特定コマンドは、「他のエージェント１０が生成した応答の出力」を要求するものであるが、図６Ａでは、応答処理装置１００は、連携する全てのエージェント１０の応答を提示している。
【００９６】
この場合、応答処理装置１００は、ユーザが満足する応答が提示した応答に存在しないと判定する。そして、応答処理装置１００は、各エージェント１０に対して、ユーザの要求に対する応答を生成するための再検索処理を実行させる。このとき、応答処理装置１００は、ユーザに対して、各エージェント１０に再検索を実行させる旨を示す音声Ａ７５を出力する（ステップＳ７５）。
【００９７】
そして、応答処理装置１００は、図４Ｂで示した例と同様、入力情報に対して生成された応答の内容と、全ての応答が選択されなかった旨を示すフィードバックとともに、再検索の要求を各エージェント１０に送信する（ステップＳ７６）。
【００９８】
このように、応答処理装置１００は、各エージェント１０が生成した応答の内容や、既にユーザに提示した内容に応じて、特定コマンドの内容を適宜解釈し、状況に即した情報処理を実行する。これにより、ユーザは、簡潔な対話のみで、自身が所望する応答を効率良く得ることができる。
【００９９】
以上、図１乃至図６で示したように、第１の実施形態に係る応答処理装置１００は、各エージェント１０が応答を生成する契機となる情報である入力情報をユーザから受け付ける。そして、応答処理装置１００は、入力情報に対して複数のエージェント１０が生成した各々の応答をユーザに提示する。さらに、応答処理装置１００は、提示された応答に対するユーザの反応を複数のエージェント１０に送信する。
【０１００】
このように、応答処理装置１００が複数のエージェント１０とユーザとの対話を調停するフロントエンドの機能を果たすことにより、ユーザは、応答処理装置１００とのみ対話することで、複数のエージェント１０が取得する情報や、出力する応答を得ることができる。また、応答処理装置１００は、提示された応答に対するユーザの反応をフィードバックとして各エージェント１０に送信することで、複数のエージェント１０を効率良く学習させることができる。これにより、応答処理装置１００は、ユーザの利便性を向上させることができる。
【０１０１】
［１−４．第１の実施形態に係る応答処理システムの構成］
続いて、上述した第１の実施形態に係る応答処理装置１００等の構成について、図７を用いて説明する。図７は、本開示の第１の実施形態に係る応答処理システム１の構成例を示す図である。
【０１０２】
図７に示すように、応答処理システム１は、エージェント１０と、応答処理装置１００と、外部サーバ２００とを含む。エージェント１０、応答処理装置１００及び外部サーバ２００は、図７に図示するネットワークＮ（例えば、インターネット）を介して、有線又は無線により通信可能に接続される。なお、図７での図示は省略するが、応答処理システム１は、複数台のエージェント１０や外部サーバ２００を含んでもよい。
【０１０３】
エージェント１０は、ユーザに利用される情報処理端末である。エージェント１０は、ユーザとの対話を行ったり、ユーザが発した音声や動作等に対する応答を生成したりする。なお、エージェント１０は、後述する応答処理装置１００が備える構成の全て又は一部を備えていてもよい。
【０１０４】
外部サーバ２００は、各種サービスを提供するサービスサーバである。例えば、外部サーバ２００は、エージェント１０や応答処理装置１００の要求に従い、音楽サービスや、天気情報や、交通情報等を提供する。
【０１０５】
応答処理装置１００は、本開示に係る応答処理を実行する情報処理端末である。図７に示すように、応答処理装置１００は、センサ２０と、入力部２１と、通信部２２と、記憶部３０と、受付部４０と、提示部５０と、送信部５４と、出力部６０とを有する。
【０１０６】
センサ２０は、各種情報を検知するためのデバイスである。センサ２０は、例えば、ユーザが発話した音声を集音する音声入力センサ２０Ａを含む。音声入力センサ２０Ａは、例えば、マイクロフォンである。また、センサ２０は、例えば、画像入力センサ２０Ｂを含む。画像入力センサ２０Ｂは、例えば、ユーザの動作や表情、ユーザの自宅内の状況等を撮影するためのカメラである。
【０１０７】
また、センサ２０は、ユーザが応答処理装置１００に触れたことを検知するタッチセンサや、加速度センサやジャイロセンサ等を含んでもよい。また、センサ２０は、応答処理装置１００の現在位置を検知するセンサを含んでもよい。例えば、センサ２０は、ＧＰＳ（Global  Positioning  System）衛星から送出される電波を受信し、受信した電波に基づいて応答処理装置１００の現在位置を示す位置情報（例えば、緯度及び経度）を検知してもよい。
【０１０８】
また、センサ２０は、外部装置が発する電波を検知する電波センサや、電磁波を検知する電磁波センサ等を含んでもよい。また、センサ２０は、応答処理装置１００が置かれた環境を検知してもよい。具体的には、センサ２０は、応答処理装置１００の周囲の照度を検知する照度センサや、応答処理装置１００の周囲の湿度を検知する湿度センサや、応答処理装置１００の所在位置における磁場を検知する地磁気センサ等を含んでもよい。
【０１０９】
また、センサ２０は、必ずしも応答処理装置１００の内部に備えられなくてもよい。例えば、センサ２０は、通信等を用いてセンシングした情報を応答処理装置１００に送信することが可能であれば、応答処理装置１００の外部に設置されてもよい。
【０１１０】
入力部２１は、ユーザから各種操作を受け付けるためのデバイスである。例えば、入力部２１は、キーボードやマウス、タッチパネル等によって実現される。
【０１１１】
通信部２２は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部２２は、ネットワークＮと有線又は無線で接続され、ネットワークＮを介して、エージェント１０や外部サーバ２００等との間で情報の送受信を行う。
【０１１２】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部３０は、ユーザ情報テーブル３１と、エージェントテーブル３２と、コマンドテーブル３３と、履歴テーブル３４とを有する。以下、各データテーブルについて順に説明する。
【０１１３】
ユーザ情報テーブル３１は、応答処理装置１００及びエージェント１０を利用するユーザに関する情報を記憶する。図８に、第１の実施形態に係るユーザ情報テーブル３１の一例を示す。図８は、本開示の第１の実施形態に係るユーザ情報テーブル３１の一例を示す図である。図８に示した例では、ユーザ情報テーブル３１は、「ユーザＩＤ」、「ユーザ属性情報」、「履歴情報」といった項目を有する。
【０１１４】
「ユーザＩＤ」は、ユーザを識別する識別情報を示す。「ユーザ属性情報」は、応答処理装置１００の利用の際にユーザから登録される、ユーザの各種情報を示す。図８に示した例では、ユーザ属性情報の項目を「Ｆ０１」のように概念的に記載しているが、実際には、ユーザ属性情報には、ユーザの年齢や性別、居住地、家族構成等の属性情報（ユーザプロファイル）が含まれる。また、ユーザ属性情報には、例えば、ユーザに視覚障碍があること等、出力する情報の種別を選択するために要する情報が含まれてもよい。例えば、ユーザ属性情報に視覚障碍があることが登録されている場合、応答処理装置１００は、通常であれば画面に表示される応答の内容を、音声に変換して出力してもよい。このような変換は、例えばＴＴＳ（text-to-speech）処理等の既知の技術が用いられてもよい。
【０１１５】
「履歴情報」は、ユーザの応答処理装置１００の利用履歴を示す。図８に示した例では、履歴情報の項目を「Ｇ０１」のように概念的に記載しているが、実際には、履歴情報には、ユーザが応答処理装置１００に質問した内容や、聞き返しの履歴や、出力された応答の履歴等の各種情報が含まれる。また、履歴情報には、ユーザを音声で識別するための声紋情報や波形情報等が含まれてもよい。また、図８に示した「履歴情報」には、ユーザの過去の行動を示す情報が含まれてもよい。なお、履歴情報の詳細については、図１１を用いて後述する。
【０１１６】
すなわち、図８に示した例では、ユーザＩＤが「Ｕ０１」で識別されるユーザは、ユーザ属性情報が「Ｆ０１」であり、履歴情報が「Ｇ０１」であることを示している。
【０１１７】
次に、エージェントテーブル３２について説明する。エージェントテーブル３２は、応答処理装置１００と連携するエージェント１０に関する情報を記憶する。
【０１１８】
図９に、第１の実施形態に係るエージェントテーブル３２の一例を示す。図９は、本開示の第１の実施形態に係るエージェントテーブル３２の一例を示す図である。図９に示した例では、エージェントテーブル３２は、「エージェントＩＤ」、「機器情報」、「入力フォーマット」、「出力フォーマット」、といった項目を有する。
【０１１９】
「エージェントＩＤ」は、エージェント１０を識別する識別情報を示す。なお、明細書中では、エージェントＩＤとエージェント１０の参照符号は共通するものとする。例えば、エージェントＩＤが「１０Ａ」で識別されるエージェント１０とは、「エージェント１０Ａ」を意味する。
【０１２０】
「機器情報」は、エージェント１０の情報機器としての情報を示す。図９では、情報機器の項目を「Ｃ０１」のように概念的に記載しているが、実際には、情報機器の項目には、エージェント１０の情報機器の種別（スマートスピーカー、スマートフォン、あるいはロボット等）や、エージェント１０が実行可能な機能の種別等が記憶される。
【０１２１】
「入力フォーマット」は、エージェント１０に入力される情報がどのような形式で入力されるかといった情報を示す。図９に示した例では、入力フォーマットの項目を「Ｄ０１」のように概念的に記載しているが、実際には、入力フォーマットの項目には、エージェント１０が処理可能なデータ（音声や画像等）の音声フォーマットの種類（「mp3」や「wav」等）や、認識可能なコマンドのファイルフォーマット等が記憶される。
【０１２２】
「出力フォーマット」は、エージェント１０が出力可能なデータのフォーマットを示す。図９に示した例では、出力フォーマットの項目を「Ｅ０１」のように概念的に記載しているが、実際には、出力フォーマットの項目には、音声出力が可能か、画像出力が可能か、動画再生が可能かといった、エージェント１０が出力することが可能な態様が具体的に記憶される。
【０１２３】
すなわち、図９に示した例では、エージェントＩＤ「１０Ａ」で識別されるエージェント１０Ａは、機器情報が「Ｃ０１」であり、入力フォーマットが「Ｄ０１」であり、出力フォーマットが「Ｅ０１」であることを示している。
【０１２４】
次に、コマンドテーブル３３について説明する。コマンドテーブル３３は、応答処理装置１００が認識する特定コマンドに関する情報を記憶する。
【０１２５】
図１０に、第１の実施形態に係るコマンドテーブル３３の一例を示す。図１０は、本開示の第１の実施形態に係るコマンドテーブル３３の一例を示す図である。図１０に示した例では、コマンドテーブル３３は、「コマンド内容」、「特定コマンド文」、「コマンド解析結果」といった項目を有する。
【０１２６】
「コマンド内容」は、特定コマンドが入力された場合に、応答処理装置１００が実行する処理内容を示す。「特定コマンド文」は、特定コマンドに対応する文（音声やテキスト）を示す。「コマンド解析結果」は、特定コマンドの解析結果を示す。
【０１２７】
すなわち、図１０に示した例では、「他の結果を読み上げる」というコマンド内容に対応する文は、「他のは」や、「他の教えて」や、「他の」といった音声やテキストであり、それらの文は、「READ_RESULTS」といった命令（処理内容）として解析されることを示している。
【０１２８】
なお、特定コマンド文に対応する音声やテキストは、図１０に示した例に限らず、ユーザ本人による登録等に基づいて、適宜更新されてもよい。
【０１２９】
次に、履歴テーブル３４について説明する。履歴テーブル３４は、応答処理装置１００とユーザとのやりとりの履歴情報を記憶する。
【０１３０】
図１１は、本開示の第１の実施形態に係る履歴テーブル３４の一例を示す図である。図１１に示した例では、履歴テーブル３４は、「入力情報ＩＤ」、「入力内容」、「エージェント選択履歴」、「出力された内容」といった項目を有する。
【０１３１】
「入力情報ＩＤ」は、入力情報を識別する識別情報を示す。「入力内容」は、入力情報の具体的な内容を示す。図１１では、入力内容の項目を「Ｙ０１」のように概念的に記載しているが、実際には、入力内容の項目には、ユーザが発した音声（質問等）を解析した結果や、解析結果から生成されたコマンド等が記憶される。
【０１３２】
「エージェント選択履歴」は、ある入力情報に対して、ユーザが選択したエージェント１０の識別情報や、各エージェント１０を選択した回数や割合、頻度等を示す。「出力された内容」は、ある入力情報に対して、実際にエージェント１０や応答処理装置１００から出力された内容や、出力された情報の種別（音楽であるか、検索結果であるか等）や、各種の内容が実際に出力された回数や頻度等を示す。
【０１３３】
すなわち、図１１に示した例では、入力情報ＩＤ「Ｘ０１」で識別される入力情報の内容は「Ｙ０１」であり、その入力情報に対してユーザが選択したエージェント１０の履歴は「Ｈ０１」であり、出力された内容の履歴は「Ｉ０１」であることを示している。
【０１３４】
図７に戻って説明を続ける。受付部４０、提示部５０及び送信部５４は、応答処理装置１００が実行する情報処理を実行する処理部である。受付部４０、提示部５０及び及び送信部５４は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）等によって、応答処理装置１００内部に記憶されたプログラム（例えば、本開示に係る応答処理プログラム）がＲＡＭ（Random  Access  Memory）等を作業領域として実行されることにより実現される。また、受付部４０、提示部５０及び送信部５４は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【０１３５】
受付部４０は、各種情報を受け付ける処理部である。図７に示すように、受付部４０は、検知部４１と、登録部４２と、取得部４３とを含む。
【０１３６】
検知部４１は、センサ２０を介して、各種情報を検知する。例えば、検知部４１は、センサ２０の一例である音声入力センサ２０Ａを介して、ユーザが発話した音声を検知する。また、検知部４１は、画像入力センサ２０Ｂや加速度センサ、赤外線センサ等を介して、ユーザの顔情報、ユーザの身体の向き、傾き、動きや移動速度等、ユーザの動作に関する各種情報を検知してもよい。すなわち、検知部４１は、センサ２０を介して、位置情報、加速度、温度、重力、回転（角速度）、照度、地磁気、圧力、近接、湿度、回転ベクトルといった、種々の物理量をコンテキストとして検知してもよい。
【０１３７】
登録部４２は、入力部２１を介して、ユーザからの登録を受け付ける。例えば、登録部４２は、タッチパネルやキーボードを介して、特定コマンドに関する登録をユーザから受け付ける。
【０１３８】
また、登録部４２は、ユーザのスケジュール等の登録を受け付けてもよい。例えば、登録部４２は、応答処理装置１００に組み込まれたアプリケーション機能を利用して、スケジュール登録をユーザから受け付ける。
【０１３９】
取得部４３は、各種情報を取得する。例えば、取得部４３は、各エージェント１０の機器情報や、各エージェント１０が生成した応答に関する情報等を取得する。
【０１４０】
また、取得部４３は、通信に関するコンテキストを受信してもよい。例えば、取得部４３は、応答処理装置１００と、各エージェント１０や各種機器（ネットワーク上のサーバや、自宅内の家電等）との接続状況をコンテキストとして受信してもよい。各種機器との接続状況とは、例えば、相互通信が確立しているか否かを示す情報や、通信に利用している通信規格等である。
【０１４１】
受付部４０は、上記各処理部を制御することにより、各種情報を受け付ける。例えば、受付部４０は、エージェント１０が応答を生成する契機となる情報である入力情報をユーザから取得する。
【０１４２】
例えば、受付部４０は、入力情報として、ユーザが発した音声情報を取得する。具体的には、受付部４０は、「「卒業」が聞きたい」などのユーザの発話を取得し、当該発話に含まれる何らかの意図を入力情報として取得する。
【０１４３】
あるいは、受付部４０は、入力情報として、ユーザの行動を検知した検知情報を取得してもよい。検知情報とは、検知部４１がセンサ２０を介して検知した情報である。具体的には、検知情報とは、ユーザが応答処理装置１００のカメラを見たことを示す情報や、ユーザが自宅の部屋から玄関へ移動したことを示す情報等、応答処理装置１００が応答を生成する契機となりうるユーザの行動である。
【０１４４】
また、受付部４０は、入力情報として、ユーザから入力されるテキストを受け付けてもよい。具体的には、受付部４０は、入力部２１を介して、「「卒業」が聞きたい」といったユーザから入力されたテキストを取得し、当該テキストに含まれる何らかの意図を入力情報として取得する。
【０１４５】
また、受付部４０は、後述する提示部５０によって各エージェント１０が生成した応答が提示され、提示された各々の応答のうちいずれかの応答が出力されたのち、出力する応答を変更する旨を示す特定コマンドをユーザから受け付ける。例えば、受付部４０は、特定コマンドとして、「次のは」といったユーザの発話を受け付ける。この場合、提示部５０は、特定コマンドに対応した情報処理（例えば、出力中のエージェント１０の次に登録されている他のエージェント１０応答を出力させるよう制御する等）を実行する。
【０１４６】
また、受付部４０は、後述する提示部５０によって各エージェント１０が生成した応答が提示されたのち、提示された応答に対して異なる応答を要求する旨を示す特定コマンドをユーザから受け付けてもよい。例えば、受付部４０は、特定コマンドとして、「他のは」といったユーザの発話を受け付ける。この場合、提示部５０は、特定コマンドに対応した情報処理（例えば、各エージェント１０に再検索を実行させるよう制御する等）を実行する。
【０１４７】
また、受付部４０は、各種のコンテキストに関する情報を取得してもよい。コンテキストとは、応答処理装置１００が応答を生成する際の各種状況を示す情報である。なお、コンテキストには、ユーザが応答処理装置１００を見たことを示す行動情報等の「ユーザの状況を示す情報」が含まれるため、コンテキストは、入力情報にもなりうる。
【０１４８】
例えば、受付部４０は、コンテキストとして、ユーザによって予め登録されたユーザの属性情報を取得してもよい。具体的には、受付部４０は、ユーザの性別や年齢、居住地等の情報を取得する。また、受付部４０は、属性情報として、ユーザが視覚障碍を有すること等、ユーザの特徴を示す情報を取得してもよい。また、受付部４０は、応答処理装置１００の利用履歴等に基づいて、ユーザの趣味嗜好等の情報をコンテキストとして取得してもよい。
【０１４９】
また、受付部４０は、コンテキストとして、ユーザの位置を示す位置情報を取得してもよい。位置情報とは、具体的な経度緯度等の位置を示す情報であってもよいし、ユーザが自宅内のどの部屋にいるか等を示す情報であってもよい。例えば、位置情報は、ユーザが自宅内のリビングにいるか、寝室にいるか、子供部屋にいるかといった、ユーザの所在地を示した情報であってもよい。あるいは、位置情報は、ユーザの外出先を示す具体的な場所の情報であってもよい。また、ユーザの外出先を示す情報には、ユーザが電車に乗っているか、自動車を運転しているか、あるいは、学校や会社に出かけていること等の状況を示す情報が含まれてもよい。受付部４０は、例えば、ユーザが所有するスマートフォン等の携帯端末と相互に通信を行うことにより、これらの情報を取得してもよい。
【０１５０】
また、受付部４０は、コンテキストとして、ユーザの行動もしくは感情を推定した推定情報を取得してもよい。例えば、受付部４０は、コンテキストとして、ユーザの行動から推定される情報であって、ユーザの将来の行動予測を示した情報である行動予測情報を取得する。具体的には、受付部４０は、ユーザが自宅の部屋から玄関へ移動したことを示す行動から推定される情報として、「ユーザが外出しようとしている」といった行動予測情報を取得する。例えば、受付部４０は、「ユーザが外出しようとしている」といった行動予測情報を取得した場合、当該情報に基づいて、「外出」といったタグ付けされたコンテキストを取得する。
【０１５１】
また、受付部４０は、ユーザの行動として、ユーザが予め登録したスケジュール情報を取得してもよい。具体的には、受付部４０は、ユーザが発話した時刻から所定期間以内（例えば１日以内等）の予定時刻で登録されたスケジュール情報を取得する。これにより、受付部４０は、ある時刻にユーザがどこに出かけようとしているかといった情報等を推定することができる。
【０１５２】
また、受付部４０は、センサ２０で捉えられたユーザの移動速度や、ユーザが所在する位置や、ユーザの発話速度等を検知すること等によりユーザの状況や感情を推定してもよい。例えば、受付部４０は、通常のユーザの発話速度よりも速い発話速度が観測された場合、「ユーザが急いでいる」という状況や感情を推定してもよい。例えば、応答処理装置１００は、ユーザが通常よりも急いでいる状況にあることを示すコンテキストが取得された場合、より手短な応答を出力する等の調整を行うことができる。
【０１５３】
なお、上記で示したコンテキストは一例であり、ユーザや応答処理装置１００が置かれた状況を示すあらゆる情報がコンテキストとなりうる。例えば、受付部４０は、センサ２０を介して取得される、応答処理装置１００の位置情報、加速度、温度、重力、回転（角速度）、照度、地磁気、圧力、近接、湿度、回転ベクトルといった、種々の物理量をコンテキストとして取得してもよい。また、受付部４０は、内蔵する通信機能を利用して、各種装置との接続状況（例えば、通信の確立に関する情報や、利用している通信規格）などを、コンテキストとして取得してもよい。
【０１５４】
また、コンテキストには、ユーザと他のユーザや、ユーザと応答処理装置１００とが交わしている対話に関する情報が含まれてもよい。例えば、コンテキストには、ユーザが交わしている対話の文脈を示す対話文脈情報、対話のドメイン（天気、ニュース、電車運行情報等）、ユーザ発話の意図や属性情報等が含まれてもよい。
【０１５５】
また、コンテキストには、対話が行われている際の日時情報が含まれてもよい。具体的には、日時情報とは、日付、時間、曜日、祝日特性（クリスマス等）、時間帯（朝、昼、夜、夜中）等の情報である。
【０１５６】
また、受付部４０は、ユーザが行っている特定の家事の情報や、視聴しているテレビ番組の内容や、何を食べているかを示す情報や、特定の人物と会話をしていること等、ユーザの状況を示す種々の情報をコンテキストとして取得してもよい。
【０１５７】
また、受付部４０は、自宅内に置かれた家電（ＩｏＴ機器等）との相互通信により、どの家電がアクティブであるか否か（例えば、電源がオンであるかオフであるか）、どの家電がどのような処理を実行しているか、といった情報を取得してもよい。
【０１５８】
また、受付部４０は、外部サービスとの相互通信により、ユーザの生活圏における交通状況や気象情報等をコンテキストとして取得してもよい。受付部４０は、取得した各情報をユーザ情報テーブル３１等に格納する。また、受付部４０は、ユーザ情報テーブル３１やエージェントテーブル３２を参照し、処理に要する情報を適宜取得してもよい。
【０１５９】
続いて、提示部５０について説明する。図７に示すように、提示部５０は、解析部５１と、生成部５２と、出力制御部５３とを含む。
【０１６０】
例えば、解析部５１は、選択した複数のエージェント１０の各々が認識できるよう、入力情報を解析する。生成部５２は、解析部５１が解析した内容に基づいて、入力情報に対応するコマンドを生成する。また、生成部５２は、生成したコマンドを送信部５４に送信し、各エージェント１０に送信させる。出力制御部５３は、エージェント１０が生成した応答の内容を出力したり、エージェント１０に応答を出力させるよう制御したりする。
【０１６１】
すなわち、提示部５０は、解析部５１、生成部５２及び出力制御部５３が実行する処理により得られる情報に基づき、受付部４０によって受け付けられた入力情報に対して複数のエージェント１０が生成した各々の応答をユーザに提示する。
【０１６２】
例えば、提示部５０は、入力情報に対して複数のエージェント１０が生成した各々の応答の内容を含む音声を用いて、ユーザに提示する。
【０１６３】
また、提示部５０は、ユーザに提示された各々の応答のうちユーザから選択された応答を、選択された応答を生成したエージェント１０が出力するよう制御する。例えば、提示部５０は、ユーザから「エージェント１０Ａで」といった、出力先を指定する特定コマンドが発せられた場合に、エージェント１０Ａに対して、実際に生成した応答を出力するようリクエストを送信する。これにより、提示部５０は、ユーザが所望する応答がエージェント１０Ａから出力するよう制御することができる。
【０１６４】
なお、提示部５０は、提示された各々の応答のうちユーザから選択された応答を、選択された応答を生成したエージェント１０から取得し、取得した応答を自装置で出力してもよい。すなわち、提示部５０は、エージェント１０Ａが生成した応答（例えば、「卒業」という音楽の再生）をエージェント１０Ａに出力させるのではなく、当該応答のデータ（例えば、「卒業」という音楽のデータ）を取得し、自装置の出力部６０を用いて出力してもよい。これにより、提示部５０は、例えばエージェント１０Ａが比較的ユーザから離れた位置に設置されている場合等に、エージェント１０Ａに代えてユーザが所望する応答を出力することができるので、ユーザの利便性を向上させることができる。
【０１６５】
また、提示部５０は、受付部４０によって受け付けられた特定コマンドに対応する処理を実行する。例えば、提示部５０は、提示された各々の応答のうちいずれかの応答が出力されたのち、出力する応答を変更する旨を示す特定コマンドをユーザから受け付けた場合、特定コマンドに基づいて、出力中の応答を異なる応答へ変更する。
【０１６６】
なお、提示部５０は、入力情報に対して複数のエージェント１０が生成した各々の応答に同一の内容が含まれる場合、同一の内容を含む応答をまとめて提示するようにしてもよい。これにより、提示部５０は、例えば「次ので」といった特定コマンドをユーザから受け付けた場合に、同一の内容の応答が何度もユーザに対して出力されるような事態を回避することができる。
【０１６７】
また、提示部５０は、提示された応答に対して異なる応答を要求する旨を示す特定コマンドをユーザから受け付けた場合、特定コマンドに基づいて、入力情報に対する再検索の要求を複数のエージェント１０に送信してもよい。
【０１６８】
また、提示部５０は、履歴テーブル３４を参照し、ユーザの過去の行動に基づいて、出力する応答を選択してもよい。具体的には、提示部５０は、過去に複数のエージェント１０が生成した応答をユーザが選択した履歴に基づいて、入力情報に対して複数のエージェント１０が生成した各々の応答のうち、一つの応答を選択してユーザに対して出力する。
【０１６９】
例えば、ある情報を質問したユーザに対して応答を出力した際に、応答処理装置１００は、ユーザから「ほかの情報をおしえて」などの反応を受ける可能性がある。この場合、応答処理装置１００は、前に出力した情報はユーザが欲していた情報でないと判定する。一方、応答処理装置１００は、次に出力した情報がユーザから受け入れられた場合、当該情報がユーザの欲していた情報と判定する。
【０１７０】
この場合、応答処理装置１００は、次の機会からは、ユーザから同様の質問を受けた場合、ユーザが欲していた応答を生成することのできるエージェント１０を優先的に選択するようにしてもよい。また、応答処理装置１００は、例えば、あるエージェント１０から出力されることをユーザが望んでいるような傾向がある場合（ユーザが出力先に特定のエージェント１０を指定することが統計的に多い場合等）、当該エージェント１０から優先的に応答が出力されるように調整を行ってもよい。このように、応答処理装置１００は、ユーザの指示や操作履歴に基づいて学習を行うことにより、よりユーザの要望に応えることのできる応答処理を実行することができる。また、これにより、ユーザは、応答処理装置１００に対して指示を出さずとも、自身が所望する応答を出力させることができる。
【０１７１】
また、提示部５０は、複数のエージェント１０の各々が入力情報に対する応答を生成することができるか否かを判定し、入力情報に対する応答を生成することができないと判定されたエージェント１０以外のエージェント１０を、当該入力情報に対応した応答を生成するエージェント１０として選択してもよい。すなわち、提示部５０は、エージェントテーブル３２を参照し、応答を生成することができると想定されるエージェント１０を選択するようにしてもよい。これにより、提示部５０は、全てのエージェント１０に無作為に要求を送信するような手間を省くことができる。
【０１７２】
なお、上述した解析部５１は、受付部４０によって取得された情報の意味理解処理を行う。具体的には、解析部５１は、受付部４０によって音声情報等について、自動音声認識（ＡＳＲ）処理や自然言語理解（ＮＬＵ）処理を行う。例えば、解析部５１は、ＡＳＲやＮＬＵを経て、取得した音声を形態素に分解したり、各形態素がどのような意図や属性を有する要素であるかを判定したりする。
【０１７３】
解析部５１は、入力情報の解析の結果、ユーザの意図が理解不能であった場合、その旨を出力制御部５３に渡してもよい。例えば、解析部５１は、解析の結果、ユーザの発話から推定することのできない情報が含まれている場合、その内容を出力制御部５３に渡す。この場合、出力制御部５３は、不明な情報について、ユーザにもう一度正確に発話してもらうことを要求するような応答を生成してもよい。
【０１７４】
送信部５４は、各種情報を送信する。例えば、送信部５４は、提示部５０によって提示された応答に対するユーザの反応（フィードバック）を複数のエージェント１０に送信する。
【０１７５】
具体的には、送信部５４は、ユーザの反応として、提示された各々の応答のうちユーザから選択された応答に関する情報を複数のエージェント１０に送信する。
【０１７６】
例えば、送信部５４は、ユーザから選択された応答に関する情報として、ユーザから選択された応答の内容、もしくは、ユーザから選択された応答を生成したエージェント１０の識別情報等を複数のエージェント１０に送信する。
【０１７７】
また、送信部５４は、ユーザの反応として、提示された各々の応答のうちいずれもがユーザから選択されなかったことを示す情報を複数のエージェント１０に送信してもよい。
【０１７８】
さらに、送信部５４は、提示された各々の応答のうちいずれもがユーザから選択されなかったことを示す情報とともに、各々の応答の内容を複数のエージェント１０に送信してもよい。これにより、送信部５４は、ユーザから選択された応答や、選択されなかった応答の内容を各エージェント１０に伝達できるので、エージェント１０の学習を効率良く進めることができる。
【０１７９】
なお、送信部５４は、ユーザの反応のみならず、提示部５０によって生成されたコマンドや、応答を出力させるためのリクエスト等、各種情報をエージェント１０に送信する。例えば、送信部５４は、ユーザから特定コマンドを受け付けた場合、特定コマンドに対応するリクエスト（例えば、特定コマンドに基づいて、入力情報に対して再検索を実行させるリクエスト等）をエージェント１０に送信してもよい。
【０１８０】
出力部６０は、種々の情報を出力するための機構である。例えば、出力部６０は、スピーカやディスプレイである。例えば、出力部６０は、出力制御部５３によって応答が出力される場合に、出力先となるエージェント１０の名称等をユーザに対して音声出力する。また、出力部６０は、画像データをディスプレイに出力してもよい。また、出力部６０は、応答処理装置１００が自装置で応答を生成した場合、生成した応答を音声もしくは画像等で出力する。なお、出力部６０は、生成された音声データを文字認識してディスプレイに表示する等、種々の態様で応答を出力してもよい。
【０１８１】
［１−５．第１の実施形態に係る応答処理の手順］
次に、図１２Ａ及び図１２Ｂを用いて、第１の実施形態に係る応答処理の手順について説明する。図１２Ａは、第１の実施形態に係る処理の流れを示すフローチャートである。
【０１８２】
図１２Ａに示すように、応答処理装置１００は、入力情報を受け付けたか否かを判定する（ステップＳ１０１）。入力情報を受け付けていない場合（ステップＳ１０１；Ｎｏ）、応答処理装置１００は、入力情報を受け付けるまで待機する。
【０１８３】
一方、入力情報を受け付けた場合（ステップＳ１０１；Ｙｅｓ）、応答処理装置１００は、入力情報を解析し、入力情報に応じたコマンドを生成する（ステップＳ１０２）。具体的には、応答処理装置１００は、入力情報を解析し、入力情報に含まれるユーザの意図や、質問の内容等を示したコマンドを生成する。
【０１８４】
続いて、応答処理装置１００は、生成したコマンドが特定コマンドに該当するか否かを判定する（ステップＳ１０３）。特定コマンドでない場合（ステップＳ１０３；Ｎｏ）、応答処理装置１００は、各エージェント１０に、ステップＳ１０２で生成したコマンドを送信する（ステップＳ１０４）。
【０１８５】
その後、応答処理装置１００は、送信したコマンドに応じて、各エージェント１０から生成された応答の結果を取得する（ステップＳ１０５）。このとき、応答処理装置１００は、各エージェント１０が生成した結果を記憶部３０内に一時保存する（ステップＳ１０６）。
【０１８６】
なお、ステップＳ１０３において、生成したコマンドが特定コマンドに該当する場合（ステップＳ１０３；Ｙｅｓ）、応答処理装置１００は、特定コマンドの内容を判断する（ステップＳ１０７）。
【０１８７】
その後、応答処理装置１００は、ステップＳ１０６等で保存された結果に対して、特定コマンドの処理を実行する（ステップＳ１０８）。また、応答処理装置１００は、各エージェント１０へフィードバックを送信する（ステップＳ１０９）。
【０１８８】
ステップＳ１０６又はステップＳ１０９を経て、応答処理装置１００は、ユーザへのフィードバックを生成する（ステップＳ１１０）。例えば、応答処理装置１００は、ステップＳ１０６を経た場合、各エージェント１０が生成した各々の応答を提示するためのフィードバックを生成する。あるいは、応答処理装置１００は、ステップＳ１０９を経た場合、どのエージェント１０から応答を出力させるかを伝達するための音声等のフィードバックを生成する。
【０１８９】
続いて、応答処理装置１００は、ユーザから選択を受けること等により、応答の出力態様を決定する（ステップＳ１１１）。なお、応答の出力態様とは、どの応答を出力させるか、また、どのエージェント１０から出力させるかといった、実際の出力の内容をいう。
【０１９０】
その後、応答処理装置１００は、応答を出力する（ステップＳ１１２）。例えば、応答処理装置１００は、応答を生成したエージェント１０から応答を出力させるよう制御したり、自装置から応答を出力したりする。
【０１９１】
このとき、応答処理装置１００は、出力された内容等について、各エージェント１０にフィードバックを送信する（ステップＳ１１３）。その後、応答をユーザに対して出力した応答処理装置１００は、ユーザとの対話処理が終了したか否かを判定する（ステップＳ１１４）。具体的には、応答処理装置１００は、ユーザとの対話に関する一つのセッションが終了したか否かを判定する。
【０１９２】
対話処理が終了していない場合（ステップＳ１１４；Ｎｏ）、応答処理装置１００は、処理をステップＳ１０１に戻し、対話処理を継続する。一方、対話処理が終了したと判定した場合（ステップＳ１１４；Ｙｅｓ）、応答処理装置１００は、処理を終了する。
【０１９３】
次に、図１２Ｂを用いて、第１の実施形態に係る応答処理の手順を、処理ブロック図を用いて説明する。図１２Ｂは、第１の実施形態に係る処理の流れを示すブロック図である。
【０１９４】
ディスプレイ入力処理１１１では、応答処理装置１００が保持するディスプレイ等を介してユーザ入力を処理する。具体的には、ディスプレイ入力処理１１１は、タッチパネル式ディスプレイ上に表示されたユーザインターフェイス等を介して、入力された情報をコマンド生成処理１１５に送る。ディスプレイ入力処理１１１は、例えば、図７に示す画像入力センサ２０Ｂや検知部４１等に対応する。
【０１９５】
音声入力処理１１２は、ユーザの発話による入力を文字情報（テキスト）に変換する処理を行う。音声入力処理１１２には、雑音などの周囲外音を低減させる信号処理機能が含まれてもよい。音声入力処理１１２は、入力された情報をユーザ入力解析処理１１４へ送る。音声入力処理１１２は、例えば、図７に示す音声入力センサ２０Ａや検知部４１等に対応する。
【０１９６】
特定コマンドデータ保持部１１３は、特定コマンドの種類や、該当する文字列を紐づけて保持する部分となる。なお、特定コマンドの種類や文字列は、ユーザが編集を行うことが可能である。特定コマンドデータ保持部１１３は、例えば、図７に示すコマンドテーブル３３等に対応する。
【０１９７】
ユーザ入力解析処理１１４では、ユーザから受け付けた入力に対して、特定コマンドデータ保持部１１３を参照し、特定コマンドに該当するか否かを判断する。上記のように、特定コマンドの種類としては、「特定のエージェント１０の結果を受け取る」や、「別のエージェント１０の結果を聞く」といったものが該当する。すなわち、ユーザ入力解析処理１１４では、ユーザの音声等を解析し、それらの音声が特定コマンドに該当するか否かを判断する。なお、ユーザ入力解析処理１１４は、受け付けた入力が特定コマンドに該当しなかった場合には、入力された情報（テキスト等）と共に、特定コマンドが存在しなかった旨（空のコマンド解析結果）をコマンド生成処理１１５へと送る。ユーザ入力解析処理１１４は、例えば、図７に示す提示部５０や解析部５１が実行する処理に対応する。
【０１９８】
コマンド生成処理１１５は、ユーザから入力された情報や、ユーザ入力解析処理１１４で解析されたコマンド解析結果を元に、各エージェント１０へ送信するためのコマンドを生成する。なお、コマンド生成処理１１５で生成されたコマンドは、コマンド履歴保持部１１７へも送られ、履歴として保持される。コマンド生成処理１１５は、例えば、図７に示す提示部５０や生成部５２が実行する処理に対応する。
【０１９９】
通信処理１１６は、コマンド生成処理１１５を経て得られたコマンドを、応答処理装置１００に接続されている各エージェント１０のデータフォーマットに合わせた形式に変換し、変換した情報を送信する。その後、通信処理１１６は、各エージェント１０から出力される結果を取得し、結果管理処理１１８へと送る。このとき、通信処理１１６では、取得した応答を、結果保存用の共通フォーマットに変換し、どのエージェント１０からどのような結果が得られたかを紐づけて保持できるようにする。
【０２００】
また、通信処理１１６は、特定コマンドが得られた場合、特定コマンドを結果管理処理１１８へ送る。また、通信処理１１６は、結果管理処理１１８によって管理されている情報を取得し、その内容を各エージェント１０にフィードバックとして送信する。このフィードバックが、各エージェント１０に対して正の報酬（正例）又は負の報酬（負例）として作用する。通信処理１１６は、例えば、図７に示す提示部５０や出力制御部５３、送信部５４等が実行する処理に対応する。
【０２０１】
コマンド履歴保持部１１７は、コマンド生成処理１１５によって発行されたコマンドを時系列で保持する。なお、コマンド履歴保持部１１７は、受け付けられたコマンドの内容や、コマンドの発行頻度等も算出し、保持してもよい。コマンド履歴保持部１１７は、例えば、ユーザ情報テーブル３１や履歴テーブル３４に対応する。
【０２０２】
結果管理処理１１８は、各エージェント１０から得られた結果を保持及び管理する。すなわち、ユーザとの対話を経て得られた情報は、一定時間保持され、その後に受け付けられた特定コマンドに応じて、フィードバック生成処理１１９、もしくは、通信処理１１６へ送られる。なお、既定された時間が経過した場合、保持されていた結果は、適宜、破棄される。結果管理処理１１８は、例えば、図７に示す提示部５０や生成部５２、送信部５４等が実行する処理に対応する。
【０２０３】
フィードバック生成処理１１９は、結果管理処理１１８の保持する情報と、コマンド履歴保持部１１７の頻度情報を元に、ユーザへのフィードバック内容を生成する。例えば、フィードバック生成処理１１９は、利用頻度が高いエージェント１０の結果を優先的に出力すると判定してもよいし、あるいは、毎回ランダムで出力したりしてもよい。また、ユーザは、このような出力の設定を適宜編集してもよい。また、フィードバック生成処理１１９は、音声出力を行う場合、結果管理処理１１８で保持している内容が長大な場合（ニュース記事結果など）、その内容の要約を行ってもよい。フィードバック生成処理１１９は、例えば、図７に示す提示部５０や送信部５４等が実行する処理に対応する。
【０２０４】
ディスプレイ出力処理１２０は、フィードバック生成処理１１９で作成された、エージェント１０の出力結果のすべて、もしくはそこから選択された候補をディスプレイ上に整形し表示する。ディスプレイ出力処理１２０は、例えば、図７に示す出力制御部５３や出力部６０等が実行する処理に対応する。
【０２０５】
音声出力処理１２１は、フィードバック生成処理１１９で作成された、エージェント１０の出力結果のすべて、もしくはそこから選択された候補から音声データを生成し、スピーカ等のデバイスで再生させる。音声出力処理１２１は、例えば、図７に示す出力制御部５３や出力部６０等が実行する処理に対応する。
【０２０６】
なお、上記で示した処理は一例であり、例えば、応答処理装置１００の構成によって、適宜異なる処理が行われてもよい。例えば、入力や出力処理はアプリケーションやサービスにより異なるため、応答処理装置１００は、必ずしもディスプレイ出力と音声出力の両方を実行することを要しない。
【０２０７】
［１−６．第１の実施形態に係る変形例］
上記で説明した第１の実施形態に係る応答処理は、様々な変形を伴ってもよい。以下に、第１の実施形態の変形例について説明する。
【０２０８】
例えば、応答処理装置１００は、エージェントテーブル３２やコマンドテーブル３３に格納された情報について、定期的にアップデートを行ってもよい。例えば、エージェント１０は、ネットワークを介して機能が拡張される場合がある。具体的には、「翻訳」機能を有するエージェント１０が、以前は対応できなかった言語に対応する等のアップデートを行う場合がある。
【０２０９】
この場合、応答処理装置１００は、連携するエージェント１０からアップデートが行われた旨の情報を受信し、受信した情報に基づいて、エージェントテーブル３２やコマンドテーブル３３に格納された情報を更新する。これにより、ユーザは、複数のエージェント１０の各々の機能のアップデート等を意識せずとも、最新の機能を享受することができる。
【０２１０】
（２．第２の実施形態）
［２−１．第２の実施形態に係る応答処理の一例］
次に、第２の実施形態について説明する。第１の実施形態では、応答処理装置１００は、主に音声を用いて応答の結果等をユーザに出力する例を示した。第２の実施形態では、応答処理装置１００が、音声以外の手段を用いて、応答の結果等をユーザに出力する例を示す。
【０２１１】
図１３は、第２の実施形態に係る応答処理の一例を示す図である。図１３では、ユーザが、音声ではなく応答処理装置１００のディスプレイを用いて入力情報を入力し、応答処理装置１００が、音声ではなくディスプレイを用いて応答を提示する例を示す。
【０２１２】
まず、ユーザは、応答処理装置１００のタッチパネル等を介して、応答処理装置１００に入力情報を入力する。図１３に示す入力情報Ａ８１は、ユーザが、応答処理装置１００のディスプレイに「卒業を聞きたい」といったテキストを入力したことを示している。
【０２１３】
ユーザは、ディスプレイへの入力操作等を介して、入力情報Ａ８１を応答処理装置１００に入力する（ステップＳ８１）。応答処理装置１００は、第１の実施形態と同様、入力情報Ａ８１に基づいて、各エージェント１０に応答を生成させる旨のリクエストを送信する（ステップＳ８２）。
【０２１４】
応答処理装置１００は、各エージェント１０から取得した応答に基づいて、ユーザに提示するフィードバックＡ８２を生成する（ステップＳ８３）。フィードバックＡ８２は、例えば、応答処理装置１００のディスプレイ上に表示される。図１３に示すように、フィードバックＡ８２には、各エージェント１０が生成した応答の内容や、再検索を要求する旨のボタン等のユーザインターフェイスが含まれる。
【０２１５】
このように、第２の実施形態に係る応答処理装置１００は、入力情報に対して複数のエージェント１０が生成した各々の応答の内容を含む画面表示を用いて、ユーザに応答の内容を提示してもよい。これにより、応答処理装置１００は、ユーザの状況に合わせて柔軟な情報の提示等を行うことができる。
【０２１６】
［２−２．第２の実施形態に係る応答処理のバリエーション］
次に、図１４及び図１５を用いて、第２の実施形態に係る応答処理のバリエーションについて説明する。図１４は、第２の実施形態に係る応答処理の第１のバリエーションを示す図である。第２の実施形態に係る情報処理の第１のバリエーションでは、例えば、所定の条件に基づいて、応答処理装置１００が表示する応答の表示割合が可変する状況を示す。
【０２１７】
図１４では、例えば、ユーザが「明日の天気は？」といった質問を入力情報Ａ９１として入力した状況を例に挙げる（ステップＳ９１）。応答処理装置１００は、入力情報Ａ９１を受け付けると、入力情報Ａ９１に対応したコマンドを各エージェント１０に送信し、各々の応答の結果を取得する（ステップＳ９２）。
【０２１８】
ここで、各エージェント１０は、各々が異なるサービス（この例では、天気情報サービス）にアクセスして情報を取得するため、各々が異なる応答を生成すると想定される。応答処理装置１００は、これらの応答を取得し、各々の応答が表示されたフィードバックＡ９２を生成する（ステップＳ９３）。
【０２１９】
図１４に示すように、フィードバックＡ９２には、エージェント１０Ａが生成した応答を示す天気情報Ａ９３や、エージェント１０Ｂが生成した応答を示す天気情報Ａ９４や、エージェント１０Ｃが生成した応答を示す天気情報Ａ９５や、エージェント１０Ｄが生成した応答を示す天気情報Ａ９６が含まれる。
【０２２０】
これにより、応答処理装置１００は、各々のエージェント１０が生成した応答を一覧表示することができるので、結果の提示を効率良く行うことができる。
【０２２１】
また、応答処理装置１００は、フィードバックＡ９２に表示される割合について、各エージェント１０の情報や、応答の情報に基づいて変更してもよい。
【０２２２】
一例として、応答処理装置１００は、過去に複数のエージェント１０が生成した応答をユーザが選択した履歴に基づいて、入力情報に対して複数のエージェント１０が生成した各々の応答の内容を画面に表示する割合もしくは面積を決定する。
【０２２３】
例えば、応答処理装置１００は、過去にユーザが選択した回数や割合の多いエージェント１０ほど、画面内で表示される面積を広く表示してもよい。これにより、応答処理装置１００は、ユーザがより好む情報を広く表示することができる。
【０２２４】
また、応答処理装置１００は、入力情報に対して複数のエージェント１０が生成した各々の応答の情報量に応じて、各々の応答の内容を画面に表示する割合もしくは面積を決定してもよい。
【０２２５】
上記の内容について、図１５を用いて説明する。図１５は、第２の実施形態に係るデータベース３５の一例を示す図である。データベース３５は、各エージェント１０が取得した天気情報の内容（情報量）や、ユーザが過去に選択した履歴情報を紐づけて記憶したデータベースである。
【０２２６】
上述のように、エージェント１０Ａ、エージェント１０Ｂ、エージェント１０Ｃ及びエージェント１０Ｄは、それぞれ異なるサービスから情報を取得するため、同じ天気情報でも、応答処理装置１００に送信する情報が異なる。すなわち、応答処理装置１００は、エージェント１０Ａ、エージェント１０Ｂ、エージェント１０Ｃ及びエージェント１０Ｄの各々から異なる応答（天気情報）を取得する。
【０２２７】
例えば、図１５に示すデータベース３５は、応答処理装置１００が取得した応答に含まれる情報を示す。具体的には、図１５に示す例では、エージェント１０Ａが取得した天気情報は、「画面表示」が可能であり、「音声出力」が可能であり、「降水確率」や「花粉情報」が含まれるものの、「紫外線情報」が含まれないことを示している。また、エージェント１０Ｂが取得した天気情報は、「画面表示」が可能であり、「音声出力」が可能であり、「降水確率」が含まれるものの、「紫外線情報」や「花粉情報」が含まれないことを示している。
【０２２８】
すなわち、図１５に示す例では、エージェント１０が提供する情報が「天気予報」である場合、例えばエージェント１０Ａは、天気予報を実行するために（すなわち、天気予報に関する情報を取得するために）、「Ｊ０１」というサービスに接続し、「天気概況、降水確率、画像出力、音声出力、花粉、・・・」といった内容の情報を取得することを示している。また、ユーザが応答処理装置１００に対して天気予報という機能を実行させた場合に、ユーザがエージェント１０Ａの提示した応答を選択した履歴は「Ｌ０１」であることを示している。
【０２２９】
なお、図１５では、提供情報の一例として「天気予報」を示したが、提供情報はこの例に限られず、例えば、「交通情報」や「ニュース」、「レストラン検索」、「番組表検索」、「映画検索」、「イベント情報検索」等であってもよい。
【０２３０】
応答処理装置１００は、データベース３５に含まれる情報を各エージェント１０から取得し、例えば、その応答の情報量に基づいて、フィードバックＡ９２を生成する。具体的には、応答処理装置１００は、より天気情報に関する情報量が多い応答を提示したエージェント１０の表示割合を広くする。あるいは、応答処理装置１００は、過去にユーザから選択された回数の多いエージェント１０の表示割合を広くしてもよい。
【０２３１】
例えば、応答処理装置１００は、図１４で示したように、複数のエージェント１０によって天気情報に関する応答が生成された場合、情報量のより多い応答を、より画面内において広く提示する。あるいは、応答処理装置１００は、ユーザとの対話の履歴を参照し、ユーザが「紫外線情報」よりも「花粉情報」を要求した履歴が多い場合、「花粉情報」という種別が含まれる天気情報を、より画面内において広く提示してもよい。すなわち、応答処理装置１００は、複数の応答が存在する場合、応答の情報量や種別、また、ユーザのこれまでの履歴や状況に応じて、実際にユーザに出力する応答の態様を柔軟に決定する。これにより、応答処理装置１００は、よりユーザの要望に沿った応答を出力することができる。また、応答処理装置１００は、複数のエージェント１０から応答を取得した場合に、その表示割合を動的に変化させてユーザに提示できるので、視覚的に飽きさせない画面表示を行うことができる。
【０２３２】
次に、図１６Ａ及び図１６Ｂを用いて、第２の実施形態に係る応答処理の異なるバリエーションについて説明する。図１６Ａは、第２の実施形態に係る応答処理の第２のバリエーションを示す図である。
【０２３３】
例えば、図１６Ａでは、ユーザが「ニュース見せて」という音声に基づく入力情報Ａ１０１を応答処理装置１００に入力した状況を示している。この場合、応答処理装置１００は、「ニュース見せて」といった音声に対応するコマンドを生成し、各エージェント１０に送信し、各エージェント１０の応答を取得する。そして、応答処理装置１００は、各エージェント１０の応答をフィードバックＡ１０２としてユーザに提示する。その後、ユーザが、「エージェント１０Ｂで」といった特定コマンドＡ１０３を発した場合、応答処理装置１００は、「エージェント１０Ｂに実行させます」といった音声Ａ１０４を出力し、エージェント１０Ｂが提案した応答の内容をエージェント１０Ｂに実行させる。
【０２３４】
このように、応答処理装置１００は、ユーザから受け付けた一つの入力情報Ａ１０１に基づいて、各エージェント１０が実行しようとする各種処理をユーザに提示できる。このため、ユーザは、例えばエージェント１０が各々異なる家電である場合等に、特定の家電にコマンドを入力しなくても、自身が所望する処理をいずれかのエージェント１０に実行させることができる。
【０２３５】
次に、図１６Ｂの例について説明する。図１６Ｂは、第２の実施形態に係る応答処理の第３のバリエーションを示す図である。
【０２３６】
例えば、図１６Ｂでは、ユーザが「暑い」という音声に基づく入力情報Ａ１１１を応答処理装置１００に入力した状況を示している。この場合、応答処理装置１００は、「暑い」といった音声に対応するコマンドを生成し、各エージェント１０に送信し、各エージェント１０の応答を取得する。そして、応答処理装置１００は、各エージェント１０の応答をフィードバックＡ１１２としてユーザに提示する。その後、ユーザが、「エージェント１０Ｂで」といった特定コマンドＡ１１３を発した場合、応答処理装置１００は、「エージェント１０Ｂに実行させます」といった音声Ａ１１４を出力し、エージェント１０Ｂが提案した応答の内容をエージェント１０Ｂに実行させる。
【０２３７】
この場合も、図１６Ａの例と同様、応答処理装置１００は、ユーザから受け付けた一つの入力情報Ａ１１１に基づいて、各エージェント１０が実行しようとする各種処理をユーザに提示できる。このため、ユーザは、自身が実行させたい処理を効率良く選択することができる。
【０２３８】
なお、応答処理装置１００は、図１６Ａ及び図１６Ｂで示した以外にも、いわゆるスマート家電と連携する処理が可能である。例えば、応答処理装置１００は、ユーザから「食材、何が入っている？」や「賞味期限が切れそうなのはなに？」等の入力情報を受け付けた場合、冷蔵庫に搭載されたエージェント１０にコマンドを送信する。そして、応答処理装置１００は、エージェント１０の応答として、ユーザの利用ログや商品タグ等から取得された情報をユーザに提示する。あるいは、応答処理装置１００は、ユーザから「鍵、閉めたかな？」や「鍵、閉めておいて」等の入力情報を受け付けた場合、スマートキーに搭載されたエージェント１０にコマンドを送信する。そして、応答処理装置１００は、エージェント１０の応答として、自宅のカギ状態の情報や、施錠操作を行った旨等の応答をユーザに提示する。あるいは、応答処理装置１００は、ユーザから「居間の電気けして」や「寝室の電気つけて」等の入力情報を受け付けた場合、照明機器に搭載されたエージェント１０にコマンドを送信する。そして、応答処理装置１００は、エージェント１０の応答として、自宅内の照明操作を行った旨等の応答をユーザに提示する。このように、応答処理装置１００は、スマートスピーカー等の情報機器のみならず、種々の情報機器と連携し、ユーザに有用な応答処理を行うことができる。
【０２３９】
（３．その他の実施形態）
上述した各実施形態に係る処理は、上記各実施形態以外にも種々の異なる形態にて実施されてよい。
【０２４０】
［３−１．応答出力のバリエーション］
例えば、応答処理装置１００は、連携する全てのエージェント１０が同一の内容の応答を生成している場合には、ユーザに応答を提示することなく、いずれかのエージェント１０に応答を出力させるよう実行させてもよい。
【０２４１】
［３−２．ユーザの反応を送信するタイミング］
応答処理装置１００は、提示された複数の応答のうち、ユーザがいずれかの応答を選択した直後にエージェント１０にユーザの反応を送信するのではなく、一定時間後にユーザの反応を送信してもよい。
【０２４２】
すなわち、応答処理装置１００は、ユーザのサービスの享受状態を判定し、ユーザがサービスを享受していると想定される時間だけ待機したのちに、ユーザの反応を各エージェント１０に送信する。これにより、応答処理装置１００は、ユーザが誤って応答を選択した場合や、ユーザが実は異なる応答を所望していたといった状況においても、正確にユーザが選択した応答の情報を各エージェント１０にフィードバックできる。なお、応答処理装置１００は、エージェント１０にフィードバックが送信されるタイミングについて、ユーザから登録を受け付けてもよい。
【０２４３】
［３−３．装置構成］
上記各実施形態では、応答処理装置１００がいわゆるスマートフォンやタブレット装置であり、スタンドアロンで処理を行う例を示した。しかし、応答処理装置１００は、ネットワークによって接続されたサーバ装置（いわゆるクラウドサーバ（Cloud  Server）等）と連携して本開示に係る応答処理を行ってもよい。この場合には、スマートフォンやタブレット装置等の端末は、ユーザの発話を集音する処理や、集音した発話をサーバ装置に送信する処理や、サーバ装置から送信された音声を出力する処理といった、ユーザとの対話処理を主に実行するインターフェイスとして機能する。
【０２４４】
また、本開示に係る応答処理装置とは、独立したデバイスではなく、スマートフォンやタブレット装置内に搭載されるＩＣチップ等の態様で実現されてもよい。
【０２４５】
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０２４６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、解析部５１と生成部５２は統合されてもよい。
【０２４７】
また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０２４８】
また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
【０２４９】
（４．本開示に係る応答処理装置の効果）
上述のように、本開示に係る応答処理装置（実施形態では応答処理装置１００）は、受付部（実施形態では受付部４０）と、提示部（実施形態では提示部５０）と、送信部（実施形態では送信部５４）とを備える。受付部は、情報機器（実施形態ではエージェント１０）が応答を生成する契機となる情報である入力情報を受け付ける。提示部は、入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示する。送信部は、提示された応答に対するユーザの反応を複数の情報機器に送信する。
【０２５０】
このように、本開示に係る応答処理装置は、複数の情報機器のフロントエンド機器としてふるまい、複数の応答をユーザに提示したり、ユーザの選択した結果を情報機器に送信したりといった、調停の役割を担う。これにより、応答処理装置は、複数の情報機器をユーザが利用する際に、個々の情報機器に対して対話を行うような手間を省かせることができるので、ユーザの利便性を向上させることができる。
【０２５１】
また、提示部は、提示された各々の応答のうちユーザから選択された応答を、選択された応答を生成した情報機器が出力するよう制御する。これにより、応答処理装置は、ユーザが所望する応答が、ユーザの選択した情報機器から出力するよう制御することができる。
【０２５２】
また、提示部は、提示された各々の応答のうちユーザから選択された応答を、選択された応答を生成した情報機器から取得し、取得した応答を出力する。これにより、応答処理装置は、例えば情報機器が比較的ユーザから離れた位置に設置されている場合等に、情報機器に代えてユーザが所望する応答を出力することができるので、ユーザの利便性を向上させることができる。
【０２５３】
また、受付部は、提示された各々の応答のうちいずれかの応答が出力されたのち、出力する応答を変更する旨を示すコマンドをユーザから受け付ける。提示部は、コマンドに基づいて、出力中の応答を異なる応答へ変更する。これにより、応答処理装置は、最初に行われたユーザとの対話を繰り返すことなく、簡易な対応で、異なる応答をユーザに提示することができるので、ユーザの利便性を向上させることができる。
【０２５４】
また、提示部は、入力情報に対して複数の情報機器が生成した各々の応答に同一の内容が含まれる場合、同一の内容を含む応答をまとめて提示する。これにより、応答処理装置、同一の内容の応答が何度もユーザに対して出力されるような事態を回避することができる。
【０２５５】
また、受付部は、提示された応答に対して異なる応答を要求する旨を示すコマンドをユーザから受け付ける。送信部は、コマンドに基づいて、入力情報に対する再検索の要求を複数の情報機器に送信する。これにより、応答処理装置は、ユーザが望む応答が生成されなかった場合にも、迅速に再検索を実行させることができる。
【０２５６】
また、提示部は、過去に複数の情報機器が生成した応答をユーザが選択した履歴に基づいて、入力情報に対して複数の情報機器が生成した各々の応答のうち、一つの応答を選択してユーザに対して出力する。これにより、応答処理装置は、ユーザからの明示の選択がなくても応答を出力できるので、ユーザの手間を低減させることができる。
【０２５７】
また、送信部は、ユーザの反応として、提示された各々の応答のうちユーザから選択された応答に関する情報を複数の情報機器に送信する。これにより、応答処理装置は、一つの対話で複数の正例や負例を複数の情報機器に送信できるので、情報機器の学習を効率良く進めることができる。
【０２５８】
また、送信部は、ユーザから選択された応答に関する情報として、ユーザから選択された応答の内容、もしくは、ユーザから選択された応答を生成した情報機器の識別情報を複数の情報機器に送信する。これにより、応答処理装置は、どのような内容の応答をユーザが欲していたかという具体的な情報を情報機器に提供することができる。
【０２５９】
また、送信部は、ユーザの反応として、提示された各々の応答のうちいずれもがユーザから選択されなかったことを示す情報を複数の情報機器に送信する。これにより、応答処理装置は、ユーザの欲していない情報をまとめて情報機器に送信できるので、ユーザの欲していない情報が何度もユーザに提示されるような事態を回避することができる。
【０２６０】
また、送信部は、提示された各々の応答のうちいずれもがユーザから選択されなかったことを示す情報とともに、各々の応答の内容を複数の情報機器に送信する。これにより、応答処理装置は、ユーザの欲していない情報をまとめて情報機器に送信できるので、ユーザの欲していない情報が何度もユーザに提示されるような事態を回避することができる。
【０２６１】
また、提示部は、入力情報に対して複数の情報機器が生成した各々の応答の内容を含む音声を用いて、ユーザに提示する。これにより、応答処理装置は、複数の応答をユーザにわかりやすく提示することができる。
【０２６２】
また、提示部は、入力情報に対して複数の情報機器が生成した各々の応答の内容を含む画面表示を用いて、ユーザに提示する。これにより、応答処理装置は、音声によらずとも、複数の応答をユーザに一度に提示することができる。
【０２６３】
また、提示部は、過去に複数の情報機器が生成した応答をユーザが選択した履歴に基づいて、入力情報に対して複数の情報機器が生成した各々の応答の内容を画面に表示する割合もしくは面積を決定する。これにより、応答処理装置は、ユーザが欲すると想定される情報を視認性の高い状態でユーザに提示できるので、応答処理のユーザビリティを向上させることができる。
【０２６４】
また、提示部は、入力情報に対して複数の情報機器が生成した各々の応答の情報量に応じて、各々の応答の内容を画面に表示する割合もしくは面積を決定する。これにより、応答処理装置は、より情報量の多い応答を視認性の高い状態でユーザに提示できるので、応答処理のユーザビリティを向上させることができる。
【０２６５】
また、受付部は、入力情報として、ユーザが発した音声情報を受け付ける。これにより、応答処理装置は、音声を介したユーザとのコミュニケーションにおいて、ユーザの状況に合わせた適切な対話を行うことができる。
【０２６６】
また、受付部は、入力情報として、ユーザから入力されるテキストを受け付ける。これにより、応答処理装置は、ユーザが発話をせずとも、ユーザの入力したテキストに対応した適切な応答を提示することができる。
【０２６７】
（５．ハードウェア構成）
上述してきた各実施形態に係る応答処理装置１００やエージェント１０、外部サーバ２００等の情報機器は、例えば図１７に示すような構成のコンピュータ１０００によって実現される。以下、第１の実施形態に係る応答処理装置１００を例に挙げて説明する。図１７は、応答処理装置１００の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス１５００、及び入出力インターフェイス１６００を有する。コンピュータ１０００の各部は、バス１０５０によって接続される。
【０２６８】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムをＲＡＭ１２００に展開し、各種プログラムに対応した処理を実行する。
【０２６９】
ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０２７０】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、ＨＤＤ１４００は、プログラムデータ１４５０の一例である本開示に係る応答処理プログラムを記録する記録媒体である。
【０２７１】
通信インターフェイス１５００は、コンピュータ１０００が外部ネットワーク１５５０（例えばインターネット）と接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、通信インターフェイス１５００を介して、他の機器からデータを受信したり、ＣＰＵ１１００が生成したデータを他の機器へ送信したりする。
【０２７２】
入出力インターフェイス１６００は、入出力デバイス１６５０とコンピュータ１０００とを接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやスピーカやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス１６００は、所定の記録媒体（メディア）に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０２７３】
例えば、コンピュータ１０００が第１の実施形態に係る応答処理装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされた応答処理プログラムを実行することにより、受付部４０等の機能を実現する。また、ＨＤＤ１４００には、本開示に係る応答処理プログラムや、記憶部３０内のデータが格納される。なお、ＣＰＵ１１００は、プログラムデータ１４５０をＨＤＤ１４００から読み取って実行するが、他の例として、外部ネットワーク１５５０を介して、他の装置からこれらのプログラムを取得してもよい。
【０２７４】
なお、本技術は以下のような構成も取ることができる。
（１）
情報機器が応答を生成する契機となる情報である入力情報を受け付ける受付部と、
前記入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示する提示部と、
前記提示された応答に対するユーザの反応を前記複数の情報機器に送信する送信部と
を備える応答処理装置。
（２）
前記提示部は、
前記提示された各々の応答のうち前記ユーザから選択された応答を、当該選択された応答を生成した情報機器が出力するよう制御する
前記（１）に記載の応答処理装置。
（３）
前記提示部は、
前記提示された各々の応答のうち前記ユーザから選択された応答を、当該選択された応答を生成した情報機器から取得し、取得した応答を出力する
前記（１）又は（２）に記載の応答処理装置。
（４）
前記受付部は、
前記提示された各々の応答のうちいずれかの応答が出力されたのち、出力する応答を変更する旨を示すコマンドを前記ユーザから受け付け、
前記提示部は、
前記コマンドに基づいて、出力中の応答を異なる応答へ変更する
前記（１）〜（３）のいずれかに記載の応答処理装置。
（５）
前記提示部は、
前記入力情報に対して複数の情報機器が生成した各々の応答に同一の内容が含まれる場合、当該同一の内容を含む応答をまとめて提示する
前記（１）〜（４）のいずれかに記載の応答処理装置。
（６）
前記受付部は、
前記提示された応答に対して異なる応答を要求する旨を示すコマンドを前記ユーザから受け付け、
前記送信部は、
前記コマンドに基づいて、前記入力情報に対する再検索の要求を前記複数の情報機器に送信する
前記（１）〜（５）のいずれかに記載の応答処理装置。
（７）
前記提示部は、
過去に前記複数の情報機器が生成した応答をユーザが選択した履歴に基づいて、前記入力情報に対して当該複数の情報機器が生成した各々の応答のうち、一つの応答を選択して当該ユーザに対して出力する
前記（１）〜（６）のいずれかに記載の応答処理装置。
（８）
前記送信部は、
前記ユーザの反応として、前記提示された各々の応答のうち前記ユーザから選択された応答に関する情報を前記複数の情報機器に送信する
前記（１）〜（７）のいずれかに記載の応答処理装置。
（９）
前記送信部は、
前記ユーザから選択された応答に関する情報として、当該ユーザから選択された応答の内容、もしくは、当該ユーザから選択された応答を生成した情報機器の識別情報を前記複数の情報機器に送信する
前記（８）に記載の応答処理装置。
（１０）
前記送信部は、
前記ユーザの反応として、前記提示された各々の応答のうちいずれもが前記ユーザから選択されなかったことを示す情報を前記複数の情報機器に送信する
前記（１）〜（９）のいずれかに記載の応答処理装置。
（１１）
前記送信部は、
前記提示された各々の応答のうちいずれもが前記ユーザから選択されなかったことを示す情報とともに、当該各々の応答の内容を前記複数の情報機器に送信する
前記（１０）に記載の応答処理装置。
（１２）
前記提示部は、
前記入力情報に対して複数の情報機器が生成した各々の応答の内容を含む音声を用いて、前記ユーザに提示する
前記（１）〜（１１）のいずれかに記載の応答処理装置。
（１３）
前記提示部は、
前記入力情報に対して複数の情報機器が生成した各々の応答の内容を含む画面表示を用いて、前記ユーザに提示する
前記（１）〜（１２）のいずれかに記載の応答処理装置。
（１４）
前記提示部は、
過去に前記複数の情報機器が生成した応答をユーザが選択した履歴に基づいて、前記入力情報に対して複数の情報機器が生成した各々の応答の内容を画面に表示する割合もしくは面積を決定する
前記（１３）に記載の応答処理装置。
（１５）
前記提示部は、
前記入力情報に対して複数の情報機器が生成した各々の応答の情報量に応じて、当該各々の応答の内容を画面に表示する割合もしくは面積を決定する
前記（１３）又は（１４）に記載の応答処理装置。
（１６）
前記受付部は、
前記入力情報として、前記ユーザが発した音声情報を受け付ける
前記（１）〜（１５）のいずれかに記載の応答処理装置。
（１７）
前記受付部は、
前記入力情報として、前記ユーザから入力されるテキストを受け付ける
前記（１）〜（１６）のいずれかに記載の応答処理装置。
（１８）
コンピュータが、
情報機器が応答を生成する契機となる情報である入力情報を受け付け、
前記入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示し、
前記提示された応答に対するユーザの反応を前記複数の情報機器に送信する
応答処理方法。
（１９）
コンピュータを、
情報機器が応答を生成する契機となる情報である入力情報を受け付ける受付部と、
前記入力情報に対して複数の情報機器が生成した各々の応答をユーザに提示する提示部と、
前記提示された応答に対するユーザの反応を前記複数の情報機器に送信する送信部と
として機能させるための応答処理プログラム。
【符号の説明】
【０２７５】
１  応答処理システム
１０  エージェント
１００  応答処理装置
２０  センサ
２０Ａ  音声入力センサ
２０Ｂ  画像入力センサ
２１  入力部
２２  通信部
３０  記憶部
３１  ユーザ情報テーブル
３２  エージェントテーブル
３３  コマンドテーブル
３４  履歴テーブル
４０  受付部
４１  検知部
４２  登録部
４３  取得部
５０  提示部
５１  解析部
５２  生成部
５３  出力制御部
５４  送信部
６０  出力部
２００  外部サーバ
【図１】
2020149031.tif 000003
【図２Ａ】
2020149031.tif 000004
【図２Ｂ】
2020149031.tif 000005
【図２Ｃ】
2020149031.tif 000006
【図２Ｄ】
2020149031.tif 000007
【図３Ａ】
2020149031.tif 000008
【図３Ｂ】
2020149031.tif 000009
【図３Ｃ】
2020149031.tif 000010
【図３Ｄ】
2020149031.tif 000011
【図４Ａ】
2020149031.tif 000012
【図４Ｂ】
2020149031.tif 000013
【図５】
2020149031.tif 000014
【図６Ａ】
2020149031.tif 000015
【図６Ｂ】
2020149031.tif 000016
【図７】
2020149031.tif 000017
【図８】
2020149031.tif 000018
【図９】
2020149031.tif 000019
【図１０】
2020149031.tif 000020
【図１１】
2020149031.tif 000021
【図１２Ａ】
2020149031.tif 000022
【図１２Ｂ】
2020149031.tif 000023
【図１３】
2020149031.tif 000024
【図１４】
2020149031.tif 000025
【図１５】
2020149031.tif 000026
【図１６Ａ】
2020149031.tif 000027
【図１６Ｂ】
2020149031.tif 000028
【図１７】
2020149031.tif 000029
【国際調査報告】
2020149031.tif 000030
2020149031.tif 000031
2020149031.tif 000032
2020149031.tif 000033
2020149031.tif 000034
2020149031.tif 000035