(57)【要約】【課題】コミュニケーションの満足度を向上させることができる対話装置等を提供する。【解決手段】対話装置１００は、ユーザとコミュニケーションをとる対話装置であって、ユーザからの入力に対する応答候補を作成する処理を複数並行して実行し、得られた複数の応答候補のうち最も評価値の高い応答候補を選定する応答選定部１１３と、応答選定部１１３が選定した応答候補をユーザからの入力に対する応答として出力する音声出力部１５０と、を備える。【選択図】図１
2018165746.tif 000002
【特許請求の範囲】
【請求項１】
ユーザとコミュニケーションをとる対話装置であって、
前記ユーザからの入力に対する応答候補を作成する処理を複数並行して実行し、得られた複数の応答候補のうち最も評価値の高い応答候補を選定する応答選定手段と、
前記応答選定手段が選定した応答候補を前記ユーザからの入力に対する応答として出力する出力手段と、を備える、
対話装置。
【請求項２】
前記応答選定手段は、
互いに異なる評価基準に従って前記ユーザからの入力に対応する応答情報の各々の評価値を算出して応答候補を作成する複数の応答候補作成手段を有し、
前記複数の応答候補作成手段により得られた前記複数の応答候補の各々の前記評価値を正規化し、正規化された評価値の比較結果に基づいて、前記ユーザからの入力に対する応答候補を選定する、
請求項１に記載の対話装置。
【請求項３】
前記応答に対する前記ユーザの反応を判定する反応判定手段、を備え、
前記応答選定手段は、前記反応判定手段による判定結果が所定の条件を満たさない場合、前記複数の応答候補から前記ユーザからの入力に対する新たな応答候補を選定する、
請求項１または２に記載の対話装置。
【請求項４】
前記応答選定手段は、前記反応判定手段による前記判定結果を前記評価値にフィードバックする、
請求項３に記載の対話装置。
【請求項５】
前記応答候補作成手段は、前記応答情報に対応付けられた複数の入力予測情報から前記応答に対する前記ユーザの反応を示す入力予測候補を抽出する、
請求項２に記載の対話装置。
【請求項６】
前記応答に対する前記ユーザからの入力と前記入力予測候補との類似性を評価する類似評価手段、を備える、
請求項５に記載の対話装置。
【請求項７】
前記応答選定手段は、前記類似評価手段による評価結果を前記評価値にフィードバックする、
請求項６に記載の対話装置。
【請求項８】
前記複数の応答候補は、並列に実行可能な複数のスレッドの各々により抽出された応答候補である、
請求項１から７のいずれか１項に記載の対話装置。
【請求項９】
前記複数のスレッドの各々は、互いに異なるアルゴリズムを用いて、前記複数の応答候補の１つを抽出する、
請求項８に記載の対話装置。
【請求項１０】
ユーザとコミュニケーションをとる対話制御方法であって、
前記ユーザからの入力に対する応答候補を作成する処理を複数並行して実行し、
得られた複数の応答候補のうち最も評価値の高い応答候補を選定し、
選定された応答候補を前記ユーザからの入力に対する応答として出力する、
対話制御方法。
【請求項１１】
ユーザとコミュニケーションをとる対話制御方法であって、
前記ユーザからの入力を受け付ける入力ステップと、
複数の評価基準に従って前記入力に対応する各応答情報の評価値を算出し、前記評価基準ごとに応答候補を並行して抽出する応答候補抽出ステップと、
前記応答候補の各々の前記評価値の比較結果に基づいて、前記応答候補から前記入力に対する応答候補を選定する応答選定ステップと、
前記応答選定ステップにより選定された応答候補を前記入力に対する応答として出力する出力ステップと、を備える、
対話制御方法。
【請求項１２】
ユーザとコミュニケーションをとる対話装置のコンピュータに、
前記ユーザからの入力に対する応答候補を作成する処理を複数並行して実行し、得られた複数の応答候補のうち最も評価値の高い応答候補を選定する応答選定処理と、
前記応答選定処理で選定された応答候補を前記ユーザからの入力に対する応答として出力する出力処理と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話装置、対話制御方法及びプログラムに関する。
【背景技術】
【０００２】
ユーザとコミュニケーションをとる対話装置に関する技術が広く知られている。例えば、特許文献１は、ユーザから発せられた音声に基づいてその発話内容を認識し、適切に応答するための対話装置を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１３８１４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１が開示する対話装置は、応答に対するユーザの反応が得られない場合には、ユーザに対して応答に対する更なる発話を要求する応答処理を実行するため、ユーザは、滞りなく自己の発話に対する適切な応答を得ることができず、対話装置とのコミュニケーションに対して不満を抱く可能性がある。
【０００５】
本発明は、上述のような事情に鑑みてなされたものであり、コミュニケーションの満足度を向上させることができる対話装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するため、本発明に係る対話装置は、
ユーザとコミュニケーションをとる対話装置であって、
前記ユーザからの入力に対する応答候補を作成する処理を複数並行して実行し、得られた複数の応答候補のうち最も評価値の高い応答候補を選定する応答選定手段と、
前記応答選定手段が選定した応答候補を前記ユーザからの入力に対する応答として出力する出力手段と、を備える。
【発明の効果】
【０００７】
本発明によれば、コミュニケーションの満足度を向上させることができる対話装置等を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係る対話装置の構成を示すブロック図である。
【図２】応答情報テーブルの一例を示す図である。
【図３】対話履歴テーブルの一例を示す図である。
【図４】応答処理の流れを示すフローチャートである。
【図５】実施の形態２に係る応答情報テーブルの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態に係る対話装置について、図面を参照しながら説明する。
【００１０】
（実施の形態１）
本実施の形態に係る対話装置１００は、ユーザの発話に対して適切な応答を出力することにより、ユーザとコミュニケーションをとる装置である。ここで、ユーザと対話装置１００とがコミュニケーションをとるための手段としては、映像、文字、音声等を用いた各種の交流手段が適用可能であるが、本実施の形態では、音声を用いて両者がコミュニケーションをとる例について説明する。
【００１１】
対話装置１００は、図１に示すように、制御部１１０、記憶部１２０、センサ部１３０、音声入力部１４０、音声出力部１５０、通信部１６０を備える。これらの各部位は、バスラインＢＬを介して相互に電気的に接続されている。
【００１２】
制御部１１０は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を有するコンピュータから構成される。制御部１１０は、ＲＯＭに記憶された各種の動作プログラムを読み出してＲＡＭ上で実行することにより、対話装置１００の各構成部位を制御する。
【００１３】
また、制御部１１０は、機能的には、音声認識部１１１、応答候補生成部１１２、応答選定部１１３、応答生成部１１４、反応判定部１１５を有する。制御部１１０は、これらの各部位を適宜機能させることにより、応答選定手段、応答候補作成手段、反応判定手段、類似評価手段として機能する。
【００１４】
音声認識部１１１は、音声入力部１４０から取得した音声データに所定の音声認識処理を施して、ユーザの発話文をテキストデータに変換する。
【００１５】
応答候補生成部１１２は、ユーザの発話に対する応答候補を生成する。応答候補生成部１１２は、応答情報データベースに格納された、ユーザの発話に対応付けられた複数の応答情報からそれぞれ応答候補を抽出する応答候補抽出部１１２ａ〜１１２ｃを有する。応答候補抽出部１１２ａ〜１１２ｃは、互いに異なる抽出アルゴリズムに基づいてそれぞれ単一の応答候補を抽出する。また、応答候補抽出部１１２ａ〜１１２ｃは、別個のスレッドにより応答候補の抽出処理を並列に実行する。応答候補抽出部１１２ａ〜１１２ｃは、互いに異なる評価基準に従ってユーザの発話に対応する各応答情報の評価値を算出して応答候補を作成する複数の応答候補作成手段として機能する。
【００１６】
ここで、応答候補抽出部１１２ａは第１抽出アルゴリズム、応答候補抽出部１１２ｂは第２抽出アルゴリズム、応答候補抽出部１１２ｃは第３抽出アルゴリズムに基づいて各々応答候補に対する評価値を算出して応答候補を抽出するものとする。評価値は、応答候補を抽出する際の度合いを規定する指標として用いられる。
【００１７】
第１抽出アルゴリズムは、ユーザの発話に含まれる単語を、予め用意されたテンプレートに当てはめることにより応答文を作成し、作成した応答文と応答情報テーブルの応答情報との一致率に応じて評価値を算出することにより、応答候補を抽出する。第１抽出アルゴリズムでは、例えば、ユーザの「今日は良い天気だね」という発話から「良い」と「天気」という単語が抽出され、「形容詞＋名詞＋ですね」というテンプレートに当てはめることにより、「良い天気ですね」という応答文が作成される。
【００１８】
第２抽出アルゴリズムは、ユーザの発話に含まれる単語と共起性の高い単語を多く含む応答情報の評価値が高くなるように算定する。単語の共起関係については、共起情報を記憶部１２０の所定の領域に記憶しておいてもよいし、インターネット検索により適宜取得するようにしてもよい。
【００１９】
第３抽出アルゴリズムは、ユーザの発話に含まれる単語を基に検索クエリを作成し、インターネット検索による検索結果との一致率が高い応答情報の評価値が高くなるように算定する。
【００２０】
各抽出アルゴリズムは、各応答情報の評価値と重み値とを加算した総合評価値に基づいて応答候補を抽出する。なお、総合評価値が最高である応答情報が応答候補として常に抽出されるものではなく、相対的に評価値が高い応答情報が抽出される確率を高めるように構成してもよい。また、応答候補生成部１１２は、応答候補抽出部１１２ａ〜１１２ｃの３つを有するものとして説明するが、これに限られず、任意の数の応答候補抽出部が本実施の形態に適用可能である。
【００２１】
応答選定部１１３は、ユーザの発話に対する応答として、応答候補生成部１１２から提示された所定数の応答候補からユーザの発話に対する応答候補を選定する。より具体的には、応答選定部１１３は、所定数の応答候補に対応付けられた評価値を周知の手法により正規化する。これにより、異なる抽出アルゴリズムに基づいて算出された各評価値を同等に取り扱い、これらを比較することが可能となる。応答選定部１１３は、正規化された評価値が最も高い応答候補をユーザの発話に対する応答として選定する。また、応答選定部１１３は、反応判定部１１５による判定結果が所定の条件を満たさない場合には、所定数の応答候補から新たな応答候補を選定する。
【００２２】
応答生成部１１４は、応答選定部１１３により選定された応答データに音声合成処理を施して応答音声データを生成し、音声出力部１５０に出力する。
【００２３】
反応判定部１１５は、対話装置１００の応答に対するユーザの反応を判定する。反応判定部１１５は、例えば、対話装置１００の応答の出力後に音声入力部１４０やセンサ部１３０を介して取得したユーザの発話の内容やユーザの表情の変化等に基づいて、「良好」（肯定的判定）、「普通」、「不良」（否定的判定）の３段階で対話装置１００の応答に対するユーザの反応を判定する。
【００２４】
反応判定部１１５は、例えば、ユーザの発話の内容が肯定的なもの（例えば、「そう、そう」、「なるほど」等）であったり、満足そうな表情に変化した場合には、ユーザの反応を「良好」と判定する。一方、所定時間内にユーザの反応を検出しない場合や、ユーザの発話の内容が否定的なもの（例えば、「え？」、「ん？」、「そうじゃなくて」等）であったり、不機嫌そうな表情に変化した場合には、ユーザの反応を「不良」と判定する。ユーザの反応の判定には、対話装置１００が応答を出力してからユーザの反応を検出するまでの経過時間の長短等を考慮してもよい。
【００２５】
応答選定部１１３は、ユーザの発話に対する応答として出力した応答情報の評価値に対して反応判定部１１５による判定結果を反映（フィードバック）する。応答選定部１１３は、例えば、判定結果が良好であった応答情報の重み値を増加させ、判定結果が不良であった応答情報の重み値を減少させる。
【００２６】
また、応答選定部１１３は、反応判定部１１５による判定結果が所定の条件を満たさない場合には、新たな応答候補を選定する。本実施の形態では、所定の条件を判定結果が「良好」であることと規定し、応答選定部１１３は、反応判定部１１５による判定結果が「良好」以外である場合、すなわち、判定結果が「普通」または「不良」の場合には、新たな応答候補を選定するものとする。
【００２７】
記憶部１２０は、記憶内容が書き換え可能な不揮発性の半導体メモリ、ハードディスクドライブ等から構成され、例えば、ユーザの発話に対する応答情報を格納する応答情報データベース、ユーザと対話装置１００との対話履歴を格納する対話履歴データベース等の各種データを記憶する。
【００２８】
応答情報データベースは、例えば、図２に示す応答情報テーブルから構成される。この応答情報テーブルは、ユーザの発話ごとにその応答情報を管理するためのテーブルである。応答情報テーブルは、具体的には、図２に示すように、ユーザ発話、応答情報、総合評価値が対応付けられている。総合評価値は、抽出アルゴリズム（図２ではアルゴリズムを「ＡＬ」と表記）毎に評価値と重み値（図２では各セルの右下に表記）を含む。評価値は、応答候補抽出部１１２ａ〜１１２ｃがユーザの発話に対する応答候補を抽出する際に算出された数値であり、ユーザの発話に対して新たな応答候補を抽出するごとに更新される。また、重み値は、各応答情報の相対的な重要度を定量評価した数値である。この重み値は、例えば、応答情報がユーザの発話に対する応答として出力された際のユーザの反応に応じて増減される。なお、ユーザ発話および応答情報は、ユーザの発話文および対話装置１００の応答文そのものがテキストデータの形式で格納されているものとする。
【００２９】
対話履歴データベースは、例えば、図３に示す対話履歴テーブルから構成される。この対話履歴テーブルは、ユーザと対話装置１００との間で取り交わされた一連の対話を記憶するためのテーブルである。対話履歴テーブルは、具体的には、図３に示すように、発話の順序を示す「対話通番」、発話の日時を示す「発話日時」、発話の主体を示す「発話区別」、発話の内容を示す「発話内容」が対応付けられている。なお、発話内容は、ユーザの発話文および対話装置１００の応答文そのものがテキストデータの形式で格納されているものとする。
【００３０】
センサ部１３０は、カメラ、赤外線センサ、放射温度計等から構成され、ユーザやその周囲の状態等を検出する。例えば、センサ部１３０は、カメラでユーザの顔を撮像し、表情の変化や口の形状等に基づいて対話装置１００の応答に対するユーザの反応を示す各種情報を検出する。
【００３１】
音声入力部１４０は、例えば、マイクロフォン、ＡＤ（Analog to Digital）コンバータ等で構成され、ユーザから発せられた発話音声を取り込み、この発話音声をデジタル信号の発話データ（音声データ）に変換して、音声認識部１１１に出力する。
【００３２】
音声出力部１５０は、例えば、スピーカ、ＤＡ（Digital to Analog）コンバータ等で構成され、制御部１１０の制御の下、応答データ（音声データ）をアナログ信号の音声データに変換して、ユーザの発話に対する応答として出力する。
【００３３】
通信部１６０は、インターネット等のネットワークＮＷに接続して外部機器とデータ通信をするためのネットワークカード、アンテナ等から構成される。通信部１６０は、制御部１１０の制御に従って、インターネット上で提供されるＷｅｂ（World Wide Web）検索サービスから検索要求を送信し、その応答として検索結果を受信する。
【００３４】
次に、図４に示すフローチャートを参照しながら、対話装置１００の制御部１１０が実行する応答処理について説明する。応答処理は、ユーザの発話に対して応答するための処理である。
【００３５】
制御部１１０は、音声入力部１４０を介して、ユーザの発話音声を取得したことに応答して、応答処理の実行を開始する。制御部１１０は、応答処理を開始すると、まず、ユーザの発話内容を特定する（ステップＳ１０１）。より具体的には、制御部１１０の音声認識部１１１は、音声入力部１４０を介して取得したユーザの発話データに音声認識処理を施して取得したテキストデータを解析し、このテキストデータに含まれる単語を抽出する。そして、音声認識部１１１は、応答情報データベース内の応答情報テーブルを参照し、抽出した単語およびそれらの組合せと合致または近似するユーザ発話を特定する。
【００３６】
次に、制御部１１０は、ユーザの発話に対する応答候補を生成する（ステップＳ１０２）。制御部１１０の応答候補生成部１１２が有する応答候補抽出部１１２ａ〜１１２ｃが、各々、応答情報テーブルを参照して、第１〜第３抽出アルゴリズムに基づいて、ステップＳ１０１において特定されたユーザ発話に対応付けられた複数の応答情報から単一の応答情報を応答候補として抽出することにより、ユーザの発話に対する応答候補を生成する。応答候補抽出部１１２ａ〜１１２ｃによる応答候補の抽出は、３つのスレッドを同時実行させて並列に処理される。
【００３７】
ステップＳ１０２の処理を実行した後、制御部１１０は、ステップＳ１０２において生成された３つの応答候補からユーザの発話に対する応答として今回出力する応答候補を選定する（ステップＳ１０３）。制御部１１０の応答選定部１１３は、応答候補生成部１１２が生成した３つの応答候補の総合評価値を比較し、この総合評価値が最大の応答候補を選定する。
【００３８】
続いて、制御部１１０は、ステップＳ１０３において選定した応答候補を出力する（ステップＳ１０４）。制御部１１０の応答生成部１１４は、応答選定部１１３により選定された応答候補の応答データに音声合成処理を施して音声データを生成し、音声出力部１５０に出力する。制御部１１０は、音声出力部１５０を制御して、応答音声を出力する。
【００３９】
制御部１１０は、応答音声を出力した後、反応待機時間の計測を開始する（ステップＳ１０５）。制御部１１０は、例えば、ＣＰＵに内蔵されたタイマのカウントをスタートさせ、応答音声を出力してからこの応答音声に対するユーザの反応を検出するまでの経過時間を計測する。
【００４０】
反応待機時間の計測を開始した後、制御部１１０は、ユーザの反応を検出したか否かを判定する（ステップＳ１０６）。制御部１１０は、音声入力部１４０やセンサ部１３０を介して、ユーザの発話音声や表情の変化を検出したか否かに応じて、応答音声に対するユーザの反応の検出の有無を判定する。
【００４１】
ユーザの反応を検出していないと判定した場合（ステップＳ１０６；ＮＯ）、制御部１１０は、反応待機時間の計測を開始した後、所定時間（例えば、１０秒）が経過したか否かを判定する（ステップＳ１０７）。所定時間が経過していないと判定した場合（ステップＳ１０７；ＮＯ）、制御部１１０は、処理をステップＳ１０６に戻し、ユーザの反応の検出を確認する。一方、所定時間が経過したと判定した場合（ステップＳ１０７；ＹＥＳ）、制御部１１０は、処理をステップＳ１１１に進める。
【００４２】
ユーザの反応を検出したと判定した場合（ステップＳ１０６；ＹＥＳ）、制御部１１０は、ユーザの反応が良好であるか否かを判定する（ステップＳ１０８）。制御部１１０の反応判定部１１５は、音声入力部１４０やセンサ部１３０が検出したユーザの反応を示す各種データに基づいて、ステップＳ１０４において出力した応答に対するユーザの反応を判定する。制御部１１０は、この判定結果に応じてユーザの反応が良好であるか否かを判定する。
【００４３】
ユーザの反応が良好ではないと判定した場合（ステップＳ１０８；ＮＯ）、制御部１１０は、全ての応答候補が出力されたか否かを判定する（ステップＳ１０９）。ステップＳ１０２において生成された３つの応答候補が全て出力されていないと判定した場合（ステップＳ１０９；ＮＯ）、制御部１１０は、反応待機時間の計測を停止し（ステップＳ１１０）、処理をステップＳ１０３に戻す。これにより、制御部１１０の応答選定部１１３によって新たな応答候補が選択されて出力される。
【００４４】
一方、ステップＳ１０２において生成された３つの応答候補が全て出力されたと判定した場合（ステップＳ１０９；ＹＥＳ）、制御部１１０は、反応待機時間の計測を停止し（ステップＳ１１１）、ユーザの反応の判定結果をフィードバックする（ステップＳ１１２）。制御部１１０の応答選定部１１３は、例えば、反応判定部１１５による判定結果が良好であった場合には、応答情報の重み値を増加させ、判定結果が不良であった場合には、応答情報の重み値を減少させる。その後、制御部１１０は、応答処理を終了する。
【００４５】
以上に述べたように、本実施の形態によれば、対話装置１００は、ユーザの発話に応じて、別個のスレッドを並行して実行して複数の応答候補を抽出し、そのうちの最適な応答候補を選定してユーザの発話に対する応答として出力する。また、出力した応答に対するユーザの反応が良好でない場合には、新たな応答候補を選定して出力する。このように、対話装置１００によれば、ユーザの発話に対して即時に別の応答を実行することが可能であり、円滑なコミュニケーションを図ることができる。
【００４６】
（実施の形態２）
上記の実施の形態１では、応答候補抽出部１１２ａ〜１１２ｃが、応答情報データベースを構成するユーザ発話と応答情報とが対応付けられた応答情報テーブルを参照して、異なる抽出アルゴリズムを用いてユーザの発話に対する応答候補を並列して抽出し、応答選定部１１３が、各応答候補の総合評価値に基づいて出力すべき応答候補を選定した。しかし、ユーザの発話に対して適切な応答候補を選定するための手法は、これに限られるものではない。本実施の形態では、ユーザの発話に対して適切な応答候補を選定するための他の手法について説明する。
【００４７】
本実施の形態では、応答候補抽出部１１２ａ〜１１２ｃは、ユーザの発話に対する応答候補とともに、応答に対する次のユーザの発話を予測する発話予測候補を抽出するように構成される。応答情報データベースは、例えば、図５に示す応答情報テーブルから構成される。この応答情報テーブルは、ユーザ発話と応答情報と発話予測情報と総合評価値とが対応付けられた応答情報テーブルから構成されている。発話予測情報の内容は、対応付けられた応答情報の内容と関連するものである。
【００４８】
応答候補抽出部１１２ａ〜１１２ｃは、この応答情報テーブルを参照して、ユーザの発話に対する応答候補とこれに対応する発話予測候補を抽出する。このとき、応答候補抽出部１１２ａ〜１１２ｃが応答候補と発話予測候補をそれぞれ抽出するための抽出アルゴリズムは、実施の形態１と同様のものを用いてもよいし、別途、異なる抽出アルゴリズムを用いてもよい。例えば、対話履歴データベースに記憶された過去の対話における応答頻度、ユーザの反応、ユーザの反応に伴う応答のやり直し等を参酌して応答候補を抽出するといった抽出アルゴリズムを適用してもよい。
【００４９】
応答選定部１１３は、応答候補抽出部１１２ａ〜１１２ｃがそれぞれ抽出した応答候補の総合評価値を周知の手法により正規化した上で、正規化された総合評価値が高い応答候補から順次選定し、応答生成部１１４および音声出力部１５０を介して応答候補が出力される。
【００５０】
応答候補が出力された後、音声入力部１４０を介して応答に対するユーザの反応を示す発話を取得した場合、反応判定部１１５は、応答に対するユーザの発話と発話予測候補との類似性を評価する。例えば、応答に対するユーザの発話と発話予測候補との類似性が高いと評価した場合には、ユーザの発話に対して適切な応答がなされたものと判定される。一方、応答に対するユーザの発話と発話予測候補との類似性が低いと評価した場合には、ユーザの発話に対して適切でない応答がなされたものと判定される。また、応答選定部１１３は、ユーザの発話に対する応答として出力した応答情報および発話予測情報の評価値に対して評価結果を反映する。このように、反応判定部１１５は、類似評価手段として機能する。
【００５１】
以上に述べたように、本実施の形態によれば、対話装置１００は、センサ部１３０を介してユーザの表情の変化等に関する情報を取得することができなかった場合であっても、音声入力部１４０を介して応答に対するユーザの発話を取得することができれば、発話予測候補と比較することによって、応答が適切であったか否かを一義的に判定することが可能となる。
【００５２】
なお、本発明は、上記の実施の形態に限定されず、種々の変形及び応用が可能である。上記の実施の形態は、次のように変形されてもよい。
【００５３】
上記の実施の形態では、対話装置１００は、自装置が備える応答候補抽出部１１２ａ〜１１２ｃが互いに異なる評価基準に従って評価値を算出することによってユーザの発話に対する応答候補をそれぞれ抽出する例について説明した。しかし、応答候補抽出部１１２ａ〜１１２ｃの各々の機能を、例えば、対話装置１００とネットワークＮＷを介して通信可能に接続された複数の外部装置が分担して実行するように構成してもよい。また、例えば、応答選定部１１３や応答候補生成部１１２（応答候補抽出部１１２ａ〜１１２ｃ）等の機能を、対話装置１００とネットワークＮＷを介して通信可能に接続された単一の外部装置が一括して実行し、対話装置１００はユーザの発話に対して出力すべき応答データのみを外部装置から取得するように構成してもよい。
【００５４】
上記の実施の形態では、おもに、ユーザの発話に対して適切に応答するための技術について説明した。しかし、このような技術は、対話装置１００がユーザに対して能動的に発話する際にも適用可能である。例えば、対話装置１００は、自己の自発的な発話に対するユーザの反応に応じて、対話装置１００の次の発話の内容を適宜選定するように構成してもよい。
【００５５】
上記の実施の形態では、応答候補抽出部１１２ａ〜１１２ｃは、同一の応答情報テーブルを参照して応答候補を抽出したが、応答候補抽出部１１２ａ〜１１２ｃがユーザ発話毎に異なる応答情報が対応付けられた応答情報テーブルを参照して、応答候補をそれぞれ抽出するように構成してもよい。
【００５６】
上記の実施の形態では、ユーザの発話に対して適切に応答するための技術について説明した。しかし、このような技術は、対話装置１００がユーザに対して自発的に発話する際にも適用可能である。例えば、対話装置１００は、自己の自発的な発話に対するユーザの反応に応じて、対話装置１００の次の発話の内容を適宜選定するように構成してもよい。
【００５７】
上記の実施の形態では、ユーザと対話装置１００とが音声を用いてコミュニケーションを図る例について説明した。しかし、ユーザと対話装置１００とがコミュニケーションを図るために、例えば、テキストデータによるやり取り、ユーザによる接触に応じて対話装置１００が可動部位を動かして動作するといったやり取り、手話によるやり取り等の各種交流手段を用いるように構成してもよい。
【００５８】
上記の実施の形態において、対話装置１００の制御部１１０のＣＰＵが実行する動作プログラムは、あらかじめＲＯＭに記憶されていた。しかしながら、本発明は、これに限定されず、上記の各種処理を実行させるための動作プログラムを、既存の汎用コンビュータや、フレームワーク、ワークステーション等に実装することにより、上記の実施の形態に係る対話装置１００に相当する装置として機能させてもよい。
【００５９】
このようなプログラムの提供方法は任意であり、例えば、コンピュータが読取可能な記録媒体（フレキシブルディスク、ＣＤ（Compact Disc）−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）−ＲＯＭ）等に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。
【００６０】
また、上記の処理をＯＳ（Operating System）とアプリケーションプログラムとの分担、または、ＯＳとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板（Bulletin Board System：BBS）に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【００６１】
本発明は、本発明の広義の精神と範囲とを逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上記の実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【００６２】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００６３】
（付記）
（付記１）
ユーザとコミュニケーションをとる対話装置であって、
前記ユーザからの入力に対する応答候補を作成する処理を複数並行して実行し、得られた複数の応答候補のうち最も評価値の高い応答候補を選定する応答選定手段と、
前記応答選定手段が選定した応答候補を前記ユーザからの入力に対する応答として出力する出力手段と、を備える、
対話装置。
【００６４】
（付記２）
前記応答選定手段は、
互いに異なる評価基準に従って前記ユーザからの入力に対応する応答情報の各々の評価値を算出して応答候補を作成する複数の応答候補作成手段を有し、
前記複数の応答候補作成手段により得られた前記複数の応答候補の各々の前記評価値を正規化し、正規化された評価値の比較結果に基づいて、前記ユーザからの入力に対する応答候補を選定する、
付記１に記載の対話装置。
【００６５】
（付記３）
前記応答に対する前記ユーザの反応を判定する反応判定手段、を備え、
前記応答選定手段は、前記反応判定手段による判定結果が所定の条件を満たさない場合、前記複数の応答候補から前記ユーザからの入力に対する新たな応答候補を選定する、
付記１または２に記載の対話装置。
【００６６】
（付記４）
前記応答選定手段は、前記反応判定手段による前記判定結果を前記評価値にフィードバックする、
付記３に記載の対話装置。
【００６７】
（付記５）
前記応答候補作成手段は、前記応答情報に対応付けられた複数の入力予測情報から前記応答に対する前記ユーザの反応を示す入力予測候補を抽出する、
付記２に記載の対話装置。
【００６８】
（付記６）
前記応答に対する前記ユーザからの入力と前記入力予測候補との類似性を評価する類似評価手段、を備える、
付記５に記載の対話装置。
【００６９】
（付記７）
前記応答選定手段は、前記類似評価手段による評価結果を前記評価値にフィードバックする、
付記６に記載の対話装置。
【００７０】
（付記８）
前記複数の応答候補は、並列に実行可能な複数のスレッドの各々により抽出された応答候補である、
付記１から７のいずれか１つに記載の対話装置。
【００７１】
（付記９）
前記複数のスレッドの各々は、互いに異なるアルゴリズムを用いて、前記複数の応答候補の１つを抽出する、
付記８に記載の対話装置。
【００７２】
（付記１０）
ユーザとコミュニケーションをとる対話制御方法であって、
前記ユーザからの入力に対する応答候補を作成する処理を複数並行して実行し、
得られた複数の応答候補のうち最も評価値の高い応答候補を選定し、
選定された応答候補を前記ユーザからの入力に対する応答として出力する、
対話制御方法。
【００７３】
（付記１１）
ユーザとコミュニケーションをとる対話制御方法であって、
前記ユーザからの入力を受け付ける入力ステップと、
複数の評価基準に従って前記入力に対応する各応答情報の評価値を算出し、前記評価基準ごとに応答候補を並行して抽出する応答候補抽出ステップと、
前記応答候補の各々の前記評価値の比較結果に基づいて、前記応答候補から前記入力に対する応答候補を選定する応答選定ステップと、
前記応答選定ステップにより選定された応答候補を前記入力に対する応答として出力する出力ステップと、を備える、
対話制御方法。
【００７４】
（付記１２）
ユーザとコミュニケーションをとる対話装置のコンピュータに、
前記ユーザからの入力に対する応答候補を作成する処理を複数並行して実行し、得られた複数の応答候補のうち最も評価値の高い応答候補を選定する応答選定処理と、
前記応答選定処理で選定された応答候補を前記ユーザからの入力に対する応答として出力する出力処理と、
を実行させるためのプログラム。
【符号の説明】
【００７５】
１００…対話装置、１１０…制御部、１１１…音声認識部、１１２…応答候補生成部、１１２ａ，１１２ｂ，１１２ｃ…応答候補抽出部、１１３…応答選定部、１１４…応答生成部、１１５…反応判定部、１２０…記憶部、１３０…センサ部、１４０…音声入力部、１５０…音声出力部、１６０…通信部、ＢＬ…バスライン、ＮＷ…ネットワーク
【図１】
2018165746.tif 000003
【図２】
2018165746.tif 000004
【図３】
2018165746.tif 000005
【図４】
2018165746.tif 000006
【図５】
2018165746.tif 000007