(57)【要約】【課題】ユーザの共感を誘起し、持続的な対話及び多情報の対話を実現する対話インタフェースを提供する。【解決手段】ユーザとの対話を行う対話インタフェースを提供する対話システムであって、対話システムは、計算機及びユーザの発話に関連する信号を計測する計測装置を備え、計算機は、計測装置が計測した信号に基づいて、ユーザの発話におけるユーザアクションの特徴を示す第１特徴量を算出し、第１特徴量に基づいて、対話インタフェースがユーザに対して行う応答アクションの制御値である第２特徴量を算出し、応答アクションの種別に応じて、応答アクションの制御のタイミングを調整する制御時間を算出し、第２特徴量及び制御時間に基づいて対話インタフェースを制御する。【選択図】  図２
2018205616.tif 000002
【特許請求の範囲】
【請求項１】
ユーザとの対話を行う対話インタフェースを提供する対話システムであって、
前記対話システムは、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する計算機と、前記ユーザの発話に関連する信号を計測する計測装置と、を備え、
前記演算装置は、
前記計測装置が計測した信号に基づいて、前記ユーザの発話におけるユーザアクションの特徴を示す第１特徴量を算出し、
前記第１特徴量に基づいて、前記対話インタフェースが前記ユーザに対して行う応答アクションの制御値である第２特徴量を算出し、
前記応答アクションの種別に応じて、前記応答アクションの制御のタイミングを調整する制御時間を算出し、
前記第２特徴量及び前記制御時間に基づいて、前記対話インタフェースを制御することを特徴とする対話システム。
【請求項２】
請求項１に記載の対話システムであって、
前記記憶装置は、前記応答アクションの種別毎に設定される前記制御時間を管理する制御時間定義情報を保持し、
前記演算装置は、前記制御時間定義情報に基づいて、前記応答アクションの制御時間を算出することを特徴とする対話システム。
【請求項３】
請求項２に記載の対話システムであって、
前記制御時間定義情報は、前記応答アクションの種別及び設定可能な制御時間の範囲を示す設定範囲から構成されるエントリを含み、
前記演算装置は、前記応答アクションの種別に対応する前記設定範囲に基づいて、ランダムな制御時間を算出することを特徴とする対話システム。
【請求項４】
請求項２に記載の対話システムであって、
前記記憶装置は、前記対話インタフェースが行った前記応答アクションの履歴を管理する履歴情報を保持し、
前記履歴情報は、前記応答アクションの有効性を示す指標を含み、
前記演算装置は、
前記履歴情報を参照して、前記指標及び前記制御時間の関係性を分析し、
前記分析の結果に基づいて、前記制御時間定義情報を更新することを特徴とする対話システム。
【請求項５】
請求項２に記載の対話システムであって、
前記記憶装置は、前記応答アクションの実行条件を管理する条件情報を保持し、
前記演算装置は、前記第２特徴量、前記制御時間、及び前記条件情報に基づいて、前記対話インタフェースを制御することを特徴とする対話システム。
【請求項６】
請求項１に記載の対話システムであって、
前記演算装置は、
前記計測装置が計測した信号に基づいて、前記応答アクションの有効性を示す指標を算出し、
前記第１特徴量及び前記指標に基づいて、前記制御時間を算出することを特徴とする対話システム。
【請求項７】
請求項１に記載の対話システムであって、
前記応答アクションは、前記ユーザのアクションの模倣するアクションであり、
前記制御時間は、遅延時間であることを特徴とする対話システム。
【請求項８】
ユーザとの対話を行う対話インタフェースを提供する対話システムの制御方法であって、
前記対話システムは、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する計算機と、前記ユーザの発話に関連する信号を計測する計測装置と、を備え、
前記対話システムの制御方法は、
前記演算装置が、前記計測装置が計測した信号に基づいて、前記ユーザの発話におけるユーザアクションの特徴を示す第１特徴量を算出する第１のステップと、
前記演算装置が、前記第１特徴量に基づいて、前記対話インタフェースが前記ユーザに対して行う応答アクションの制御値である第２特徴量を算出する第２のステップと、
前記演算装置が、前記応答アクションの種別に応じて、前記応答アクションの制御のタイミングを調整する制御時間を算出する第３のステップと、
前記演算装置が、前記第２特徴量及び前記制御時間に基づいて、前記対話インタフェースを制御する第４のステップと、を含むことを特徴とする対話システムの制御方法。
【請求項９】
請求項８に記載の対話システムの制御方法であって、
前記記憶装置は、前記応答アクションの種別毎に設定される前記制御時間を管理する制御時間定義情報を保持し、
前記第３のステップは、前記演算装置が、前記制御時間定義情報に基づいて、前記応答アクションの制御時間を算出するステップを含むことを特徴とする対話システムの制御方法。
【請求項１０】
請求項９に記載の対話システムの制御方法であって、
前記制御時間定義情報は、前記応答アクションの種別及び設定可能な制御時間の範囲を示す設定範囲から構成されるエントリを含み、
前記第３のステップは、前記演算装置が、前記応答アクションの種別に対応する前記設定範囲に基づいて、ランダムな制御時間を算出するステップを含むことを特徴とする対話システムの制御方法。
【請求項１１】
請求項９に記載の対話システムの制御方法であって、
前記記憶装置は、前記対話インタフェースが行った前記応答アクションの履歴を管理する履歴情報を保持し、
前記履歴情報は、前記応答アクションの有効性を示す指標を含み、
前記対話システムの制御方法は、
前記演算装置が、前記履歴情報を参照して、前記指標及び前記制御時間の関係性を分析するステップと、
前記演算装置が、前記分析の結果に基づいて、前記制御時間定義情報を更新するステップと、を含むことを特徴とする対話システムの制御方法。
【請求項１２】
請求項９に記載の対話システムの制御方法であって、
前記記憶装置は、前記応答アクションの実行条件を管理する条件情報を保持し、
前記第４のステップは、前記演算装置が、前記第２特徴量、前記制御時間、及び前記条件情報に基づいて、前記対話インタフェースを制御するステップを含むことを特徴とする対話システムの制御方法。
【請求項１３】
請求項８に記載の対話システムの制御方法であって、
前記演算装置が、前記計測装置が計測した信号に基づいて、前記応答アクションの有効性を示す指標を算出するステップを含み、
前記第３のステップは、前記演算装置が、前記第１特徴量及び前記指標に基づいて、前記制御時間を算出するステップを含むことを特徴とする対話システムの制御方法。
【請求項１４】
請求項８に記載の対話システムの制御方法であって、
前記応答アクションは、前記ユーザのアクションの模倣するアクションであり、
前記制御時間は、遅延時間であることを特徴とする対話システムの制御方法。
【請求項１５】
ユーザとの対話を行う対話インタフェースを提供する装置であって、
前記装置は、演算装置、前記演算装置に接続される記憶装置、前記演算装置に接続されるインタフェース、及び前記ユーザの発話に関連する信号を計測する計測器を備え、
前記記憶装置は、前記対話インタフェースによって前記ユーザに対して行われる、前記ユーザのアクションを模倣する応答アクションの種別毎に、前記応答アクションの制御タイミングを調整する遅延時間を管理する遅延時間定義情報を保持し、
前記演算装置は、
前記計測器によって計測された信号に基づいて、前記ユーザの発話におけるユーザアクションの特徴を示す第１特徴量を算出し、
前記第１特徴量に基づいて、前記対話インタフェースが前記ユーザに対して行う応答アクションの制御値である第２特徴量を算出し、
前記遅延時間定義情報に基づいて、前記応答アクションの種別に応じた前記遅延時間を算出し、
前記第２特徴量及び前記遅延時間に基づいて、前記対話インタフェースを制御することを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
対話インタフェースを介したユーザとの対話を実現する対話システムに関する。
【背景技術】
【０００２】
近年、ロボット及びＣＧ等を用いてヒトと持続的な対話を行う対話インタフェースの開発が進展している。
【０００３】
対話インタフェースの開発では、ヒトの表情、音声、及び身体の動き等の対話に関するアクションを示す対話データから対話特徴量を算出し、対話特徴量を用いて対話インタフェースを制御する技術が提案されている。対話特徴量に基づく対話インタフェースの制御によって、ロボット又はＣＧの表情が変化し、また、音声が再生される。このような制御によってヒトの共感を誘起できる。前述の技術として、特許文献１及び特許文献２に記載の技術が知られている。
【０００４】
特許文献１には、「インタラクション状態量算出部は、ユーザＰの発話における話者交替潜時、発話区間のピッチ、パワーまたはモーラを含むインタラクション状態量を検出する。コミュニケーション同調制御部は、ユーザＰとロボットシステムとのコミュニケーション同調ずれ量を算出し、同調モデルを表す状態方程式による連続的な引き込み制御によりコミュニケーション同調ずれ量を最小化すると同時に、インタラクションルールによる離散的な引き込み制御により、ユーザＰのインタラクション状態量をロボットシステム１０のそれに近づけていく、または、ロボットシステム１０のインタラクション状態量をユーザＰのインタラクション状態量に近づけつつユーザＰのインタラクション状態量をロボットシステム１０のそれに近づけていく。」ことが記載されている。
【０００５】
特許文献２には、「ユーザ発話を入力する工程と、入力された前記ユーザ発話の韻律的特徴を抽出する工程と、抽出された前記韻律的特徴に基づき前記ユーザ発話に応答する相槌を生成する工程と、を備え、前記相槌を生成する際、前記相槌の韻律的特徴が前記ユーザ発話の韻律的特徴と合うように前記相槌の韻律を調整する」音声対話方法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１８１６９７号公報
【特許文献２】特開２０１６−３８５０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１及び特許文献２に記載の技術を組み合わせることによって、ヒトのアクションを模倣する対話インタフェースの制御が可能となる。このとき、人のアクションを模倣した対話インタフェースの制御タイミングを任意に設定できる。例えば、ヒトの相槌に対して、ロボット又はＣＧが相槌を行う制御タイミングを任意に設定できる。
【０００８】
ヒトの共感を誘起するためには、模倣するアクションに応じて制御タイミングを設定する必要がある。しかし、特許文献１及び特許文献２のいずれも前述の課題を想定されていない。そのため、特許文献１及び特許文献２を組み合わせた発明は、相槌の制御タイミングを任意に設定できるだけであり、対話インタフェースのアクションに多様性がない。したがって、ヒトの共感を誘起する効果が低い。
【０００９】
本発明では、ヒトの共感を強く誘起することができる対話インタフェースを実現する技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、ユーザとの対話を行う対話インタフェースを提供する対話システムであって、前記対話システムは、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有する計算機と、前記ユーザの発話に関連する信号を計測する計測装置と、を備え、前記演算装置は、前記計測装置が計測した信号に基づいて、前記ユーザの発話におけるユーザアクションの特徴を示す第１特徴量を算出し、前記第１特徴量に基づいて、前記対話インタフェースが前記ユーザに対して行う応答アクションの制御値である第２特徴量を算出し、前記応答アクションの種別に応じて、前記応答アクションの制御のタイミングを調整する制御時間を算出し、前記第２特徴量及び前記制御時間に基づいて、前記対話インタフェースを制御することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、遅延時間に基づいて応答アクションを実行する対話インタフェースを制御することによって、ユーザの共感を誘起し、持続的な対話及び多情報の対話を実現できる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】実施例１のシステムの構成例を示す図である。
【図２】実施例１のシステムを用いて対話を行う場合の動作の流れの一例を説明する図である。
【図３】実施例１の計算機の構成例を説明する図である。
【図４】実施例１の対話信号情報のデータ構造の一例を示す図である。
【図５】実施例１の模倣情報のデータ構造の一例を示す図である。
【図６】実施例１の遅延時間定義情報のデータ構造の一例を示す図である。
【図７】実施例１の言語信号情報のデータ構造の一例を示す図である。
【図８】実施例１の発話情報のデータ構造の一例を示す図である。
【図９】実施例１の出力情報のデータ構造の一例を示す図である。
【図１０】実施例１の出力条件情報のデータ構造の一例を示す図である。
【図１１】実施例１の出力履歴情報のデータ構造の一例を示す図である。
【図１２】実施例１の模倣情報算出モジュールが実行する処理を説明するフローチャートである。
【図１３】実施例１の言語情報算出モジュールが実行する処理を説明するフローチャートである。
【図１４】実施例１の出力情報生成モジュールが実行する処理を説明するフローチャートである。
【図１５】実施例２の遅延時間定義情報のデータ構造の一例を示す図である。
【図１６】実施例２の学習モジュールが実行する処理を説明するフローチャートである。
【図１７】実施例２の学習モジュールが実行する遅延時間の学習処理の流れを示す図である。
【図１８】実施例３のシステムの構成例を示す図である。
【図１９】実施例３の計算機が保持する生体信号情報の構造の一例を示す図である。
【図２０】実施例３の出力情報のデータ構造の一例を示す図である。
【図２１Ａ】実施例３の模倣情報算出モジュールが実行する処理を説明するフローチャートである。
【図２１Ｂ】実施例３の模倣情報算出モジュールが実行する処理を説明するフローチャートである。
【図２２】実施例５の計算機に対する設定を行うためのＧＵＩの一例を示す図である。
【図２３】実施例５の計算機に対する設定を行うためのＧＵＩの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、実施例を図面を用いて説明する。なお、以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【実施例１】
【００１４】
本実施例では、ユーザとの対話を実現する対話インタフェースを提供する計算機が、対話信号を用いて、実行する応答アクションの制御特徴量を算出し、さらに、応答アクションの種別に応じて、応答アクションに対応する対話インタフェースの制御のタイミングを調整する制御時間（遅延時間）を設定する。また、計算機は、計測した言語信号に基づいてユーザの発話内容を特定し、当該発話内容に対して出力する発話内容を選択する。計算機は、制御特徴量、制御時間、及び発話内容に基づいて、出力情報を生成する。ここで、本明細書における用語について説明する。
【００１５】
対話信号は、対話においてユーザから取得される信号、特に、視線、顔の向き、身体の動き等のユーザのアクションに関する情報を含む信号である。対話信号は、対話データを算出するために用いられる。例えば、ユーザの画像及びユーザの身体の一部の加速度等が対話信号として取得される。
【００１６】
対話データは、対話信号を用いて生成され、また、対話特徴量を算出するためのデータである。
【００１７】
対話特徴量は、ユーザのアクションを特徴づける値である。例えば、ユーザの視線の向き、顔の向き、身体の移動方向、及び身体の移動距離等が対話特徴量として算出される。
【００１８】
言語信号は、ユーザから発せられた言語、すなわち、ユーザの発話を評価するための信号である。例えば、ユーザの音声等が言語信号として取得される。
【００１９】
応答アクションは、対話インタフェースを構成する表示装置に表示される人物画像の動き、及び対話インタフェースを構成するロボットの動き等を表す。
【００２０】
制御特徴量は、応答アクションを実現するための対話インタフェースの制御値を表す。
【００２１】
本実施例では、ユーザの共感を誘起する模倣を行う対話インタフェースを一例として説明する。当該インタフェースを実現するシステムでは以下のような処理が実行される。
【００２２】
計算機は、ユーザの画像を含む対話信号からユーザの眼球画像、顔画像、及び身体画像の三種類の対話データを算出し、ユーザの視線、顔の向き、及び身体の動きに関する対話特徴量を算出する。計算機は、対話特徴量に基づいてユーザの視線、顔の向き、及び身体の動きを模倣する応答アクションの制御特徴量を算出する。計算機は、三つの種類の応答アクションのそれぞれに制御時間を設定する。また、計算機は、取得した言語信号に基づいて、ユーザに対して出力する発話内容を選択する。
【００２３】
計算機は、制御特徴量、制御時間、及び発話内容に基づいて出力情報を生成し、出力情報に基づいて対話インタフェースを制御することによって、応答アクションの実行及び発話内容の出力を行う。
【００２４】
なお、対話データは、眼球画像、顔画像、及び身体画像に限定されない。対話データは、手等の身体の一部又は周囲の環境等の画像、ヒトの音声、及び近赤外光で計測した瞳孔径等、対話時の様々な信号を含んでもよい。なお、対話特徴量は、ユーザの視線、顔の向き、及び身体の動きに限定されない。対話特徴量は、顔画像から抽出する表情変化及び音声から抽出する声のピッチ等、対話信号及び言語信号から抽出可能な様々な特徴量を含んでもよい。なお、出力情報は、制御特徴量のみから生成されてもよいし、また、発話内容のみから生成されてもよい。
【００２５】
本実施例では、ユーザの動き及びユーザの発話をユーザアクションと記載する。また、応答アクション及び発話内容の出力（音声の再生）を出力アクションと記載する。また、ユーザの動きを模倣する応答アクションを模倣アクションと記載し、模倣アクションの制御特徴量を模倣特徴量と記載する。
【００２６】
図１は、実施例１のシステムの構成例を示す図である。
【００２７】
システムは、計算機１００、対話信号計測装置１１０、言語信号計測装置１２０、表示装置１３０、及び対話出力装置１４０から構成される。また、計算機１００には、マウス、キーボード、及びタッチパネル等の入力装置１５０が接続される。
【００２８】
計算機１００は、対話信号及び言語信号を用いて出力情報３１６（図３参照）を生成し、出力情報３１６に基づいて、表示装置１３０及び対話出力装置１４０からユーザに対して情報等を出力する。本実施例では、表示装置１３０及び対話出力装置１４０が対話インタフェースとして機能する。本実施例の表示装置１３０には、ユーザの動きを模倣する模倣アクションを行う人物画像が表示される。
【００２９】
対話信号計測装置１１０は、ユーザから対話信号を取得する。本実施例の対話信号計測装置１１０は、画像を対話信号として取得する。なお、ユーザの頭部に装着する角度センサ及び加速度センサを対話信号計測装置１１０として用いてもよい。当該センサが計測した値は、顔の向き及び身体の動きを算出するために用いることができる。
【００３０】
言語信号計測装置１２０は、ユーザから言語信号を取得する。本実施例の言語信号計測装置１２０は、音声を言語信号として取得する。
【００３１】
入力装置１５０は、外部信号を入力するための装置である。ここで、外部信号は、計算機１００の動作を制御するため信号を表す。本明細書では、特に、対話信号及び言語信号を除いた信号を外部信号として扱う。
【００３２】
ここで、計算機１００のソフトウェア構成の概要について説明する。計算機１００は、模倣情報算出モジュール１０１、言語情報算出モジュール１０２、出力情報生成モジュール１０３、及び学習モジュール１０４を含み、また、情報群１０５を保持する。
【００３３】
模倣情報算出モジュール１０１は、対話信号から対話データを算出し、対話データに基づいて対話特徴量を算出する。模倣情報算出モジュール１０１は、対話特徴量に基づいて模倣特徴量を算出する。対話特徴量に基づいて模倣特徴量を算出するアルゴリズムは予め設定されているものとする。
【００３４】
なお、本発明は模倣特徴量を算出するアルゴリズムに限定されない。一種類の対話特徴量に基づいて一種類の模倣特徴量を算出するアルゴリズムでもよいし、複数種類の対話特徴量に基づいて一種類の模倣特徴量を算出するアルゴリズムでもよいし、また、一種類の対話特徴量に基づいて複数種類の模倣特徴量を算出するアルゴリズムでもよい。
【００３５】
前述のアルゴリズムでは、入力された対話特徴量がベクトル量である場合、ベクトルの向きを逆方向に変換する演算、人物画像のサイズ、形状、位置等に基づいて成分値を補正する演算等が実行される。ユーザの視線が任意の座標に存在する物に向いている場合、人物画像の眼球の向きを当該座標に合わせるような眼球の移動及び動向の変化を再現するための模倣特徴量が算出される。
【００３６】
言語情報算出モジュール１０２は、言語信号を分析することによってユーザの発話内容を評価する。言語情報算出モジュール１０２は、ユーザの発話内容に基づいて対話インタフェースから出力する発話内容を選択する。対話インタフェースから出力する発話内容を選択するアルゴリズムは予め設定されているものとする。
【００３７】
なお、本発明は対話インタフェースから出力する発話内容を選択するアルゴリズムに限定されない。
【００３８】
出力情報生成モジュール１０３は、模倣特徴量及び発話内容に基づいて出力情報３１６を生成し、出力情報３１６に基づいて対話インタフェースを制御する。
【００３９】
学習モジュール１０４は、出力情報３１６（図３参照）の履歴を学習する。学習モジュール１０４が実行する処理については実施例２で説明する。
【００４０】
なお、図１では、一つの計算機１００が各モジュールを有しているが、複数の計算機に各モジュールを配置してもよい。また、図１では、対話信号計測装置１１０等の計測装置と計算機１００とを別々の装置として記載しているが、計算機１００が計測装置を含んでもよい。
【００４１】
なお、計算機１００が有する各モジュールは、二つ以上のモジュールを一つのモジュールにまとめてもよいし、一つのモジュールを機能毎に複数のモジュールに分けてもよい。
【００４２】
図２は、実施例１のシステムを用いて対話を行う場合の動作の流れの一例を説明する図である。
【００４３】
計算機１００は、対話信号又は言語信号を計測することによってユーザアクションを検出した場合、模倣アクションの模倣特徴量を算出し、各模倣アクションの制御時間として遅延時間を設定する。遅延時間を伴った模倣アクションを対話インタフェースが実行することによって、ユーザの共感を共起し、また、ユーザの発話内容に対応した対話が可能となる。
【００４４】
入力２０１では、計算機１００が対話信号計測装置１１０及び言語信号計測装置１２０から対話信号及び言語信号を取得する。計算機１００は、対話信号に基づいて対話データを算出し、対話データに基づいて対話特徴量を算出する。計算機１００は、言語信号に基づいて発話内容を評価する。計算機１００は、対話特徴量及びユーザの発話内容に基づいて、演算２０２から演算２０５を並列で実行する。
【００４５】
演算２０２では、計算機１００は、ユーザの視線に関する対話特徴量に基づいて、ユーザの視線の動きを模倣した人物画像の眼球の動きを行うための模倣特徴量を算出する。また、計算機１００は、人物画像の眼球の動きに対応する遅延時間を設定する。
【００４６】
演算２０３では、計算機１００は、ユーザの顔の動きに関する対話特徴量に基づいて、ユーザの顔の動きを模倣した人物画像の顔の動きを行うための模倣特徴量を算出する。また、計算機１００は、人物画像の顔の動きに対応する遅延時間を設定する。
【００４７】
演算２０４では、計算機１００は、ユーザの身体の動きに関する対話特徴量に基づいて、ユーザの身体の動きを模倣した人物画像の身体の動きを行うための模倣特徴量を算出する。また、計算機１００は、人物画像の身体の動きに対応する遅延時間を設定する。
【００４８】
演算２０５では、計算機１００は、ユーザの発話内容に合わせた発話内容を選択する。本実施例では、発話内容の出力には特に遅延時間を設定していないが、発話内容の出力についても遅延時間を設定することができる。
【００４９】
出力２０６では、計算機は、遅延時間を伴って模倣アクションを対話インタフェースに実行させ、また、発話内容を対話インタフェースに出力される。
【００５０】
図３は、実施例１の計算機１００の構成例を説明する図である。
【００５１】
図３に示したように、計算機１００は、演算装置３０１、記憶装置３０２、入力インタフェース３０３、及び出力インタフェース３０４を有する。
【００５２】
演算装置３０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及びＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のハードウェアであり、記憶装置３０２に格納されるプログラムを実行する。演算装置３０１は、プログラムにしたがって動作することによって、所定のモジュールとして機能する。本実施例では、演算装置３０１は、模倣情報算出モジュール１０１、言語情報算出モジュール１０２、及び出力情報生成モジュール１０３として機能する。
【００５３】
記憶装置３０２は、メモリ等のハードウェアであり、演算装置３０１が実行するプログラム及び当該プログラムが使用する情報を格納する。また、記憶装置３０２はワークエリアを含む。記憶装置３０２に格納されるプログラム及び情報については後述する。なお、計算機１００は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置を有してもよい。
【００５４】
入力インタフェース３０３は、対話信号、言語信号、及び外部信号の入力を受け付けるハードウェアである。ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格の接続線を介して信号を入力する装置と接続される場合、ＵＳＢ端子を有するインタフェースが入力インタフェース３０３になり、ネットワークを介して信号を入力する装置と接続される場合、ポートを有するインタフェースが入力インタフェース３０３となる。
【００５５】
出力インタフェース３０４は、各種情報を出力するハードウェアである。情報を出力する装置がディスプレイの場合、ＶＧＡ端子又はＨＤＭＩ端子（ＨＤＭＩは登録商標）等の端子を有するインタフェースが出力インタフェース３０４となり、情報を出力する装置がスピーカの場合、ＵＳＢ端子を有するインタフェースが出力インタフェース３０４となる。
【００５６】
ここで、記憶装置３０２に格納されるプログラム及び情報について説明する。
【００５７】
記憶装置３０２は、模倣情報算出モジュール１０１、言語情報算出モジュール１０２、出力情報生成モジュール１０３、及び学習モジュール１０４を実現するプログラムを格納する。また、記憶装置３０２は、対話信号情報３１１、模倣情報３１２、遅延時間定義情報３１３、言語信号情報３１４、発話情報３１５、出力情報３１６、出力条件情報３１７、及び出力履歴情報３１８を格納する。
【００５８】
対話信号情報３１１は、対話信号を管理する情報である。対話信号情報３１１のデータ構造の一例は図４を用いて説明する。模倣情報３１２は、模倣アクションの模倣特徴量を管理する情報である。模倣情報３１２のデータ構造の一例は図５を用いて説明する。遅延時間定義情報３１３は、模倣アクションに対応する遅延時間を定義する情報である。遅延時間定義情報３１３のデータ構造の一例は図６を用いて説明する。
【００５９】
言語信号情報３１４は、言語信号を管理する情報である。言語信号情報３１４のデータ構造の一例は図７を用いて説明する。発話情報３１５は、ユーザの発話内容及び選択された発話内容を管理する情報である。発話情報３１５のデータ構造の一例は図８を用いて説明する。
【００６０】
出力情報３１６は、模倣アクションを行い、また、発話内容を出力する対話インタフェースを制御するための情報である。出力情報３１６のデータ構造の一例は図９を用いて説明する。
【００６１】
出力条件情報３１７は、応答アクションを実行する条件を管理する情報である。出力条件情報３１７のデータ構造の一例は図１０を用いて説明する。なお、出力条件情報３１７を用いた処理については、実施例４で説明する。
【００６２】
出力履歴情報３１８は、出力情報３１６の履歴を管理する情報である。出力履歴情報３１８のデータ構造の一例は図１１を用いて説明する。
【００６３】
模倣情報算出モジュール１０１は、対話信号から各模倣アクションの模倣特徴量を算出し、各模倣アクションに対応する遅延時間を設定することによって、模倣情報３１２を生成する。
【００６４】
言語情報算出モジュール１０２は、言語信号からユーザの発話内容を特定し、ユーザの発話内容に対する発話内容を選択することによって、発話情報３１５を生成する。
【００６５】
出力情報生成モジュール１０３は、模倣情報３１２及び発話情報３１５を用いて出力情報３１６を生成する。
【００６６】
図４は、実施例１の対話信号情報３１１のデータ構造の一例を示す図である。
【００６７】
対話信号情報３１１は、ＩＤ４０１、信号名４０２、取得時間４０３、及びポインタ４０４から構成されるエントリを含む。一つのエントリが一つの対話信号に対応する。
【００６８】
ＩＤ４０１は、対話信号情報３１１のエントリを一意に識別するための識別情報を格納するフィールドである。
【００６９】
信号名４０２は、対話信号の種別等を識別するための情報を格納するフィールドである。本実施例では、対話信号を計測した対話信号計測装置１１０の名称が信号名４０２に格納される。なお、信号名４０２には「画像」等の信号に含まれるデータの種別が格納されてもよい。
【００７０】
取得時間４０３は、対話信号の取得時間を格納するフィールドである。取得時間４０３には、例えば、対話信号の計測の開始時間を基準とした時間が格納される。なお、対話信号及び言語信号のそれぞれの計測開始時刻の関係性を示す値を格納するフィールドを設けてもよい。
【００７１】
ポインタ４０４は、取得された対話信号が格納される記憶領域のポインタを格納するフィールドである。なお、ポインタ４０４の代わりに、取得された対話信号を格納するフィールドを設けてもよい。当該フィールドには、例えば、座標及びＲＧＢ値の組合せが複数格納される。
【００７２】
図５は、実施例１の模倣情報３１２のデータ構造の一例を示す図である。
【００７３】
模倣情報３１２は、ＩＤ５０１、参照ＩＤ５０２、模倣特徴量種別５０３、模倣特徴量５０４、遅延時間５０５、対話データ名５０６、対話データ５０７、対話特徴量種別５０８、及び対話特徴量５０９から構成されるエントリを含む。一つのエントリが一つの模倣アクションの模倣特徴量に対応する。
【００７４】
ＩＤ５０１は、模倣情報３１２のエントリを一意に識別するための識別情報を格納するフィールドである。本実施例では、一つの対話信号に対して三種類の模倣特徴量が算出される。
【００７５】
参照ＩＤ５０２は、模倣特徴量の算出時に用いた対話信号の識別情報を格納するフィールドである。参照ＩＤ５０２にはＩＤ４０１の値が格納される。
【００７６】
模倣特徴量種別５０３は、模倣アクションの種別を示す情報を格納するフィールドである。本実施例の模倣特徴量種別５０３には、「視線」、「顔の動き」、及び「身体の動き」のいずれかが格納される。
【００７７】
模倣特徴量５０４は、算出された模倣特徴量を格納するフィールドである。模倣特徴量種別５０３が「視線」である場合、模倣特徴量５０４には人物画像の眼球の角度及び移動速度等が格納され、模倣特徴量種別５０３が「顔の動き」である場合、模倣特徴量５０４には人物画像の顔の角度及び移動速度等が格納され、模倣特徴量種別５０３が「身体の動き」である場合、模倣特徴量５０４には人物画像の身体の移動方向及び移動量等が格納される。
【００７８】
遅延時間５０５は、模倣アクションに対応する遅延時間を格納するフィールドである。
【００７９】
対話データ名５０６は、対話特徴量を算出するために用いた対話データの識別情報を格納するフィールドである。
【００８０】
対話データ５０７は、対話データを格納するフィールドである。本実施例では、対話データは画像であるため、対話データ５０７には、座標及びＲＧＢ値の組合せが複数含まれる。なお、対話データ５０７の代わりに、対話データが格納される記憶領域を示すポインタを格納するフィールドを設けてもよい。
【００８１】
対話特徴量種別５０８は、対話特徴量の識別情報を格納するフィールドである。本実施例の対話特徴量種別５０８には、「視線」、「顔の向き」、及び「身体の動き」のいずれかが格納される。
【００８２】
対話特徴量５０９は、算出された対話特徴量を格納するフィールドである。対話特徴量種別５０８が「視線」である場合、対話特徴量５０９にはユーザの視線の対象の座標等が格納され、対話特徴量種別５０８が「顔の向き」である場合、対話特徴量５０９にはユーザの顔の傾け角度等が格納され、対話特徴量種別５０８が「身体の動き」である場合、対話特徴量５０９にはユーザの身体の移動量等が格納される。
【００８３】
なお、ユーザの視線の対象の座標は、対話出力装置１４０であるディスプレイの平面上の座標でもよいし、また、対話出力装置１４０を原点とする三次元空間の座標でもよい。顔の傾け角度は、鼻尖及び顔の輪郭から算出された特徴点間の距離の変化又は左右差等に基づいて算出される。単位時間当たりの身体の移動量は、身体の輪郭から算出された特徴点の移動距離の総和等に基づいて算出される。
【００８４】
本実施例では、一種類の対話特徴量を用いて一種類の模倣特徴量が算出される。ただし、複数種類の対話特徴量を用いて一種類の模倣特徴量が算出されてよい。この場合、一つのエントリには、対話データ名５０６、対話データ５０７、対話特徴量種別５０８、及び対話特徴量５０９を一つの組とする行が複数含まれる。
【００８５】
図６は、実施例１の遅延時間定義情報３１３のデータ構造の一例を示す図である。
【００８６】
遅延時間定義情報３１３は、ＩＤ６０１、模倣特徴量種別６０２、及び遅延時間６０３から構成されるエントリを含む。一つのエントリが一種類の模倣アクションに対応する。本実施例では、模倣アクションの種類は三つであるため、遅延時間定義情報３１３には三つのエントリが含まれる。
【００８７】
ＩＤ６０１は、遅延時間定義情報３１３のエントリを一意に識別するための識別情報を格納するフィールドである。
【００８８】
模倣特徴量種別６０２は、模倣特徴量種別５０３と同一のものである。
【００８９】
遅延時間６０３は、模倣アクションに対応する遅延時間を格納するフィールドである。初期の遅延時間は専門家等が予め設定するものとする。本実施例では、出力情報３１６が生成された時点を起点とする遅延時間が設定される。なお、本発明は遅延時間の設定基準に限定されない。
【００９０】
なお、模倣特徴量の種別及び模倣特徴量の値の範囲の組合せに対して、遅延時間を設定してもよい。この場合、エントリには、模倣特徴量の範囲を指定するフィールドが含まれる。
【００９１】
図７は、実施例１の言語信号情報３１４のデータ構造の一例を示す図である。
【００９２】
言語信号情報３１４は、ＩＤ７０１、信号名７０２、取得時間７０３、及びポインタ７０４から構成されるエントリを含む。一つのエントリが一つの言語信号に対応する。
【００９３】
ＩＤ７０１は、言語信号情報３１４のエントリを一意に識別するための識別情報を格納するフィールドである。
【００９４】
信号名７０２は、言語信号の種別等を識別するための情報を格納するフィールドである。本実施例では、言語信号を計測した言語信号計測装置１２０の名称が信号名７０２に格納される。なお、信号名７０２には「音声」等の言語信号に含まれるデータの種別が格納されてもよい。
【００９５】
なお、対話信号及び言語信号のそれぞれの計測開始時刻の関係性を示す値を格納するフィールドと、対話信号の計測開始時刻を格納するフィールドを設けてもよい。
【００９６】
取得時間７０３は、言語信号の取得時間を格納するフィールドである。取得時間７０３には、例えば、言語信号の計測の開始時間を基準とした時間が格納される。
【００９７】
ポインタ７０４は、取得された言語信号が格納される記憶領域のポインタを格納するフィールドである。言語信号はＡ／Ｄ変換された値として格納されている。なお、ポインタ７０４の代わりに、取得された言語信号を格納するフィールドを設けてもよい。
【００９８】
図８は、実施例１の発話情報３１５のデータ構造の一例を示す図である。
【００９９】
発話情報３１５は、入力発話内容８０１、参照ＩＤ８０２、及び出力発話内容８０３から構成されるエントリを含む。一つのエントリがユーザの発話内容に対応する。
【０１００】
入力発話内容８０１は、言語信号を分析することによって特定されたユーザの発話内容を格納するフィールドである。
【０１０１】
参照ＩＤ８０２は、発話内容を特定するために用いた言語信号の識別情報を格納するフィールドである。参照ＩＤ８０２にはＩＤ７０１の値が格納される。
【０１０２】
出力発話内容８０３は、ユーザの発話内容に基づいて選択された発話内容を格納するフィールドである。例えば、ユーザの発話を促す発話内容又はユーザの発話に応答する発話内容が選択される。なお、発話内容を選択する方法としては、言語データベース等を用いる方法及び過去の発話内容の履歴を用いる方法等が考えられる。
【０１０３】
なお、発話内容の出力に対して遅延時間を設定する場合、発話情報３１５には遅延時間を格納するフィールドを設けてもよい。
【０１０４】
図９は、実施例１の出力情報３１６のデータ構造の一例を示す図である。
【０１０５】
出力情報３１６は、出力装置９０１、出力値９０２、及び遅延時間９０３から構成されるエントリを含む。一つのエントリが一つの出力アクションを示す。
【０１０６】
出力装置９０１は、出力アクションに対応する制御を行う装置の識別情報を格納するフィールドである。本実施例では、模倣アクションの模倣特徴量及び遅延時間に基づいてディスプレイに表示される人物画像が制御され、発話内容に基づいてスピーカが制御される。
【０１０７】
出力値９０２は、出力アクションを行う対話インタフェースを制御するための値を格納する。出力アクションが模倣アクションである場合、出力値９０２には模倣特徴量の種別及び模倣特徴量が格納され、出力アクションが発話内容の出力である場合、出力値９０２には発話内容が格納される。
【０１０８】
図１０は、実施例１の出力条件情報３１７のデータ構造の一例を示す図である。
【０１０９】
出力条件情報３１７は、ＩＤ１００１、アクション種別１００２、及び条件１００３から構成されるエントリを含む。一つのエントリが一つの条件を示す。
【０１１０】
ＩＤ１００１は、出力条件情報３１７のエントリを一意に識別するための識別情報を格納するフィールドである。
【０１１１】
アクション種別１００２は、出力アクションの種別を格納するフィールドである。アクション種別１００２には、「発話」、「視線」、「顔の動き」、及び「身体の動き」が格納される。
【０１１２】
条件１００３は、アクション種別１００２に対応する出力アクションを実行するタイミングを規定する条件を格納するフィールドである。条件１００３には、具体的な条件を指定する値、及び遅延時間及び条件の優先順位を示す値が含まれる。
【０１１３】
例えば、ユーザの発話内容が「はい」又は「いいえ」、かつ、出力発話内容が「はい」又は「いいえ」である場合が条件として設定できる。また、ユーザの発話の開始を条件として設定できる。また、気温等、ユーザ及び計算機１００との関係以外の外部情報を用いて条件を設定してもよい。
【０１１４】
なお、一つの種類の出力アクションに対して複数の条件を設定できる。この場合、出力条件情報３１７には、アクション種別１００２が同一であるエントリが複数含まれる。
【０１１５】
なお、優先順位は必ずしも設定しなくてもよい。この場合、遅延時間が経過し、かつ、条件を満たす場合に制御を行うようにすればよい。
【０１１６】
図１１は、実施例１の出力履歴情報３１８のデータ構造の一例を示す図である。
【０１１７】
出力履歴情報３１８は、ＩＤ１１０１、共感度１１０２、出力値１１０３、及び遅延時間１１０４から構成されるエントリを含む。一つのエントリが一つの出力情報３１６を示す。
【０１１８】
ＩＤ１１０１は、出力履歴情報３１８のエントリを一意に識別するための識別情報を格納するフィールドである。
【０１１９】
共感度１１０２は、対話インタフェースを使用するユーザの共感の程度を示す共感度を格納するフィールドである。本実施例では、対話インタフェースが行う出力アクションの有効性を示す指標として共感度を用いる。なお、共感度以外の指標でもよい。
【０１２０】
共感度は、例えば、対話の持続時間を用いて算出できる。ここで、対話の持続時間は、ユーザ又は対話インタフェースの発話が開始されてから、ユーザ又は対話インタフェースの発話が終了するまでの時間を示す。スピーカから音声が再生された時又は言語信号が検出された時を発話の開始と判定し、発話が行われていない時間が一定時間経過した場合を発話の終了と判定すればよい。また、ユーザが対話の開始及び終了を知らせるボタンを押下することによって持続時間を計測してもよい。
【０１２１】
なお、共感度はユーザの発話量等のその他の情報に基づいて算出されてもよい。また、共感度はユーザが対話の終了後に記入したアンケートに基づいて算出されてもよい。
【０１２２】
出力値１１０３及び遅延時間１１０４は、出力値９０２及び遅延時間９０３と同一のものである。
【０１２３】
図１２は、実施例１の模倣情報算出モジュール１０１が実行する処理を説明するフローチャートである。
【０１２４】
模倣情報算出モジュール１０１は、イベントが発生したか否かを判定する（ステップＳ１０１）。例えば、ユーザの動きが検出された場合、又は、ユーザの発話が検出された場合にイベントが発生したと判定される。また、ユーザが入力装置１５０を用いて処理の開始を指示した操作が行われた場合、模倣情報算出モジュール１０１は、イベントが発生したと判定する。
【０１２５】
イベントが発生していないと判定された場合、模倣情報算出モジュール１０１は、イベントの発生まで待ち状態に移行する。
【０１２６】
イベントが発生したと判定された場合、模倣情報算出モジュール１０１は、対話信号計測装置１１０から対話信号を取得する（ステップＳ１０２）。
【０１２７】
このとき、模倣情報算出モジュール１０１は、取得した対話信号を記憶領域に格納する。模倣情報算出モジュール１０１は、対話信号情報３１１を初期化し、取得された対話信号の数だけ対話信号情報３１１にエントリを追加する。模倣情報算出モジュール１０１は、追加されたエントリの各フィールドに値を設定する。
【０１２８】
なお、模倣情報算出モジュール１０１は、必要な対話信号が全て取得されるまで、ステップＳ１０２の処理を繰り返し実行してもよい。また、タイマを設定している場合には、模倣情報算出モジュール１０１は、タイマが経過するまで対話信号の取得を継続してもよい。
【０１２９】
次に、模倣情報算出モジュール１０１は、変数ｉを初期化する（ステップＳ１０３）。
【０１３０】
具体的には、模倣情報算出モジュール１０１は変数ｉに「１」を設定する。ここで、変数ｉは、取得した対話信号の数に対応し、また、対話信号情報３１１のＩＤ４０１に対応する。
【０１３１】
次に、模倣情報算出モジュール１０１は、ＩＤ４０１が変数ｉに一致するエントリに基づいて対話データを算出する（ステップＳ１０４）。
【０１３２】
例えば、模倣情報算出モジュール１０１は、一つの画像から、眼球の画像、顔全体の画像、及び全身の画像を、対話データとして算出する。このとき、模倣情報算出モジュール１０１は、対話データに変数ｉを対応付けて記憶領域に格納する。
【０１３３】
なお、眼球の画像及び顔の画像は、画像から眼球及び顔に関連する特徴量を算出することによって取得する方法、画像の特徴量を用いた統計解析又は機械学習に基づいて取得する方法等が考えられる。
【０１３４】
次に、模倣情報算出モジュール１０１は、対話特徴量を算出する（ステップＳ１０５）。
【０１３５】
このとき、模倣情報算出モジュール１０１は、対話特徴量に対話特徴量の種別を対応付けて記憶領域に格納する。
【０１３６】
次に、模倣情報算出モジュール１０１は、変数ｊを初期化する（ステップＳ１０６）。
【０１３７】
具体的には、模倣情報算出モジュール１０１は変数ｊに「１」を設定する。このとき、模倣情報算出モジュール１０１は、模倣情報３１２を初期化する。
【０１３８】
ここで、変数ｊは、模倣アクションの種別に対応する。本実施例では、変数ｊが「１」の場合、「眼球の動き」を表し、変数ｊが「２」の場合、「顔の動き」を表し、変数ｊが「３」の場合、「身体の動き」を表す。
【０１３９】
次に、模倣情報算出モジュール１０１は、算出された対話特徴量に基づいて、変数ｊに対応する模倣アクションの模倣特徴量を算出する（ステップＳ１０７）。なお、予め、対話特徴量から模倣特徴量を算出する数式が与えられているものとする。
【０１４０】
このとき、模倣情報算出モジュール１０１は、模倣情報３１２にエントリを追加し、追加されたエントリのＩＤ５０１に識別情報を設定する。模倣情報算出モジュール１０１は、追加されたエントリの参照ＩＤ５０２に変数ｉの値を設定し、模倣特徴量種別５０３に変数ｊに対応する識別情報を設定し、模倣特徴量５０４に算出された模倣特徴量を設定する。また、模倣情報算出モジュール１０１は、追加されたエントリに模倣特徴量の算出時に用いた対話特徴量の数だけ行を追加し、各行の対話データ名５０６、対話データ５０７、対話特徴量種別５０８、及び対話特徴量５０９に識別情報及び値を設定する。
【０１４１】
次に、模倣情報算出モジュール１０１は、遅延時間定義情報３１３を参照して、変数ｊに対応する模倣アクションの遅延時間を設定する（ステップＳ１０８）。
【０１４２】
具体的には、模倣情報算出モジュール１０１は、遅延時間定義情報３１３を参照し、模倣特徴量種別６０２が変数ｊに対応する種別と一致するエントリを検索する。模倣情報算出モジュール１０１は、検索されたエントリの遅延時間６０３から値を取得し、ステップＳ１０７において追加された模倣情報３１２のエントリの遅延時間５０５に取得した値を設定する。
【０１４３】
次に、模倣情報算出モジュール１０１は、全ての模倣特徴量を算出したか否かを判定する（ステップＳ１０９）。
【０１４４】
全ての模倣特徴量を算出していないと判定された場合、模倣情報算出モジュール１０１は、変数ｊに「１」を加算し（ステップＳ１１０）、その後、ステップＳ１０７に戻る。
【０１４５】
全ての模倣特徴量を算出したと判定された場合、模倣情報算出モジュール１０１は、全ての対話信号の処理が完了したか否かを判定する（ステップＳ１１１）。
【０１４６】
全ての対話信号の処理が完了していないと判定された場合、模倣情報算出モジュール１０１は、変数ｉに「１」を加算し（ステップＳ１１２）、その後、ステップＳ１０４に戻る。
【０１４７】
全ての対話信号の処理が完了していないと判定された場合、模倣情報算出モジュール１０１は、模倣情報３１２を出力情報生成モジュール１０３に出力し、処理を終了する。
【０１４８】
本実施例では、遅延時間定義情報３１３に基づいて模倣アクションの遅延時間が設定されているが、以下のような設定方法でもよい。模倣情報算出モジュール１０１は、出力履歴情報３１８を参照し、最も新しい履歴（エントリ）を検索する。模倣情報算出モジュール１０１は、検索されたエントリから変数ｊに対応する模倣アクションの遅延時間１１０４の値を取得し、遅延時間５０５に取得した値を設定する。
【０１４９】
なお、複数の対話信号計測装置１１０又は複数の計測チャネルを用いて複数の対話信号が取得された場合、模倣情報算出モジュール１０１は、各対話信号から算出された対話特徴量の平均値等を用いて模倣特徴量を算出すればよい。
【０１５０】
なお、対話信号計測装置１１０が計測した値以外に、ユーザが入力装置１５０を用いて対話信号又は対話データを入力してもよい。
【０１５１】
図１３は、実施例１の言語情報算出モジュール１０２が実行する処理を説明するフローチャートである。
【０１５２】
言語情報算出モジュール１０２は、イベントが発生したか否かを判定する（ステップＳ２０１）。なお、ステップＳ２０１の判定方法は、ステップＳ１０１の判定方法と同一でもよいし、また、異なってもよい。
【０１５３】
イベントが発生していないと判定された場合、言語情報算出モジュール１０２は、イベントの発生まで待ち状態に移行する。
【０１５４】
イベントが発生したと判定された場合、言語情報算出モジュール１０２は、言語信号計測装置１２０から言語信号を取得する（ステップＳ２０２）。
【０１５５】
このとき、言語情報算出モジュール１０２は、取得した言語信号を記憶領域に格納する。言語信号情報３１４を初期化し、取得された言語信号の数だけ言語信号情報３１４にエントリを追加する。言語情報算出モジュール１０２は、追加されたエントリの各フィールドに値を設定する。また、言語情報算出モジュール１０２は、発話情報３１５を初期化する。
【０１５６】
次に、言語情報算出モジュール１０２は、変数ｉを初期化する（ステップＳ２０３）。
【０１５７】
具体的には、言語情報算出モジュール１０２は変数ｉに「１」を設定する。ここで、変数ｉは、取得した言語信号の数に対応し、また、言語信号情報３１４のＩＤ７０１に対応する。
【０１５８】
このとき、言語情報算出モジュール１０２は、発話情報３１５の参照ＩＤ８０２に、取得された言語信号の数だけ行を生成する。
【０１５９】
言語情報算出モジュール１０２は、ＩＤ７０１が変数ｉに一致するエントリに対応する言語信号を分析する（ステップＳ２０４）。言語信号の分析方法は公知の方法を用いればよいため詳細な説明は省略する。
【０１６０】
次に、言語情報算出モジュール１０２は、分析結果に基づいて発話内容を更新する（ステップＳ２０５）。
【０１６１】
具体的には、言語情報算出モジュール１０２は、分析結果に基づいて発話情報３１５の入力発話内容８０１を更新し、参照ＩＤ８０２の空の行に変数ｉを設定する。
【０１６２】
次に、言語情報算出モジュール１０２は、全ての言語信号の処理を完了したか否かを判定する（ステップＳ２０６）。
【０１６３】
全ての言語信号の処理が完了していないと判定された場合、言語情報算出モジュール１０２は、変数ｉに「１」を加算し（ステップＳ２０７）、その後、ステップＳ２０４に戻る。
【０１６４】
全ての言語信号の処理が完了したと判定された場合、言語情報算出モジュール１０２は、入力発話内容に基づいて出力発話内容を選択して、発話情報３１５の出力発話内容８０３に設定する（ステップＳ２０８）。その後、言語情報算出モジュール１０２は、発話情報３１５を出力情報生成モジュール１０３に出力し、処理を終了する。なお、出力発話内容の選択方法は公知の方法を用いればよいため詳細な説明は省略する。
【０１６５】
本実施例では、ユーザの発話内容のみを特定していたが、発話の速度及びリズム等を言語特徴量として算出してもよい。当該特徴量を用いて対話インタフェースの発話内容の出力の速度及びリズムを制御できる。
【０１６６】
図１４は、実施例１の出力情報生成モジュール１０３が実行する処理を説明するフローチャートである。
【０１６７】
出力情報生成モジュール１０３は、情報を受け付けたか否かを判定する（ステップＳ３０１）。
【０１６８】
具体的には、出力情報生成モジュール１０３は、模倣情報３１２及び発話情報３１５の少なくともいずれかを受け取ったか否かを判定する。なお、模倣情報３１２及び発話情報３１５の生成タイミングは必ずしも一致しないため、出力情報生成モジュール１０３は、いずれかの情報を受け付けてから一定期間の情報の入力を受け付けもよい。
【０１６９】
情報を受け付けていないと判定された場合、出力情報生成モジュール１０３は、情報を受け付けるまで待ち続ける。
【０１７０】
情報を受け付けたと判定された場合、出力情報生成モジュール１０３は、出力情報３１６を生成する（ステップＳ３０２）。具体的には、以下のような処理が実行される。
【０１７１】
出力情報生成モジュール１０３は、模倣情報３１２を受け付けた場合、模倣情報３１２からエントリを一つ読み出す。出力情報生成モジュール１０３は、出力情報３１６にエントリを追加し、追加されたエントリの出力装置９０１に「ディスプレイ」を設定する。出力情報生成モジュール１０３は、選択されたエントリの模倣特徴量種別５０３及び模倣特徴量５０４の値を追加されたエントリの出力値９０２に設定する。さらに、出力情報生成モジュール１０３は、選択されたエントリの遅延時間５０５の値を追加されたエントリの遅延時間９０３に設定する。出力情報生成モジュール１０３は、模倣情報３１２の各エントリに対して同様の処理を実行する。
【０１７２】
出力情報生成モジュール１０３は、発話情報３１５を受け付けた場合、発話情報３１５からエントリを一つ読み出す。出力情報生成モジュール１０３は、出力情報３１６にエントリを追加し、追加されたエントリの出力装置９０１に「スピーカ」を設定する。出力情報生成モジュール１０３は、選択されたエントリの出力発話内容８０３の値を追加されたエントリの出力値９０２に設定する。また、出力情報生成モジュール１０３は、追加されたエントリの遅延時間９０３に「０」を設定する。以上がステップＳ３０２の処理の説明である。
【０１７３】
次に、出力情報生成モジュール１０３はタイマを設定する（ステップＳ３０３）。
【０１７４】
次に、出力情報生成モジュール１０３は、条件を満たす出力アクションが存在するか否かを判定する（ステップＳ３０４）。
【０１７５】
具体的には、出力情報生成モジュール１０３は、出力情報３１６から遅延時間９０３がタイマの値以上のエントリを検索する。遅延時間９０３がタイマの値以上のエントリが存在する場合、出力情報生成モジュール１０３は、条件を満たす出力アクションが存在すると判定する。
【０１７６】
条件を満たす出力アクションが存在しないと判定された場合、出力情報生成モジュール１０３は、ステップＳ３０４に戻り、タイマの更新を継続する。
【０１７７】
条件を満たす出力アクションが存在すると判定された場合、出力情報生成モジュール１０３は、ステップＳ３０４において検索されたエントリに対応する出力アクションを実行する（ステップＳ３０５）。
【０１７８】
具体的には、出力情報生成モジュール１０３は、検索されたエントリの出力値９０２に基づいて対話インタフェースを制御する。当該制御によって、対話インタフェースが発話内容を出力し、また、対話インタフェースが応答アクションを実行する。
【０１７９】
次に、出力情報生成モジュール１０３は、出力履歴情報３１８を更新する（ステップＳ３０６）。具体的には、以下のような処理が実行される。
【０１８０】
出力情報生成モジュール１０３は、出力履歴情報３１８にエントリを追加し、追加されたエントリのＩＤ１１０１に識別情報を設定する。
【０１８１】
出力情報生成モジュール１０３は、追加されたエントリに、ステップＳ３０４において検索されたエントリの数と同一数の行を生成する。出力情報生成モジュール１０３は、生成された行の出力値１１０３及び遅延時間１１０４に、ステップＳ３０４において検索されたエントリの出力値９０２及び遅延時間９０３の値を設定する。なお、実施例１では、出力情報３１６に基づく対話インタフェースの制御が終了した後に、対話の持続時間、ユーザの発話量、又はアンケート等に基づいて算出された共感度が共感度１１０２に設定される。
【０１８２】
また、出力情報生成モジュール１０３は、ステップＳ３０４において選択されたエントリを出力情報３１６から削除する。以上がステップＳ３０６の処理の説明である。
【０１８３】
次に、出力情報生成モジュール１０３は、全ての出力アクションが実行されたか否かを判定する（ステップＳ３０７）。
【０１８４】
具体的には、出力情報生成モジュール１０３は、出力情報３１６が空であるか否かを判定する。出力情報３１６が空である場合、出力情報生成モジュール１０３は、全ての出力アクションが実行されたと判定する。
【０１８５】
全ての出力アクションが実行されていないと判定された場合、出力情報生成モジュール１０３は、ステップＳ３０４に戻り、同様の処理を実行する。
【０１８６】
全ての出力アクションが実行されたと判定された場合、出力情報生成モジュールは処理を終了する。
【０１８７】
実施例１によれば、遅延時間に基づいて出力アクションを実行する対話インタフェースを制御することによって、ユーザの共感を誘起し、持続的な対話及び多情報の対話を実現できる。
【実施例２】
【０１８８】
実施例２では、計算機１００が出力履歴情報３１８の分析結果に基づいて遅延時間定義情報３１３を更新し、また、発話内容の更新又は発話内容の選択アルゴリズムを更新する。実施例１との差異を中心に実施例２について説明する。
【０１８９】
実施例２のシステム構成は実施例１のシステム構成と同一である。実施例２の計算機１００の構成は実施例１の計算機１００の構成と同一である。実施例２の計算機１００が保持する情報は、遅延時間定義情報３１３が実施例１の遅延時間定義情報３１３と異なる。その他の情報は、実施例１の計算機１００が保持する情報と同一である。
【０１９０】
図１５は、実施例２の遅延時間定義情報３１３のデータ構造の一例を示す図である。
【０１９１】
遅延時間定義情報３１３は、ＩＤ１５０１、模倣特徴量種別１５０２、及び遅延時間範囲１５０３から構成されるエントリを含む。一つのエントリが一種類の模倣アクションに対応する。
【０１９２】
ＩＤ１５０１及び模倣特徴量種別１５０２は、ＩＤ６０１及び模倣特徴量種別６０２と同一のフィールドである。
【０１９３】
遅延時間範囲１５０３は、模倣アクションに対応する遅延時間の範囲を格納するフィールドである。なお、遅延時間範囲１５０３は、最小値及び最大値から構成されるフィールドである。
【０１９４】
遅延時間が常に一定の場合、ユーザが模倣アクションの実行を察知し、共感度が低下する可能性がある。そこで、実施例２では、計算機１００は、所定の遅延時間の範囲内でランダムに遅延時間を設定する。これによって、模倣アクションの実行が察知されることを防ぐことができる。
【０１９５】
共感度が高まる遅延時間の範囲は、時間の経過及び状況の変化によって変化する。そこで、実施例２の計算機１００は、出力情報３１６の履歴を分析することによって遅延時間の範囲を更新する。
【０１９６】
図１６は、実施例２の学習モジュール１０４が実行する処理を説明するフローチャートである。図１７は、実施例２の学習モジュール１０４が実行する遅延時間の学習処理の流れを示す図である。
【０１９７】
学習モジュール１０４は、出力情報３１６が出力された後、又はユーザから指示を受け付けた場合に以下で説明する処理を実行する。なお、学習モジュール１０４は、周期的に処理を実行してもよい。
【０１９８】
学習モジュール１０４は、変数ｉを初期化する（ステップＳ４０１）。
【０１９９】
具体的には、学習モジュール１０４は変数ｉに「１」を設定する。ここで、変数ｉは、模倣アクションの種別に対応する。本実施例では、変数ｉが「１」の場合、「眼球の動き」を表し、変数ｉが「２」の場合、「顔の動き」を表し、変数ｉが「３」の場合、「身体の動き」を表す。
【０２００】
次に、学習モジュール１０４は、変数ｉに対応する模倣アクションの遅延時間の学習処理を実行する（ステップＳ４０２）。具体的には、以下のような処理が実行される。
【０２０１】
（第１ステップ）学習モジュール１０４は、出力履歴情報３１８から所定の数のエントリを読み出す。ここでは、新しい順に、すなわち、ＩＤ１１０１が大きい順に、所定の数のエントリが読み出される。なお、読み出すエントリの数は予め設定されており、適宜変更できる。
【０２０２】
（第２ステップ）学習モジュール１０４は、読み出されたエントリの中から一つのエントリを選択し、選択されたエントリに含まれる行の中から、出力値１１０３に変数ｉに対応する模倣アクションの識別情報が設定された行を検索する。学習モジュール１０４は、選択されたエントリの共感度１１０２及び検索された行の遅延時間１１０４を、共感度及び遅延時間を軸とする空間にプロットする。
【０２０３】
なお、変数ｉに対応する模倣アクションの識別情報が設定された行が複数存在する場合、学習モジュール１０４は、各行の遅延時間１１０４の統計値及び共感度１１０２を前述の空間にプロットする。統計値は、最大値、最小値、及び平均値等が考えられる。
【０２０４】
学習モジュール１０４は、読み出された全てのエントリについて（第２ステップ）の処理を実行する。これによって、グラフ１７０１が生成される。
【０２０５】
（第３ステップ）学習モジュール１０４は、（第２ステップ）の処理結果に基づいて最適遅延時間を算出する。算出方法としては、以下のような方法が考えられる。
【０２０６】
（方法１）学習モジュール１０４は、グラフ１７０１から共感度が最大となる遅延時間を最適遅延時間として算出する。
【０２０７】
（方法２）学習モジュール１０４は、共感度をｙ、遅延時間をｘとし、未定の係数を含む関係式を設定し、最小二乗法に基づいて係数を決定する。学習モジュール１０４は、当該関係式を用いてｙの値が最大となるｘを算出する。関係式は、例えば、ｙ＝ａｘ２＋ｂｘ＋ｃを設定する。なお、共感度が最大となる遅延時間が、全ての遅延時間の最大値又は最小値と等しい場合、関係式としてｙ＝ａｘ＋ｂを設定し、一定の範囲内でｙが最大となるｘを算出すればよい。
【０２０８】
（第４ステップ）学習モジュール１０４は、最適遅延時間を用いて遅れ時間範囲を算出する。例えば、学習モジュール１０４は、最適遅延時間に０．９５を乗算した値を範囲の最小値として算出し、最適遅延時間に１．０５を乗算した値を範囲の最大値として算出する。また、別の方法としては、学習モジュール１０４は、グラフ１７０１に基づいて共感度が閾値より大きい範囲を算出する。
【０２０９】
なお、前述した処理は一例であってこれに限定されない。例えば、エントリに含まれる模倣特徴量を用いた主成分分析等の多変量解析を実行してもよい。
【０２１０】
なお、実施例２の学習処理は、実施例１にも適用できる。この場合、（第１ステップ）、（第２ステップ）、及び（第３ステップ）が実行される。学習モジュール１０４は、最適遅延時間を遅延時間６０３に設定する。以上がステップＳ４０２の処理の説明である。
【０２１１】
次に、学習モジュール１０４は、学習処理の結果に基づいて遅延時間定義情報３１３を更新する（ステップＳ４０３）。
【０２１２】
具体的には、学習モジュール１０４は、変数ｉに対応する模倣アクションのエントリの遅延時間範囲１５０３に算出された最大値及び最小値を設定する。
【０２１３】
次に、学習モジュール１０４は、全ての模倣アクションについて処理が完了したか否かを判定する（ステップＳ４０４）。
【０２１４】
全ての模倣アクションについて処理が完了していないと判定された場合、学習モジュール１０４は、変数ｉに「１」を加算し（ステップＳ４０５）、その後、ステップＳ４０２に戻る。
【０２１５】
全ての模倣アクションについて処理が完了したと判定された場合、学習モジュール１０４は、発話内容の学習処理を実行する（ステップＳ４０６）。
【０２１６】
具体的には、以下のような処理が実行される。
【０２１７】
（第１ステップ）学習モジュール１０４は、出力履歴情報３１８から所定の数のエントリを読み出す。ここでは、新しい順に、すなわち、ＩＤ１１０１が大きい順に、所定の数のエントリが読み出される。なお、読み出すエントリの数は予め設定されており、適宜変更できる。
【０２１８】
（第２ステップ）学習モジュール１０４は、読み出されたエントリの各々に含まれる行の中から、出力値１１０３に発話内容が設定された行を検索する。学習モジュール１０４は、検索された行の共感度１１０２及び発話内容を取得する。
【０２１９】
このとき、学習モジュール１０４は、検索された行に設定された発話内容をそのまま取得してもよいし、所定の文字数分の発話内容を取得してもよいし、また、特定の用語を含む発話内容を取得してもよい。検索された行に設定された発話内容をそのまま取得する場合、学習モジュール１０４は、文節毎に区切り、文節と共感度を対応付けたデータとして扱ってもよい。
【０２２０】
（第３ステップ）学習モジュール１０４は、共感度及び発話内容の関係性を算出する。学習モジュール１０４は、共感度が高い発話内容を言語データベースに格納する。このとき、特定の用語又は表現を含む文節のみを言語データベースに格納するようにしてもよい。また、学習モジュール１０４は、前述の関係性に基づいてアルゴリズムを修正してもよい。以上がステップＳ４０６の処理の説明である。
【０２２１】
実施例２では、模倣情報算出モジュール１０１が実行する処理が一部異なる。具体的には、ステップＳ１０８において、模倣情報算出モジュール１０１は、遅延時間範囲１５０３に示された範囲内でランダムに遅延時間を決定する。模倣情報算出モジュール１０１は、追加された模倣情報３１２のエントリの遅延時間５０５に、決定された遅延時間を設定する。その他の処理は実施例１の処理と同一である。
【０２２２】
実施例２では、言語情報算出モジュール１０２が実行する処理が一部異なる。具体的には、ステップＳ２０８において、言語情報算出モジュール１０２は、更新された言語データベースに格納される発話内容を選択する。該当する発話内容が複数存在する場合、発話内容の類似度等に基づいて選択すればよい。その他の処理は実施例１の処理と同一である。
【０２２３】
実施例２の出力情報生成モジュール１０３が実行する処理は、実施例１の処理と同一である。
【０２２４】
なお、出力情報３１６の履歴は、ユーザ単位で管理してもよい。この場合、出力履歴情報３１８にユーザの識別情報を格納するフィールドを設ければよい。これによって、対象のユーザに関連する出力情報３１６のみを用いた学習処理、及び対象のユーザ以外のユーザに関連する出力情報３１６を用いた学習処理を実行することができる。当該学習処理によって、ユーザ単位に模倣アクションの遅延時間を設定できる。
【０２２５】
実施例２によれば、学習処理によって遅延時間範囲又は遅延時間を更新することによって、より高い共感を誘起する対話を実現できる。また、遅延時間幅の中からランダムに遅延時間を選択することによって、自然かつ多様な出力アクションの実行が可能となるため、より高い共感を誘起し、持続的な対話及び多情報の対話を実現できる。
【実施例３】
【０２２６】
実施例３では、計算機１００が共感度を算出するための生体信号を取得し、共感度をリアルタイムに算出する。また、実施例３では、計算機１００が、共感度に基づいて遅延時間を算出する。実施例１との差異を中心に、実施例３について説明する。
【０２２７】
図１８は、実施例３のシステムの構成例を示す図である。
【０２２８】
実施例３のシステムは生体信号を取得する計測装置を備える。具体的には、実施例３のシステムは、脳波活動計測装置１８０１、心拍計測装置１８０２、及び発汗量計測装置１８０３を備える。
【０２２９】
脳波活動計測装置１８０１は、脳波及び脳波血流等を示す生体信号を計測する。心拍計測装置１８０２は、心拍等を示す生体信号を計測する。発汗量計測装置１８０３は、発汗量を示す生体信号を計測する。なお、心拍計測装置１８０２及び発汗量計測装置１８０３は、自律神経活動の評価に用いる指標を計測する装置の一例であって、これに限定されない。
【０２３０】
また、実施例３の情報群１０５には、生体信号情報１９００が含まれる。図１９は、実施例３の計算機１００が保持する生体信号情報１９００のデータ構造の一例を示す図である。生体信号情報１９００は、ＩＤ１９０１、信号名１９０２、取得時間１９０３、及びポインタ１９０４から構成されるエントリを含む。一つのエントリが一つの生体信号に対応する。
【０２３１】
ＩＤ１９０１は、生体信号情報１９００のエントリを一意に識別するための識別情報を格納するフィールドである。
【０２３２】
信号名１９０２は、生体信号の種別等を識別するための情報を格納するフィールドである。本実施例では、生体信号を計測した計測装置の名称が信号名１９０２に格納される。なお、生体信号に含まれるデータの種別が格納されてもよい。
【０２３３】
取得時間１９０３は、生体信号の取得時間を格納するフィールドである。取得時間１９０３には、例えば、生体信号の計測の開始時間を基準とした時間が格納される。
【０２３４】
ポインタ１９０４は、取得された生体信号が格納される記憶領域のポインタを格納するフィールドである。なお、ポインタ１９０４の代わりに、取得された生体信号を格納するフィールドを設けてもよい。
【０２３５】
実施例３では、情報群１０５に含まれる情報のうち出力情報３１６が一部異なる。図２０は、実施例３の出力情報３１６のデータ構造の一例を示す図である。
【０２３６】
実施例３の出力情報３１６に含まれるエントリは、共感度２００１を含む。共感度２００１は、生体信号を用いて算出された共感度を格納するフィールドである。
【０２３７】
実施例３では、模倣情報算出モジュール１０１が実行する処理が一部異なる。図２１Ａ及び図２１Ｂは、実施例３の模倣情報算出モジュール１０１が実行する処理を説明するフローチャートである。
【０２３８】
模倣情報算出モジュール１０１は、イベントが発生したと判定された場合、対話信号とともに、生体信号を取得する（ステップＳ１５１）。
【０２３９】
このとき、模倣情報算出モジュール１０１は、取得した生体信号を記憶領域に格納する。模倣情報算出モジュール１０１は、生体信号情報１９００を初期化し、取得された生体信号の数だけ生体信号情報１９００にエントリを追加する。模倣情報算出モジュール１０１は、追加されたエントリの各フィールドに値を設定する。
【０２４０】
次に、模倣情報算出モジュール１０１は、生体信号を用いて共感度を算出する（ステップＳ１５２）。
【０２４１】
例えば、模倣情報算出モジュール１０１は、発汗量計測装置１８０３から発汗量を示す生体信号を取得した場合、単位時間当たりの発汗量を算出する。発汗量が多い場合、自律神経活動のうち交感神経活動が亢進していることを示し、発汗量が少ない場合、交感神経活動が抑制されていることを示す。そこで、模倣情報算出モジュール１０１は、発汗量を変数とする数式に基づいて共感度を算出する。交感神経活動が抑制されている場合、ユーザはリラックスした状態であることを示すため共感度は大きい値となる。
【０２４２】
模倣情報算出モジュール１０１は、複数種類の生体信号を取得した場合、種類が異なる生体信号の各々から共感度を算出するための指標を算出し、当該指標を変数とする数式に基づいて共感度を算出する。なお、指標は安静時の生体信号を用いて規格化された値でもよい。例えば、心拍動間隔及び発汗量を示す生体信号を取得した場合、それぞれの指標を算出し、基準値からの変化率を算出し、さらに、変化率の平均値を共感度として算出する。なお、基準値は、安静時に取得された生体信号を用いて算出された単位時間当たりの生体信号の値の平均値を用いることが考えられる。
【０２４３】
なお、同一種類の生体信号を取得する計測装置が複数存在する場合、各種類の生体信号から算出された指標の平均値を用いればよい。
【０２４４】
ステップＳ１０７の処理が実行された後、模倣情報算出モジュール１０１は、遅延時間を設定する（ステップＳ１５３）。具体的には、以下のような処理が実行される。
【０２４５】
模倣情報算出モジュール１０１は、遅延時間定義情報３１３を参照し、模倣特徴量種別６０２が変数ｊに対応する種別と一致するエントリを検索する。模倣情報算出モジュール１０１は、検索されたエントリの遅延時間６０３から値を取得する。
【０２４６】
模倣情報算出モジュール１０１は、共感度及び遅延時間を変数とする数式を用いて、設定する遅延時間を算出する。
【０２４７】
模倣情報算出モジュール１０１は、ステップＳ１０７において追加された模倣情報３１２のエントリの遅延時間５０５に算出された遅延時間を設定する。また、模倣情報算出モジュール１０１は、遅延時間定義情報３１３から検索されたエントリの遅延時間６０３に算出された遅延時間を設定する。
【０２４８】
なお、模倣情報算出モジュール１０１は、出力履歴情報３１８を参照し、共感度１１０２の値が算出された共感度より大きいエントリの中から、最も共感度が大きいエントリを検索し、検索されたエントリの遅延時間１１０４の値を遅延時間５０５として設定してもよい。
【０２４９】
なお、共感度を算出する場合に、対話信号を用いてもよい。この場合、ステップＳ１５２の処理は、ステップＳ１０７の処理の後に実行される。以上がステップＳ１５３の処理の説明である。
【０２５０】
なお、模倣情報算出モジュール１０１は、一定期間分の生体信号及び対話信号を取得し、学習モジュール１０４に学習処理の実行を指示してもよい。この場合、時間間隔が短い学習処理が実行される。模倣情報算出モジュール１０１は、学習モジュール１０４が算出した最適遅延時間を設定する。
【０２５１】
ステップＳ１０１からステップＳ１０７までの処理、及びステップＳ１０９からステップＳ１１２までの処理は、実施例１で説明した処理と同一である。
【０２５２】
本実施例では、生体信号を用いて共感度を算出しているが、対話信号を用いて共感度を算出してもよい。例えば、模倣情報算出モジュール１０１は、顔画像を分析し、ユーザの眉、眼、口等の特徴量を算出し、当該特徴量からユーザの表情を評価することによって同様の指標を算出できる。
【０２５３】
言語情報算出モジュール１０２が実行する処理は、実施例１の処理と同一である。出力情報生成モジュール１０３が実行する処理は、ステップＳ３０２の処理及びステップＳ３０６の処理が一部異なる。その他のステップの処理は、実施例１の処理と同一である。
【０２５４】
ステップＳ３０２では、出力情報生成モジュール１０３は、出力情報３１６にエントリを追加した後、追加されたエントリの共感度２００１にステップＳ１５２において算出された共感度を設定する。その他の処理は実施例１と同一の処理である。
【０２５５】
ステップＳ３０６では、出力情報生成モジュール１０３は、出力履歴情報３１８に追加されたエントリの共感度１１０２にステップＳ１５２において算出された共感度を設定する。その他の処理は実施例１と同一の処理である。
【０２５６】
実施例３によれば、リアルタイムに算出された共感度に基づいて遅延時間を設定することによって、より高い共感を誘起する対話を実現できる。
【実施例４】
【０２５７】
実施例４では、計算機１００は、出力アクションを実行する対話インタフェースを制御する情報として遅延時間及び出力条件情報３１７を用いる。実施例１との差異を中心に、実施例４について説明する。
【０２５８】
実施例４のシステム構成は実施例１のシステム構成と同一である。実施例４の計算機１００の構成は実施例１の計算機１００の構成と同一である。実施例４の計算機１００が保持する情報は、実施例１の計算機１００が保持する情報と同一である。
【０２５９】
実施例４の模倣情報算出モジュール１０１及び言語情報算出モジュール１０２が実行する処理は、実施例１の処理と同一である。
【０２６０】
実施例４では、出力情報生成モジュール１０３が実行する処理が一部異なる。具体的にはステップＳ３０４及びステップＳ３０５の処理が異なる。
【０２６１】
出力情報生成モジュール１０３は、出力情報３１６から遅延時間９０３がタイマの値以上のエントリを検索する。また、出力情報生成モジュール１０３は、出力条件情報３１７を参照し、模倣特徴量及び発話内容等に基づいて、条件１００３に現在の状態に該当するエントリを検索する。
【０２６２】
二つの検索処理の少なくともいずれかに該当するエントリが存在する場合、出力情報生成モジュール１０３は、条件を満たす出力アクションが存在すると判定する。
【０２６３】
ステップＳ３０５では、出力情報生成モジュール１０３は、二つの検索処理によって取得した遅延時間９０３及び条件１００３に基づいて、対話インタフェースの制御タイミングを調整する。二つの検索処理のそれぞれからエントリが検索された場合、優先順位に基づいて対話インタフェースが制御される。
【０２６４】
実施例４によれば、計算機１００は、遅延時間及び出力条件に基づいて出力アクションの実行を制御することによって、多様な出力アクションの実行が可能となる。したがって、ユーザの共感を誘起し、持続的な対話及び多情報の対話を実現できる。
【実施例５】
【０２６５】
実施例５では、各実施例において、計算機１００に対する設定を行うためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）について説明する。
【０２６６】
図２２及び図２３は、実施例５の計算機１００に対する設定を行うためのＧＵＩの一例を示す図である。
【０２６７】
図２２に示すＧＵＩ２２００は、情報の設定を行うためのＧＵＩであり、対話特徴量設定欄２２１０、模倣特徴量設定欄２２２０、条件設定欄２２３０、学習処理設定欄２２４０、生体信号設定欄２２５０、共感度評価設定欄２２６０、遅延時間の設定ボタン２２７０、及び保存ボタン２２７５を含む。
【０２６８】
対話特徴量設定欄２２１０は、対話特徴量を設定するための欄であり、設定数表示欄２２１１、ラジオボタン２２１２、及び設定フィールド群２２１３を含む。対話特徴量設定欄２２１０に値を入力することによって、算出する対話データ及び対話特徴量を計算機１００に設定できる。
【０２６９】
設定数表示欄２２１１は、設定された対話特徴量の種類の数を表示する欄である。
【０２７０】
ラジオボタン２２１２は、対話特徴量を設定する場合に操作されるボタンである。ラジオボタン２２１２を操作することによって、設定フィールド群２２１３への入力が可能となる。
【０２７１】
設定フィールド群２２１３は、対話信号の種別、対話データの種別、及び対話特徴量の種別を設定するフィールドを含む。なお、設定フィールド群２２１３には他のフィールドが含まれてもよい。
【０２７２】
模倣特徴量設定欄２２２０は、模倣特徴量を設定するための欄であり、設定数表示欄２２２１、ラジオボタン２２２２、及び設定フィールド群２２２３を含む。模倣特徴量設定欄２２２０に値を入力することによって、算出する模倣特徴量、及び模倣アクションに対応する遅延時間を設定できる。
【０２７３】
設定数表示欄２２２１は、設定された模倣特徴量の種類の数を表示する欄である。
【０２７４】
ラジオボタン２２２２は、対話特徴量を設定する場合に操作されるボタンである。ラジオボタン２２２２を操作することによって、設定フィールド群２２２３への入力が可能となる。
【０２７５】
設定フィールド群２２２３は、模倣特徴量の種別、対話特徴量の種別、及び遅延時間を設定するフィールドを含む。なお、設定フィールド群２２２３には他のフィールドが含まれてもよい。設定フィールド群２２２３に含まれる遅延時間は、遅延時間定義情報３１３に設定される。
【０２７６】
設定フィールド群２２２３に含まれる遅延時間のフィールドには、後述するＧＵＩ２３００を用いて算出された最適遅延時間又は遅延時間範囲が設定される。なお、遅延時間のフィールドには、専門家が手動で値を設定してもよい。
【０２７７】
条件設定欄２２３０は、模倣特徴量の条件を設定するための欄であり、設定数表示欄２２３１、ラジオボタン２２３２、及び設定フィールド群２２３３を含む。条件設定欄２２３０に値を入力することによって、出力条件情報３１７を設定できる。
【０２７８】
設定数表示欄２２３１は、設定される条件の数を表示する欄である。
【０２７９】
ラジオボタン２２３２は、条件を設定する場合に操作されるボタンである。ラジオボタン２２３２を操作することによって、設定フィールド群２２３３への入力が可能となる。
【０２８０】
設定フィールド群２２３３は、模倣特徴量種別及び条件を含む。なお、設定フィールド群２２３３には他のフィールドが含まれてもよい。
【０２８１】
学習処理設定欄２２４０は、遅延時間の学習方法を設定する欄であり、設定表示欄２２４１及び設定ラジオボタン群を含む。学習処理設定欄２２４０に値を入力することによって、学習方法を設定できる。
【０２８２】
本実施例では、学習データの有無を選択するラジオボタン、及び使用する学習データを選択するラジオボタンが含まれる。設定表示欄２２４１には、設定ラジオボタン群の操作結果が表示される。
【０２８３】
生体信号設定欄２２５０は、生体信号及び指標を設定するための欄であり、設定数表示欄２２５１、ラジオボタン２２５２、及び設定フィールド群２２５３を含む。生体信号設定欄２２５０に値を入力することによって、計測する生体信号及び算出する指標を設定できる。
【０２８４】
設定数表示欄２２５１は、設定された生体信号の種類の数を表示する欄である。
【０２８５】
ラジオボタン２２５２は、生体信号を設定する場合に操作されるボタンである。ラジオボタン２２５２を操作することによって、設定フィールド群２２５３への入力が可能となる。
【０２８６】
設定フィールド群２２５３は、生体信号種別、活動、及び指標を設定するフィールドを含む。活動は、生体信号種別に対応する生体信号に基づいて評価する活動の識別情報を格納するフィールドである。指標は、活動と指標の関係性を設定するフィールドである。なお、設定フィールド群２２５３には他のフィールドが含まれてもよい。
【０２８７】
共感度評価設定欄２２６０は、共感度を算出する時に使用する指標を設定するための欄であり、設定表示欄２２６１及び設定ラジオボタン群を含む。共感度評価設定欄２２６０に値を入力することによって、共感度をリアルタイムに算出するか否かを設定できる。
【０２８８】
本実施例では、共感度をリアルタイムに評価するか否かを選択するラジオボタン、及び評価時に使用する生体信号を選択するラジオボタンが含まれる。設定表示欄２２６１には、設定ラジオボタン群の操作結果が表示される。
【０２８９】
遅延時間の設定ボタン２２７０は、学習処理の実行を指示するためのボタンである。当該ボタンが操作された場合、学習モジュール１０４が図１６に示す処理を実行し、処理結果を図２３に示すＧＵＩ２３００として表示する。
【０２９０】
保存ボタン２２７５は、各設定欄の入力を保存する場合に操作されるボタンである。
【０２９１】
なお、ＧＵＩ２２００は、表示モード及び編集モードを切り替えるボタンを含んでもよい。
【０２９２】
図２３に示すＧＵＩ２３００は、学習処理に基づいて遅延時間又は遅延時間幅を設定するためのＧＵＩであり、模倣特徴量種別選択欄２３０１、最適遅延時間表示欄２３０２、遅延時間範囲表示欄２３０３、グラフ表示欄２３０４、設定表示欄２３０５、フィッティング方法設定欄２３０６、設定表示欄２３０７、学習データ選択欄２３０８、設定表示欄２３０９、算出方法設定欄２３１０、設定表示欄２３１１、遅延時間範囲算出方法設定欄２３１２、及び戻りボタン２３１３を含む。
【０２９３】
模倣特徴量種別選択欄２３０１は、学習する模倣アクションに対応する模倣特徴量を選択する欄である。
【０２９４】
最適遅延時間表示欄２３０２は、学習処理によって算出された最適遅延時間を表示する欄である。
【０２９５】
遅延時間範囲表示欄２３０３は、学習処理によって算出された遅延時間範囲を表示する欄である。
【０２９６】
グラフ表示欄２３０４は、遅延時間及び共感度の関係性を示すグラフを表示する欄である。
【０２９７】
設定表示欄２３０５は、フィッティング方法設定欄２３０６の操作結果を表示する欄である。
【０２９８】
フィッティング方法設定欄２３０６は、フィッティング方法を設定するための欄である。フィッティング方法設定欄２３０６には、フィッティング方法を選択するためのラジオボタン群が含まれる。
【０２９９】
設定表示欄２３０７は、学習データ選択欄２３０８の操作結果を表示する欄である。
【０３００】
学習データ選択欄２３０８は、学習に使用するデータを選択するための欄である。学習データ選択欄２３０８には、個人データ又は集団データのいずれかを選択するラジオボタンが含まれる。
【０３０１】
設定表示欄２３０９は、算出方法設定欄２３１０の操作結果を表示する欄である。
【０３０２】
算出方法設定欄２３１０は、最適遅延時間の算出方法を設定する欄である。算出方法設定欄２３１０は、最適遅延時間を算出するか否かを選択するラジオボタン、及び最適遅延時間の算出基準を選択するラジオボタンを含む。
【０３０３】
設定表示欄２３１１は、遅延時間範囲算出方法設定欄２３１２の操作結果を表示する欄である。算出基準には最大値及び最小値が表示される。
【０３０４】
遅延時間範囲算出方法設定欄２３１２は、遅延時間範囲の算出方法を設定する欄である。遅延時間範囲算出方法設定欄２３１２は、遅延時間範囲を算出するか否かを選択するラジオボタン、及び遅延時間の算出基準を選択するラジオボタンを含む。算出基準には割合及び閾値が表示される。なお、割合及び閾値に設定する値は変更することができる。
【０３０５】
戻りボタン２３１３は、ＧＵＩ２２００に切り替えるためのボタンである。
【０３０６】
ＧＵＩ２２００及びＧＵＩ２３００を用いることによって、対話特徴量、模倣特徴量、及び生体信号等の遅延時間を設定するために必要な情報を容易に設定でき、また、設定した値の確認及び変更が容易にできる。
【０３０７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０３０８】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるＣＰＵが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０３０９】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０３１０】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるＣＰＵが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０３１１】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０３１２】
１００  計算機
１０１  模倣情報算出モジュール
１０２  言語情報算出モジュール
１０３  出力情報生成モジュール
１０４  学習モジュール
１１０  対話信号計測装置
１２０  言語信号計測装置
１３０  表示装置
１４０  対話出力装置
１５０  入力装置
１５４  遅延時間
３０１  演算装置
３０２  記憶装置
３０３  入力インタフェース
３０４  出力インタフェース
３１１  対話信号情報
３１２  模倣情報
３１３  遅延時間定義情報
３１４  言語信号情報
３１５  発話情報
３１６  出力情報
３１７  出力条件情報
３１８  出力履歴情報
１８０１  脳波活動計測装置
１８０２  心拍計測装置
１８０３  発汗量計測装置
１９００  生体信号情報
【図１】
2018205616.tif 000003
【図２】
2018205616.tif 000004
【図３】
2018205616.tif 000005
【図４】
2018205616.tif 000006
【図５】
2018205616.tif 000007
【図６】
2018205616.tif 000008
【図７】
2018205616.tif 000009
【図８】
2018205616.tif 000010
【図９】
2018205616.tif 000011
【図１０】
2018205616.tif 000012
【図１１】
2018205616.tif 000013
【図１２】
2018205616.tif 000014
【図１３】
2018205616.tif 000015
【図１４】
2018205616.tif 000016
【図１５】
2018205616.tif 000017
【図１６】
2018205616.tif 000018
【図１７】
2018205616.tif 000019
【図１８】
2018205616.tif 000020
【図１９】
2018205616.tif 000021
【図２０】
2018205616.tif 000022
【図２１Ａ】
2018205616.tif 000023
【図２１Ｂ】
2018205616.tif 000024
【図２２】
2018205616.tif 000025
【図２３】
2018205616.tif 000026