(57)【要約】【課題】アバタを介して行われるコミュニケーションにおいて、リアクティブな振る舞いをコミュニケーションの相手に提示する。【解決手段】画像生成プログラムであって、アバタを介してコミュニケーションを行うユーザのうち、第１のユーザが第２のユーザに対して社会的振る舞いを行った場合に、該第２のユーザが該第１のユーザに対して行う社会的振る舞いの、所定の時間区間における傾向を特定し、前記第１のユーザが前記第２のユーザに対して社会的振る舞いを行った場合、特定した前記傾向に基づいて選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御する、処理をコンピュータに実行させる。【選択図】図７
2019101869.tif 000002
【特許請求の範囲】
【請求項１】
アバタを介してコミュニケーションを行うユーザのうち、第１のユーザが第２のユーザに対して社会的振る舞いを行った場合に、該第２のユーザが該第１のユーザに対して行う社会的振る舞いの、所定の時間区間における傾向を特定し、
前記第１のユーザが前記第２のユーザに対して社会的振る舞いを行った場合、特定した前記傾向に基づいて選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御する、
処理をコンピュータに実行させる画像生成プログラム。
【請求項２】
前記第２のユーザが前記第１のユーザに対して行う社会的振る舞いの、前記所定の時間区間における傾向が、接近行動傾向、回避行動傾向、中間行動傾向のいずれに該当するかを、前記所定の時間区間において、前記第２のユーザが前記第１のユーザに対して行う、接近行動傾向の社会的振る舞いの回数または時間、及び、回避行動傾向の社会的振る舞いの回数または時間に基づいて特定することを特徴とする請求項１に記載の画像生成プログラム。
【請求項３】
前記第２のユーザが前記第１のユーザに対して協調的な行動をとることが可能か否かを判定した判定結果と、特定した前記傾向と、に基づいて、前記第１のユーザが前記第２のユーザに対して行った社会的振る舞いを、前記第２のユーザが認識する可能性を判定し、
判定した可能性に基づいて選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御することを特徴とする請求項２に記載の画像生成プログラム。
【請求項４】
前記第２のユーザが前記第１のユーザに対して開示した情報量である情報開示量に基づいて、前記第２のユーザが前記第１のユーザに対して見なしている関係性レベルを判定し、
前記第２のユーザが前記第１のユーザから開示された情報を示す被情報開示量に基づいて、前記第１のユーザが前記第２のユーザに対して見なしていると推定した被関係性レベルを判定し、
前記第１のユーザが前記第２のユーザに対して行った社会的振る舞いを、前記第２のユーザが認識する可能性があると判定した場合に、前記関係性レベルと前記被関係性レベルとに基づいて選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御することを特徴とする請求項３に記載の画像生成プログラム。
【請求項５】
前記第２のユーザが前記第１のユーザに対して過去に行った社会的振る舞いの中から選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御することを特徴とする請求項４に記載の画像生成プログラム。
【請求項６】
前記第２のユーザが前記第１のユーザに対して過去に行った社会的振る舞いの中から、特定した前記傾向に基づいて選択した社会的振る舞い以外の社会的振る舞いを選択し、特定した前記傾向に基づいて選択した社会的振る舞いに合成し、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御することを特徴とする請求項５に記載の画像生成プログラム。
【請求項７】
アバタを介してコミュニケーションを行うユーザのうち、第１のユーザが第２のユーザに対して社会的振る舞いを行った場合に、該第２のユーザが該第１のユーザに対して行う社会的振る舞いの、所定の時間区間における傾向を特定する特定部と、
前記第１のユーザが前記第２のユーザに対して社会的振る舞いを行った場合、特定した前記傾向に基づいて選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御する制御部と
を有することを特徴とする画像生成装置。
【請求項８】
アバタを介してコミュニケーションを行うユーザのうち、第１のユーザが第２のユーザに対して社会的振る舞いを行った場合に、該第２のユーザが該第１のユーザに対して行う社会的振る舞いの、所定の時間区間における傾向を特定し、
前記第１のユーザが前記第２のユーザに対して社会的振る舞いを行った場合、特定した前記傾向に基づいて選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御する、
処理をコンピュータが実行する画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成プログラム、画像生成装置及び画像生成方法に関する。
【背景技術】
【０００２】
従来より、仮想空間におけるアバタを介して、あるいは、ユーザの動作を模倣する現実空間のロボット（広義のアバタ）を介して、遠隔にいるユーザ同士のコミュニケーションを実現するコミュニケーションサービスが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−７７３８０公報
【特許文献２】特開２００６−２６２０１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記コミュニケーションサービスにおいて実現されるコミュニケーションは、現実空間においてユーザ同士が直接行うコミュニケーションとは異なり、即時性が低い。このため、リアクティブな振る舞い（例えば、発話者が発話を開始したことに反応して相手が発話者の方を見る、といった即時性の高い振る舞い）を、コミュニケーションの相手に提示することができないといった問題がある。
【０００５】
一つの側面では、アバタを介して行われるコミュニケーションにおいて、リアクティブな振る舞いをコミュニケーションの相手に提示することを目的としている。
【課題を解決するための手段】
【０００６】
一態様によれば、画像生成プログラムは、
アバタを介してコミュニケーションを行うユーザのうち、第１のユーザが第２のユーザに対して社会的振る舞いを行った場合に、該第２のユーザが該第１のユーザに対して行う社会的振る舞いの、所定の時間区間における傾向を特定し、
前記第１のユーザが前記第２のユーザに対して社会的振る舞いを行った場合、特定した前記傾向に基づいて選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御する、
処理をコンピュータに実行させる。
【発明の効果】
【０００７】
アバタを介して行われるコミュニケーションにおいて、リアクティブな振る舞いをコミュニケーションの相手に提示することができる。
【図面の簡単な説明】
【０００８】
【図１】画像生成システムの全体構成の一例を示す図である。
【図２】仮想空間の画像の一例を示す図である。
【図３】アバタの画像の表現方法の一例を示す図である。
【図４】社会的振る舞いの基礎情報を説明するための図である。
【図５】画像生成装置のハードウェア構成の一例を示す図である。
【図６】情報処理装置が搭載されたＨＭＤのハードウェア構成の一例を示す図である。
【図７】画像生成装置のリアクティブ処理部の提示制御処理の概要を示す図である。
【図８】画像生成装置のリアクティブ処理部の機能構成を説明するための第１の図である。
【図９】センサデータ用ＤＢに格納される各テーブルの一例を示す図である。
【図１０】ログ用ＤＢに格納されたアバタ表示情報に関するログテーブルの一例を示す図である。
【図１１】定義データ用ＤＢに格納された監視対象データログ定義データテーブルの一例を示す図である。
【図１２】定義データ用ＤＢに格納された社会的振る舞い判定ＡＰＩ定義データテーブルの一例を示す図である。
【図１３】定義データ用ＤＢに格納された社会的振る舞いの接近及び回避傾向定義データテーブルの一例を示す図である。
【図１４】定義データ用ＤＢに格納された、対話戦略に対するリアクティブな社会的振る舞いが許可されているかの制御定義データテーブルの一例を示す図である。
【図１５】リアクティブ処理部の提示制御処理の詳細を示す第１のフローチャートである。
【図１６】評価情報ＤＢに記録された振る舞いログ更新記録テーブルの一例を示す図である。
【図１７】評価情報ＤＢに記録された社会的振る舞いログ記録テーブルの一例を示す図である。
【図１８】評価情報ＤＢに記録された社会的振る舞い値算出記録テーブルの一例を示す図である。
【図１９】評価情報ＤＢに記録された対話戦略決定記録テーブルの一例を示す図である。
【図２０】画像生成装置のリアクティブ処理部の機能構成を説明するための第２の図である。
【図２１】定義データ用ＤＢに格納された、時間区間社会的振る舞い行動傾向量閾値定義データテーブルの一例を示す図である。
【図２２】リアクティブ処理部の対話戦略決定処理の詳細を示す第１のフローチャートである。
【図２３】評価情報ＤＢに記録された、時間区間社会的振る舞い行動傾向量記録テーブルの一例を示す図である。
【図２４】評価情報ＤＢに記録された、時間区間社会的振る舞い行動傾向記録テーブルの一例を示す図である。
【図２５】評価情報ＤＢに記録された協調的行動可能性判定記録テーブルの一例を示す図である。
【図２６】評価情報ＤＢに記録された社会的振る舞い許容性判定記録テーブルの一例を示す図である。
【図２７】評価情報ＤＢに記録された、社会的振る舞い許容性に応じた対話戦略決定記録テーブルの一例を示す図である。
【図２８】画像生成装置のリアクティブ処理部の機能構成を説明するための第３の図である。
【図２９】定義データ用ＤＢに格納された、関係性レベルごとの対話戦略定義データテーブルの一例を示す図である。
【図３０】リアクティブ処理部の対話戦略決定処理の詳細を示す第２のフローチャートである。
【図３１】評価情報ＤＢに記録された発話値算出記録テーブルの一例を示す図である。
【図３２】関係性レベル処理の詳細を示すフローチャートである。
【図３３】評価情報ＤＢに記録された、対話相手に対する情報開示量記録テーブルの一例を示す図である。
【図３４】評価情報ＤＢに記録された、対話相手に対して適切と見なしている関係性レベル判定記録テーブルの一例を示す図である。
【図３５】評価情報ＤＢに記録された、関係性の進展の度合い記録テーブルの一例を示す図である。
【図３６】被関係性レベル処理の詳細を示すフローチャートである。
【図３７】評価情報ＤＢに記録された、対話相手からの被情報開示量記録テーブルの一例を示す図である。
【図３８】評価情報ＤＢに記録された、対話相手からの被情報開示量に基づき対話相手が適切と見なしている被関係性レベル推定記録テーブルの一例を示す図である。
【図３９】関係性調整制御処理の詳細を示すフローチャートである。
【図４０】関係性調整制御に基づく対話戦略決定処理の詳細を示すフローチャートである。
【図４１】評価情報ＤＢに記録された、関係性レベルに応じた対話戦略決定記録テーブルの一例を示す図である。
【図４２】画像生成装置のリアクティブ処理部の機能構成を説明するための第４の図である。
【図４３】定義データ用ＤＢに格納された、対話戦略ごとのリアクティブな社会的振る舞い定義データテーブルの一例を示す図である。
【図４４】定義データ用ＤＢに格納された、社会的振る舞い群の定義データテーブルの一例を示す図である。
【図４５】定義データ用ＤＢに格納された、社会的振る舞い及び社会的振る舞い群の接近及び回避傾向評価値定義データテーブルの一例を示す図である。
【図４６】リアクティブ処理部の提示制御処理の詳細を示す第２のフローチャートである。
【図４７】実行スタック登録処理の詳細を示すフローチャートである。
【図４８】評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第１の図である。
【図４９】合成処理の詳細を示すフローチャートである。
【図５０】評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第２の図である。
【図５１】評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第３の図である。
【図５２】評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第４の図である。
【図５３】評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第５の図である。
【図５４】評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第６の図である。
【図５５】評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第７の図である。
【図５６】実行スタックに基づく提示制御処理の詳細を示すフローチャートである。
【図５７】評価情報ＤＢに記録された、社会的振る舞い制御ログテーブルの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１０】
［第１の実施形態］
＜画像生成システムの全体構成＞
はじめに、画像生成システムについて説明する。図１は、画像生成システムの全体構成の一例を示す図である。図１に示すように、画像生成システム１００は、サーバソフトウェアが配置される画像生成装置１１０と、クライアントアプリケーションソフトウェアが配置される情報処理装置１２１、１３１をそれぞれ含むクライアント側システム１２０、１３０とを有する。画像生成装置１１０と、クライアント側システム１２０、１３０とは、インターネットやＬＡＮ（Local  Area  Network）等に代表されるネットワーク１６０を介して接続される。
【００１１】
画像生成システム１００は、画像生成装置１１０と、クライアント側システム１２０、１３０とが、全体の処理を分割して実行する。これにより、画像生成システム１００は、アバタ（ユーザと対応付けた状態の画像）を介してユーザ同士のコミュニケーションを実現するコミュニケーションサービスを提供する。
【００１２】
ユーザ１４０（ユーザＩＤ＝“ｕｓｅｒＡ”）、ユーザ１５０（ユーザＩＤ＝“ｕｓｅｒＢ”）は、互いに離間した場所にて、画像生成システム１００が提供するコミュニケーションサービスを利用する。コミュニケーションサービスを利用することで、ユーザ１４０とユーザ１５０とは同じ仮想空間においてアバタを介してコミュニケーションを行うことができる。
【００１３】
画像生成装置１１０は、ユーザ１４０、１５０の動作をセンシングした結果得られたセンサデータを収集し、各種処理を行うサーバ装置である。
【００１４】
画像生成装置１１０には、サーバソフトウェアとしての画像生成プログラムがインストールされており、当該画像生成プログラムが実行されることで、画像生成装置１１０は、基本機能部及びリアクティブ処理部１１５として機能する。
【００１５】
基本機能部には、情報収集処理管理部１１１、情報表示処理部１１２、登録データ管理部１１３、表示履歴管理部１１４が含まれ、コミュニケーションサービスを提供するための基本的な機能を実現する。
【００１６】
情報収集処理管理部１１１は、ユーザ１４０、１５０の動作をセンシングした結果得られたセンサデータを収集してセンサデータ用データベース（以下、ＤＢ（Database）と略す）１１６ｂに格納する。
【００１７】
情報表示処理部１１２は、センサデータ用ＤＢ１１６ｂに格納されたセンサデータに基づいて、仮想空間におけるアバタの画像を生成する。情報表示処理部１１２は、例えば、コンテンツ用ＤＢ１１６ａに格納されたアバタ骨格モデルを用いてアバタの画像を生成する。
【００１８】
アバタ骨格モデルとは、人型の画像であって、複数のアバタ骨格を用いて、ユーザの各部位の動作を表現する画像である。なお、アバタ骨格とは、アバタの頭や肢体を動かす基点となるオブジェクトであり、１のアバタ骨格モデル内には、複数のアバタ骨格が含まれる。
【００１９】
情報表示処理部１１２は、各アバタ骨格について、センサデータに基づいて仮想空間における位置座標及び回転角度を算出し、算出した位置座標及び回転角度をアバタ骨格モデルに反映させることでアバタの画像を生成する。
【００２０】
また、情報表示処理部１１２は、コンテンツ用ＤＢ１１６ａに格納された仮想空間の画像（背景画像）に、アバタの画像を組み込みこむことで仮想空間用情報を生成し、クライアント側システム１２０、１３０に送信する。
【００２１】
なお、情報表示処理部１１２は、リアクティブ処理部１１５からの指示に基づいて、仮想空間の画像に組み込むアバタの画像を変更するものとする。例えば、リアクティブ処理部１１５から、リアクティブ処理部１１５にて生成したアバタの画像を表示するよう指示があった場合、情報表示処理部１１２は、リアクティブ処理部１１５にて生成したアバタの画像を組み込むことで仮想空間用情報を生成する。
【００２２】
登録データ管理部１１３は、情報収集処理管理部１１１がセンサデータを収集し、情報表示処理部１１２が仮想空間用情報を生成して送信するまでの間に用いられる各種情報をコンテンツ用ＤＢ１１６ａ、定義データ用ＤＢ１１８等に登録する。
【００２３】
表示履歴管理部１１４は、情報表示処理部１１２が送信した仮想空間用情報に含まれるアバタの画像の生成に用いられたデータを、ログデータとして、ログ用ＤＢ１１７に格納された“表示情報に関するログテーブル”に記録する。なお、アバタの画像の生成に用いられたデータとは、具体的には、各アバタ骨格の位置座標及び回転角度のデータである。
【００２４】
リアクティブ処理部１１５は、第１のユーザに対してリアクティブな振る舞いを行うことが望ましい場面において、第２のユーザのリアクティブな振る舞いを示すアバタの画像を生成する。また、リアクティブ処理部１１５は、生成したアバタの画像を表示するよう、情報表示処理部１１２に指示する。
【００２５】
これは、リアクティブな振る舞いを行うことが望ましい場面においては、第２のユーザの実際の動作をセンシングしたセンサデータに基づいてアバタの画像を生成したのでは、第１のユーザに対してリアクティブな振る舞いを提示することはできないからである。
【００２６】
そこで、リアクティブ処理部１１５では、第１のユーザに対して第２のユーザが行うであろうリアクティブな振る舞いに基づいてアバタの画像を生成する。これにより、リアクティブ処理部１１５によれば、第２のユーザによる実際の動作をセンシングしたセンサデータを待つことなく、第１のユーザに対して、第２のユーザのリアクティブな振る舞いを提示する提示制御処理を実現することができる。
【００２７】
なお、以下では、第１のユーザがユーザ１４０（ユーザＩＤ＝“ｕｓｅｒＡ”）、第２のユーザがユーザ１５０（ユーザＩＤ＝“ｕｓｅｒＢ”）であるとして説明を行う。また、以下では、リアクティブな振る舞いを行う相手（ユーザ）を、「対話相手」と称する。
【００２８】
続いて、クライアント側システムについて説明する。図１に示すように、画像生成システム１００において、クライアント側システム１２０とクライアント側システム１３０とは同様の構成を有している。このため、ここでは、クライアント側システム１２０について説明する。
【００２９】
クライアント側システム１２０は、情報処理装置１２１、情報提示装置１２３、情報収集装置１２４〜１２６を有する。
【００３０】
情報処理装置１２１には、クライアントアプリケーションソフトウェアとしての情報処理プログラムがインストールされており、当該情報処理プログラムが実行されることで、情報処理装置１２１は、情報処理部１２２として機能する。情報処理部１２２は、情報収集装置１２４〜１２６から出力されるセンサデータを画像生成装置１１０に送信するとともに、画像生成装置１１０から送信される仮想空間用情報を受信し、情報提示装置１２３に出力する。
【００３１】
なお、第１の実施形態において、情報処理装置１２１は、ＨＭＤ（Head-Mounted  Display）に搭載されているものとして説明するが、情報処理装置１２１は、ＨＭＤに搭載されていなくてもよい。例えば、情報処理装置１２１は、ユーザ１４０を取り囲む環境埋め込み型端末に搭載されていてもよい。あるいは、情報処理装置１２１は、コンタクトレンズ、眼鏡のような装着型モバイル端末や、据え置き型のサーバ装置等に搭載されていてもよい。
【００３２】
情報提示装置１２３は、画像生成装置１１０より送信された仮想空間用情報を、ユーザ１４０に対して表示する。なお、第１の実施形態において、情報提示装置１２３は、ＨＭＤの表示部により実現される。
【００３３】
情報収集装置１２４〜１２６は、ユーザ１４０の現実空間における非言語動作をセンシングし、センサデータを出力する。
【００３４】
第１の実施形態において、情報収集装置１２４は頭部姿勢センサであり、ＨＭＤに搭載される。頭部姿勢センサ１２４は、ユーザ１４０の現実空間における非言語動作に含まれる“頭の位置・向き”をセンシングして頭部姿勢データを出力する。
【００３５】
また、第１の実施形態において、情報収集装置１２５は深度センサである。深度センサ１２５は、ユーザ１４０の前方に設置され、設置位置からユーザ１４０までの三次元の距離をセンシングすることで、現実空間におけるユーザ１４０の非言語動作に応じて変化する深度データ及び二次元の距離画像等を出力する。深度データとは、深度（奥行き）を示すデータ（例えば、３ｃｍ等）である。また、距離画像とは、深度センサ１２５から得られた深度データをＸＹ平面にプロットして得られる画像をいう。距離画像上の各画素には、深度センサ１２５から得た各ＸＹ座標位置にある物体（深度センサ１２５から見て一番手前にある物体）までの距離の値が格納される。なお、深度センサ１２５から得られるデータ（深度データ、距離画像のほか、カラー画像等も含む）を総称して、深度センサデータと称する。
【００３６】
また、第１の実施形態において、情報収集装置１２６は筋電位センサである。筋電位センサ１２６は、現実空間におけるユーザ１４０の非言語動作に含まれる“表情の変化”をセンシングして筋電位データを出力する。
【００３７】
なお、以下では、クライアントアプリケーションソフトウェアが配置された１つの装置（情報処理装置）上に、１人のユーザが割り当てられるものとして説明するが、１つの装置上に複数のユーザが割り当てられていてもよい。
【００３８】
また、以下では、サーバソフトウェアもクライアントアプリケーションソフトウェアも、それぞれ１つの装置（画像生成装置、情報処理装置）上に配置されるものとして説明するが、１つの装置上に、複数のソフトウェアが配置されていてもよい。
【００３９】
あるいは、サーバソフトウェアとクライアントアプリケーションソフトウェアは、１つの装置上に配置されていてもよい。例えば、各情報処理装置１２１、１３１それぞれに画像処理プログラムと情報処理プログラムとがインストールされていてもよい。
【００４０】
あるいは、サーバソフトウェアもクライアントアプリケーションソフトウェアも、それぞれのソフトウェアにおいて実現される機能が、複数の装置に分散されて配置されていてもよい。
【００４１】
また、以下では、クライアントアプリケーションソフトウェアがユーザ１４０を識別し、画像生成装置１１０から送信される仮想空間用情報を、当該識別したユーザ１４０に応じた仮想空間用情報に変換して表示するものとする。また、以下では、ユーザ１４０の非言語動作をセンシングした結果得られるセンサデータが、ユーザ１４０と紐づけて画像生成装置１１０に送信されるものとして説明する。
【００４２】
なお、クライアントアプリケーションソフトウェアが配置される情報処理装置１２１は、クライアントアプリケーションソフトウェアまたはサーバソフトウェアによってアクセス制御されるものとする。つまり、以下では、クライアントアプリケーションソフトウェアは、クライアントアプリケーションソフトウェアが配置される情報処理装置１２１にて、本人確認（ユーザ認証）が事前に行われたうえで起動されるものとする。
【００４３】
また、以下では、クライアントアプリケーションソフトウェアが情報提示装置１２３の仕様を確認し、画像生成装置１１０から送信される仮想空間用情報を、当該確認した仕様に応じた仮想空間用情報に変換して表示するものとする。
【００４４】
また、以下では、クライアントアプリケーションソフトウェアが情報処理装置１２１を確認し、ユーザ１４０の非言語動作をセンシングした結果得られたセンサデータを、情報処理装置１２１と紐づけて画像生成装置１１０に送信するものとする。
【００４５】
また、以下では、ユーザ１４０を識別する識別子を、ユーザ１４０が１種類有しているものとして説明するが、画像生成システム１００が複数のサービスを提供する場合にあっては、ユーザ１４０は、サービスごとに異なる識別子を有していてもよい。ただし、その場合、画像生成システム１００により、ユーザ１４０が有している複数の識別子間の対応付けが管理されているものとする。
【００４６】
また、以下では、情報収集装置１２４〜１２６として、頭部姿勢センサ、深度センサ、筋電位センサがユーザ１４０の非言語動作をセンシングするものとして説明するが、それ以外のセンサが、ユーザ１４０の非言語動作をセンシングしてもよい。それ以外のセンサには、例えば、動画像撮像装置、静止画像（カラー画像）撮像装置、音声取得装置（マイク等）、生体センサ、脳波センサ等が含まれる。
【００４７】
なお、非接触のセンサにおいては、例えば、ユーザ１４０を撮影している静止画像にユーザ１４０が映っていない場合などのように、センサデータ中にユーザ１４０のデータが存在しない場合もある。また、例えば、ユーザ１４０を撮影している静止画像に複数のユーザが撮影され、どのユーザをセンシングしたのか判別できない場合もある。本実施形態においては、このような事象については、別途対策がなされているものとし、センサデータは画像生成装置１１０においてユーザ１４０と正しく紐付けがなされるものとする。
【００４８】
また、以下では、情報収集装置１２４〜１２６にてセンシングされたセンサデータ自体が画像生成装置１１０に送信されるものとして説明するが、センシングされたセンサデータから導出可能な中間的な情報が送信されてもよい。例えば、ユーザ１４０の顔画像データをセンシングする場合にあっては、ユーザ１４０の顔パーツに着目することで導出される笑顔の変化の大小を表す情報が、画像生成装置１１０に送信されてもよい。あるいは、ユーザ１４０の顔の大きさに着目することで導出される姿勢変化を表す情報が、画像生成装置１１０に送信されてもよい。
【００４９】
また、以下では、情報処理装置１２１、１３１から送信されるセンサデータには、タイムスタンプが付加されているものとする。また、このとき付加されるタイムスタンプについては、クライアント側システム１２０とクライアント側システム１３０との間で、時刻合わせがなされているものとする。
【００５０】
更に、以下では、情報提示装置１２３として、表示部を例に説明するが、ＨＭＤがそれ以外の情報提示装置を有していてもよい。表示部以外の情報提示装置には、例えば、音声出力装置（スピーカ等）が含まれる。
【００５１】
＜仮想空間の画像＞
次に、ユーザ１４０、１５０のアバタの画像を含む仮想空間の画像について説明する。図２は、仮想空間の画像の一例を示す図である。
【００５２】
図２に示すように、コミュニケーションサービスを利用するユーザ１４０は、現実空間において、ＨＭＤ（頭部姿勢センサ１２４及び表示部１２３が搭載されたＨＭＤ）と、筋電位センサ１２６とを装着して、例えば、椅子２００に着座する。また、ユーザ１４０の前方には深度センサ１２５が設置され、ユーザ１４０をセンシングする。
【００５３】
頭部姿勢センサ１２４、深度センサ１２５、筋電位センサ１２６がセンシングにより得た頭部姿勢データ、深度センサデータ、筋電位データは、画像生成装置１１０に送信され、画像生成装置１１０において、ユーザ１４０のアバタの画像が生成される。同様の処理がユーザ１５０に対しても行われ、画像生成装置１１０において、ユーザ１５０のアバタの画像が生成される。
【００５４】
更に、画像生成装置１１０において生成されたアバタの画像は、仮想空間の画像に組み込まれ、仮想空間用情報として情報処理装置１２１及び１３１にそれぞれ送信される。
【００５５】
図２に示す画像２１０は、情報処理装置１２１に送信された仮想空間用情報に含まれる仮想空間の画像の一例であり、当該画像２１０には、ユーザ１４０のアバタの画像２２０とユーザ１５０のアバタの画像２３０とが組み込まれている。図２に示すように、画像２１０は、ユーザ１４０が、自身のアバタの画像２２０を後から見ているように表示される。この状態で、ユーザ１４０が非言語動作を行うと、画像２１０内のアバタの画像２２０も変化する。画像２１０によれば、ユーザ１４０は、自身の非言語動作に伴って仮想空間内で変化するアバタの画像２２０を、アバタの画像２２０の後ろ側から確認することができる。なお、画像２１０におけるアバタの画像２２０の表示態様はこれに限定されるものではなく、例えば、ユーザ１４０が現実空間で見るのと同様、自身の目の位置から見るように、アバタの画像２２０を表示してもよい。この場合、ユーザ１４０は、アバタの画像２２０の一部（腕や足等）を視認することになる。
【００５６】
＜アバタの画像の表現方法＞
次に仮想空間におけるアバタの画像の表現方法について説明する。仮想空間におけるアバタの画像は、現実空間におけるユーザの非言語動作を反映させるために、部位ごとに異なる表現方法を用いて表現することができる。ただし、以下では、いずれの部位もアバタ骨格モデルを用いて表現するものとして説明する。
【００５７】
上述したように、アバタ骨格は１のアバタ骨格モデル内に複数含まれている。例えば、アバタ骨格モデルの頭部には、頭部のアバタ骨格が含まれている。頭部のアバタ骨格の位置座標及び回転角度は、頭部姿勢データに基づいて算出される。また、アバタ骨格モデルの頭部以外の肢体には、頭部以外の肢体のアバタ骨格が含まれている。これらのアバタ骨格の位置座標及び回転角度は、深度データに基づいて算出される。
【００５８】
ここでは、一例として、アバタの上半身の画像についてアバタ骨格モデルを用いて表現する表現方法について説明する。図３は、アバタの画像の表現方法の一例を示す図であり、ユーザの上半身が前傾または後傾する動作、ユーザが左右を見回すように上半身の向きを変える動作、及び上半身全体で左側面や右側面に揺れる動作をアバタの画像として表現したものである。アバタ骨格モデルを用いた表現方法の場合、これらの動作はアバタの腰の位置を原点とする３軸方向に対するアバタ骨格（“Bone_Chest”）の回転角度の変化として表現することができる。
【００５９】
なお、図３では、仮想空間で一意に定まる座標系のＸ軸、Ｙ軸、Ｚ軸を、それぞれアバタの左右方向、上下方向、前後方向としている。
【００６０】
画像３０１は、Ｘ軸に対してアバタ骨格が＋α［度］回転した場合のアバタの画像を示しており、画像３０２は、Ｘ軸に対してアバタ骨格が−α［度］回転した場合のアバタの画像を示している。また、画像３１１は、Ｙ軸に対してアバタ骨格が＋α［度］回転した場合のアバタの画像を示しており、画像３１２は、Ｙ軸に対してアバタ骨格が−α［度］回転した場合のアバタの画像を示している。
【００６１】
更に、画像３２１は、Ｚ軸に対してアバタ骨格が＋α［度］回転した場合のアバタの画像を示しており、画像３２２は、Ｚ軸に対してアバタ骨格が−α［度］回転した場合のアバタの画像を示している。
【００６２】
＜社会的振る舞いの基礎情報＞
次に、社会的振る舞いと、社会的振る舞いの判定に用いられる基礎情報とについて説明する。社会的振る舞い（Social  Behavior）とは、現実空間における所定の人の非言語動作のうち、社会的な存在に対して行われる非言語動作を指す。
【００６３】
例えば、所定の人の非言語動作が、前進する非言語動作であったとした時に、前進した先に他の人がいる場合には、当該所定の人の非言語動作は、他の人に近づくという社会的振る舞い（接近傾向を示す社会的振る舞い）であるということができる。反対に、他の人が近くにいる状態で、前進する非言語動作を行った結果、当該他の人から遠ざかる場合には、当該所定の人の非言語動作は、他の人から遠ざかる社会的振る舞い（回避傾向を示す社会的振る舞い）であるということができる。
【００６４】
同様に、例えば、所定の人の非言語動作が、頭の位置・向きを右方向に向ける非言語動作であったとした時に、右側に他の人がいる場合には、当該所定の人の非言語動作は、他の人に顔を向ける社会的振る舞いであるということができる。つまり、接近傾向を示す社会的振る舞いであるということができる。反対に、当該所定の人の左側に他の人がいる状態で、頭の位置・向きを右方向に向ける非言語動作を行った場合、当該所定の人の非言語動作は、他の人から顔をそむける社会的振る舞いであるということができる。つまり、回避傾向を示す社会的振る舞いであるということができる。
【００６５】
このため、仮想空間において社会的振る舞いを判定する場合には、仮想空間における所定の人のアバタと他の人のアバタとの物理的な距離や回転角度等の基礎情報を算出することが必要となる。
【００６６】
図４は、社会的振る舞いの基礎情報を説明するための図である。図４に示す画像２１０おいて、ユーザ１４０のアバタの画像２２０（アバタＩＤ＝“ＡＶ１”）の仮想空間における位置座標が（０，０，０）であるとする。また、ユーザ１５０のアバタの画像２３０（アバタＩＤ＝“ＡＶ２”）の仮想空間における位置座標が（１０，０，１７．３２）であるとする。この場合、基礎情報として、ユーザ１４０のアバタの画像２２０と、ユーザ１５０のアバタの画像２３０との物理的な距離を、“２０（＝０．２［ｍ］）”と算出することができる。
【００６７】
また、図４において、ユーザ１４０のアバタの画像２２０の仮想空間における回転角度が（０，０，０）であり、ユーザ１５０のアバタの画像２３０の仮想空間における回転角度が（０，−９０，０）であるとする。この場合、基礎情報として、ユーザ１５０のアバタの画像２３０の前後方向から、ユーザ１４０のアバタの画像２２０へのＸＺ平面上での回転角度を“−９０［度］”と算出することができる。また、基礎情報として、ユーザ１４０のアバタの画像２２０の前後方向から、ユーザ１５０のアバタの画像２３０へのＸＺ平面上での回転角度を“＋９０［度］”と算出することができる。
【００６８】
なお、図４の例では、ユーザ１４０のアバタの画像２２０と、ユーザ１５０のアバタの画像２３０に加えて、オブジェクトの画像４１０が仮想空間内に配されている。オブジェクトの画像４１０の仮想空間における位置座標は（−６，２１，１７）であり、仮想空間における回転角度は（９０，１４０，０）である。したがって、オブジェクトの画像４１０に対しても、同様に、基礎情報を算出することができる。
【００６９】
＜画像生成装置のハードウェア構成＞
次に、画像生成システム１００に含まれる画像生成装置１１０のハードウェア構成について説明する。図５は、画像生成装置のハードウェア構成の一例を示す図である。図５に示すように、画像生成装置１１０は、ＣＰＵ（Central  Processing  Unit）５０１、ＲＯＭ（Read  Only  Memory）５０２、ＲＡＭ（Random  Access  Memory）５０３を備える。ＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３は、いわゆるコンピュータを形成する。また、画像生成装置１１０は、補助記憶部５０４、通信部５０５、表示部５０６、操作部５０７、ドライブ部５０８を備える。なお、画像生成装置１１０の各部は、バス５０９を介して相互に接続されている。
【００７０】
ＣＰＵ５０１は、補助記憶部５０４にインストールされた各種プログラム（例えば、サーバソフトウェアとしても画像生成プログラム）を実行する。ＲＯＭ５０２は、不揮発性メモリである。ＲＯＭ５０２は、補助記憶部５０４に格納された各種プログラムをＣＰＵ５０１が実行するために必要な各種プログラム、データ等を格納する主記憶部である。具体的には、ＲＯＭ５０２はＢＩＯＳ（Basic  Input/Output  System）やＥＦＩ（Extensible  Firmware  Interface）等のブートプログラム等を格納する。
【００７１】
ＲＡＭ５０３は、ＤＲＡＭ（Dynamic  Random  Access  Memory）やＳＲＡＭ（Static  Random  Access  Memory）等の揮発性メモリであり、主記憶部として機能する。ＲＡＭ５０３は、補助記憶部５０４に格納された各種プログラムがＣＰＵ５０１によって実行される際に展開される、作業領域を提供する。
【００７２】
補助記憶部５０４は、画像生成装置１１０にインストールされた各種プログラムや、各種プログラムが実行される際に用いられる情報（各種コンテンツ、各種定義情報等）を格納する。また、補助記憶部５０４は、各種プログラムを実行することで取得される情報（センサデータ、ログテーブル等）を格納する。なお、上述したコンテンツ用ＤＢ１１６ａ、センサデータ用ＤＢ１１６ｂ、ログ用ＤＢ１１７、定義データ用ＤＢ１１８、評価情報ＤＢ１１９は、補助記憶部５０４において実現される。
【００７３】
通信部５０５は、画像生成装置１１０に接続されるクライアント側システム１２０、１３０の情報処理装置１２１、１３１と通信するためのデバイスである。表示部５０６は、画像生成装置１１０の処理結果や処理状態を表示するデバイスである。操作部５０７は、画像生成装置１１０に対して各種指示を入力するためのデバイスである。
【００７４】
ドライブ部５０８は記録媒体５１０をセットするためのデバイスである。ここでいう記録媒体５１０には、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体５１０には、ＲＯＭ、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
【００７５】
なお、補助記憶部５０４にインストールされる各種プログラムは、例えば、配布された記録媒体５１０がドライブ部５０８にセットされ、記録媒体５１０に記録された各種プログラムがドライブ部５０８により読み出されることでインストールされるものとする。あるいは、補助記憶部５０４にインストールされる各種プログラムは、通信部５０５を介してネットワーク１６０よりダウンロードすることでインストールされてもよい。
【００７６】
＜情報処理装置が搭載されたＨＭＤのハードウェア構成＞
次に、情報処理装置１２１が搭載されたＨＭＤのハードウェア構成について説明する。図６は、情報処理装置が搭載されたＨＭＤのハードウェア構成の一例を示す図である。図６に示すように、ＨＭＤに搭載された情報処理装置１２１は、ＣＰＵ６０１、ＲＯＭ６０２、ＲＡＭ６０３を備える。また、ＨＭＤに搭載された情報処理装置１２１は、補助記憶部６０４、通信部６０５を備える。ＨＭＤは、更に、操作部６０６、表示部１２３、頭部姿勢センサ１２４、Ｉ／Ｆ（Interface）部６０７を備え、これらの各部は、バス６０８を介して相互に接続されている。なお、ＨＭＤには、更に、他のセンサとして音声出力装置（スピーカ等）や、他の情報提示装置として音声取得装置（マイク等）が配されているが、ここでは、省略している。
【００７７】
ＣＰＵ６０１は、補助記憶部６０４にインストールされた各種プログラム（例えば、クライアントアプリケーションソフトウェアとしての情報処理プログラム）を実行する。ＲＯＭ６０２は、不揮発性メモリである。ＲＯＭ６０２は、補助記憶部６０４に格納された各種プログラムをＣＰＵ６０１が実行するために必要な各種プログラム、データ等を格納する主記憶部である。具体的には、ＲＯＭ６０２はＢＩＯＳやＥＦＩ等のブートプログラム等を格納する。
【００７８】
ＲＡＭ６０３は、ＤＲＡＭやＳＲＡＭ等の揮発性メモリであり、主記憶部として機能する。ＲＡＭ６０３は、補助記憶部６０４に格納された各種プログラムがＣＰＵ６０１によって実行される際に展開される、作業領域を提供する。
【００７９】
補助記憶部６０４は、インストールされた各種プログラムや、各種プログラムが実行される際に用いられる情報を格納する。通信部６０５は、画像生成装置１１０と通信するためのデバイスである。
【００８０】
操作部６０６は、ＨＭＤに対して各種指示を入力するためのデバイスである。表示部１２３は、画像生成装置１１０から送信された仮想空間用情報に含まれる仮想空間の画像を表示するデバイスである。
【００８１】
頭部姿勢センサ１２４は、現実空間におけるユーザ１４０の非言語動作に含まれる“頭の位置・向き”をセンシングし頭部姿勢データを出力する。
【００８２】
Ｉ／Ｆ部６０７は、深度センサ１２５、筋電位センサ１２６と接続し、深度センサ１２５より出力された深度センサデータ、筋電位センサ１２６より出力された筋電位データをそれぞれ取得する。
【００８３】
取得した頭部姿勢データ、深度センサデータ、筋電位データ等のセンサデータは、通信部６０５により画像生成装置１１０に送信される。なお、図６の例では、ＨＭＤが一体の装置として形成された場合を示したが、ＨＭＤは一体により形成されていても、別体の複数のデバイスにより形成されていてもよい。
【００８４】
＜リアクティブ処理部の提示制御処理の概要＞
次に、画像生成装置１１０のリアクティブ処理部１１５により実現される提示制御処理の概要について説明する。図７は、画像生成装置のリアクティブ処理部の提示制御処理の概要を示す図である。
【００８５】
図７において、画像生成装置１１０から延びる３本の実線のうち、１本目の実線は、リアクティブ処理部１１５が、ユーザ１４０に対してリアクティブな社会的振る舞いを提示すべくユーザ１５０のアバタの画像を生成するタイミングを示すための線である。また、２本目の実線は、ユーザ１４０及びユーザ１５０の動作をそれぞれセンシングすることで得られるセンサデータに基づいて、基本機能部が、アバタの画像を生成し、仮想空間用情報を生成するタイミングを示すための線である。更に、３本目の実線は、ユーザ１４０及びユーザ１５０の動作をそれぞれセンシングすることで得られるセンサデータを、基本機能部が受信するタイミングを示すための線である。
【００８６】
また、図７において、クライアント側システム１２０、１３０からそれぞれ延びる２本の実線のうち、１本目の実線は、クライアント側システム１２０、１３０が、仮想空間用情報を受信するタイミングを示すための線である。また、２本目の実線は、クライアント側システム１２０、１３０が、センサデータを収集するタイミングを示すための線である。
【００８７】
なお、図７において、各タイミングを示すために実線上に配置された矩形図形には、縦方向の高さが高い図形と、縦方向の高さが低い図形とが含まれる。前者は、画像群に関するデータを示しており、後者は、画像群以外のデータを示している。
【００８８】
図７に示すように、ユーザ１４０のユーザ１５０に対する社会的振る舞いに対応するセンサデータ７１０を、クライアント側システム１２０が収集すると、クライアント側システム１２０は、収集したセンサデータ７１０を画像生成装置１１０に送信する。
【００８９】
画像生成装置１１０の基本機能部は、クライアント側システム１２０より受信したセンサデータ７１０に基づいて、ユーザ１４０のアバタの画像を生成し、生成したアバタの画像を組み込むことで、仮想空間の画像７１０Ｉを生成する。また、画像生成装置１１０の基本機能部は、生成した仮想空間の画像７１０Ｉを、クライアント側システム１２０、１３０に送信する。
【００９０】
このとき、画像生成装置１１０のリアクティブ処理部１１５は、ユーザ１４０の社会的振る舞いに対するユーザ１５０のリアクティブな社会的振る舞いをユーザ１４０に提示するために、アバタの画像７２０を生成し、基本機能部に対して通知する。
【００９１】
これにより、画像生成装置１１０の基本機能部では、アバタの画像７２０を組み込んだ仮想空間の画像７２０Ｉを生成し、クライアント側システム１２０に送信する。
【００９２】
これにより、クライアント側システム１２０は、仮想空間の画像７１０Ｉを受信して表示した後、すぐに、仮想空間の画像７２０Ｉを受信して表示することができる。上述したとおり、仮想空間の画像７１０Ｉには、ユーザ１４０の社会的振る舞いに対応するアバタの画像が含まれ、仮想空間の画像７２０Ｉには、ユーザ１５０のリアクティブな社会的振る舞いを示すアバタの画像７２０が含まれる。このため、クライアント側システム１２０では、ユーザ１４０に対して、ユーザ１５０のリアクティブな社会的振る舞いを提示することができる（ユーザ１５０のリアクティブな社会的振る舞いの提示を、矢印２５１０に示すタイムラグに抑えることができる）。
【００９３】
一方、クライアント側システム１３０は、仮想空間の画像７１０Ｉを受信し表示する。これにより、ユーザ１５０は、何らかの社会的振る舞いを行い、クライアント側システム１３０では、対応するセンサデータ７３０を収集し、画像生成装置１１０に送信する。
【００９４】
画像生成装置１１０の基本機能部は、クライアント側システム１３０より受信したセンサデータ７３０に基づいて、ユーザ１５０のアバタの画像を生成し、生成したアバタの画像を組み込むことで、仮想空間の画像７３０Ｉを生成する。また、画像生成装置１１０の基本機能部は、生成した仮想空間の画像７３０Ｉを、クライアント側システム１３０に送信する。
【００９５】
このとき、従来のコミュニケーションシステムのように、仮想空間の画像７３０Ｉをクライアント側システム１２０にも送信したとする。この場合、クライアント側システム１２０では、仮想空間の画像７１０Ｉを受信してから、矢印２５２０のタイムラグをもって、仮想空間の画像７３０Ｉを表示することになる。
【００９６】
上述したとおり、仮想空間の画像７１０Ｉには、ユーザ１４０の社会的振る舞いに対応するアバタの画像が含まれ、仮想空間の画像７３０Ｉには、ユーザ１５０の社会的振る舞いに対応するアバタの画像が含まれる。このため、従来のコミュニケーションシステムでは、ユーザ１４０に対して、ユーザ１５０の社会的振る舞いを、矢印２５２０のタイムラグをもって提示することとなっており、リアクティブな提示を行うことができなかった。
【００９７】
これに対して、リアクティブ処理部１１５によれば、上述したとおり、矢印２５１０のタイムラグに抑えることができ、矢印２５３０に示す時間分、タイムラグを短縮することができる。つまり、従来よりもよりリアクティブな社会的振る舞いをユーザ１４０に提示することができる。
【００９８】
＜画像生成装置のリアクティブ処理部の機能構成＞
次に、画像生成装置１１０のリアクティブ処理部１１５の機能構成について説明する。図８は、画像生成装置のリアクティブ処理部の機能構成を説明するための第１の図である。図８に示すように、リアクティブ処理部１１５は、社会的振る舞いログ記録部８０１、社会的振る舞い値算出部８０２、接近及び回避傾向特定部８０３、対話戦略決定部８０４、提示制御部８０５を有する。
【００９９】
社会的振る舞いログ記録部８０１は、ログ用ＤＢ１１７に格納された“アバタ表示情報に関するログテーブル”を監視する。なお、上述したとおり、“アバタ表示情報に関するログテーブル”は、センサデータ用ＤＢ１１６ｂに格納された各テーブルに基づいて、画像生成装置１１０の基本機能部がアバタの画像を生成する際に用いたデータを、ログデータとして記録したテーブルである。
【０１００】
“アバタ表示情報に関するログテーブル”の監視に際して、社会的振る舞いログ記録部８０１は、定義データ用ＤＢ１１８に格納された“監視対象データログ定義データテーブル”を参照し、監視対象とする部位のアバタ骨格と更新閾値とを特定する。
【０１０１】
また、社会的振る舞いログ記録部８０１は、“アバタ表示情報に関するログテーブル”に含まれるログデータのうち、監視対象とする部位のアバタ骨格の位置座標または回転角度の変化が、更新閾値を超えているログデータを特定する。また、社会的振る舞いログ記録部８０１は、特定したログデータを、評価情報ＤＢ１１９の“振る舞いログ更新記録テーブル”に記録する。
【０１０２】
なお、社会的振る舞いログ記録部８０１は、ログ用ＤＢ１１７に格納された“アバタ表示情報に関するログテーブル”に加えて、評価情報ＤＢ１１９に格納された“振る舞いログ更新記録テーブル”を参照してもよい。“振る舞いログ更新記録テーブル”には、監視対象とする部位のアバタ骨格の、前の時点の位置座標または回転角度がログデータとして記録されているからである。
【０１０３】
更に、社会的振る舞いログ記録部８０１は、特定したログデータが社会的振る舞いに相当するか否かを判定し、社会的振る舞いに相当すると判定した場合に、特定したログデータを、“社会的振る舞いログ記録テーブル”に記録する。
【０１０４】
なお、社会的振る舞いに相当するか否かの判定に際して、社会的振る舞いログ記録部８０１は、定義データ用ＤＢ１１８の社会的振る舞い判定ＡＰＩ定義データテーブルに規定されたＡＰＩを使用する。ＡＰＩとは、Application  Programming  Interfaceの略称であり、社会的振る舞いを判定するライブラリとして機能する。
【０１０５】
社会的振る舞い値算出部８０２は、“社会的振る舞いログ記録テーブル”に記録された各ログデータについて、社会的振る舞いに関する各種情報を算出または特定する。社会的振る舞いに関する各種情報には、例えば、
・社会的振る舞いの強度、
・社会的振る舞いの属性値、
・社会的振る舞いの接近傾向及び回避傾向を示す情報、
・社会的振る舞いによる身体パーツの接触の有無、
・社会的振る舞いによる表情の提示の有無、
・社会的振る舞いを受けたことによる身体パーツの接触の有無、
・社会的振る舞いを受けたことによる表情の提示の有無、
等が含まれる。このうち、第１の実施形態では、対話戦略（実行可能な振る舞いまたは実行を回避すべき振る舞いを特定するための情報）を決定するにあたり、社会的振る舞いの接近傾向及び回避傾向を示す情報が用いられるものとする。社会的振る舞いの接近傾向及び回避傾向を示す情報とは、各ログデータが、接近傾向の社会的振る舞いを示しているのか、回避傾向の社会的振る舞いを示しているのかを示す情報である。社会的振る舞い値算出部８０２は、例えば、“社会的振る舞いの接近及び回避傾向定義データテーブル”を参照することで、社会的振る舞いの傾向を特定する。
【０１０６】
また、社会的振る舞い値算出部８０２は、社会的振る舞いに関する各種情報を、評価情報ＤＢ１１９の“社会的振る舞い値算出記録テーブル”に記録する。
【０１０７】
なお、社会的振る舞い値算出部８０２が算出または特定する、社会的振る舞いに関する各種情報のうち、社会的振る舞いの接近傾向及び回避傾向を示す情報以外の情報については、第２の実施形態において対話戦略を決定する際に用いられるものとする。
【０１０８】
接近及び回避傾向特定部８０３は特定部の一例である。接近及び回避傾向特定部８０３は、“社会的振る舞い値算出記録テーブル”に基づいて、所定の時間区間における対話相手に対する社会的振る舞いの傾向を特定する。具体的には、“社会的振る舞い値算出記録テーブル”に記録された、所定の時間区間における“社会的振る舞いの接近傾向及び回避傾向”を示す情報を参照することで、対話相手に対する社会的振る舞いの傾向を特定する。
【０１０９】
対話戦略決定部８０４は決定部の一例である。対話戦略決定部８０４は、接近及び回避傾向特定部８０３において特定された、対話相手に対する社会的振る舞いの傾向に基づいて、対話相手に対する、コミュニケーションの戦略の一例である対話戦略を決定する。
【０１１０】
提示制御部８０５は制御部の一例である。提示制御部８０５は、例えば、ユーザ１４０がユーザ１５０に対して社会的振る舞いを行ったと判定された場合に、決定された対話戦略（ユーザ１５０のユーザ１４０に対する対話戦略）について、リアクティブな社会的振る舞いが許可されているかを判定する。なお、リアクティブな社会的振る舞いが許可されているか否かの判定に際して、提示制御部８０５は、定義データ用ＤＢ１１８の“対話戦略に対するリアクティブな社会的振る舞いが許可されているかの制御定義データテーブル”を参照する。
【０１１１】
また、提示制御部８０５は、リアクティブな社会的振る舞いが許可されていると判定した場合に、決定された対話戦略に対応付けられた、ユーザ１５０のリアクティブな社会的振る舞いを示すアバタの画像を生成し、情報表示処理部１１２に送信する。また、情報表示処理部１１２に対して、ユーザ１５０のリアクティブな社会的振る舞いを示すアバタの画像を表示するよう指示する。更に、提示制御部８０５は、このときの対話戦略を、評価情報ＤＢ１１９の“対話戦略決定記録テーブル”に記録する。
【０１１２】
＜リアクティブ処理部の各部の処理に関連するテーブルの説明＞
次に、リアクティブ処理部１１５の各部（社会的振る舞いログ記録部８０１〜提示制御部８０５）の処理に関連する各テーブルについて説明する。
【０１１３】
（１）センサデータ用ＤＢ１１６ｂの各テーブル
図９は、センサデータ用ＤＢに格納される各テーブルの一例を示す図である。このうち、図９（ａ）は、筋電位データが格納される筋電位データテーブル９００を示している。図９（ａ）に示すように、筋電位データが格納される筋電位データテーブル９００には、情報の項目として、“ＤＢ記録時刻”、“センサ記録時刻”、“ユーザＩＤ”、“情報収集装置ＩＤ”、“筋電位活動値”が含まれる。
【０１１４】
“ＤＢ記録時刻”には、クライアント側システム１２０、１３０から送信された筋電位データが、センサデータ用ＤＢ１１６ｂに格納された時点で付加されるタイムスタンプが記録される。
【０１１５】
“センサ記録時刻”には、筋電位センサ１２６、１３６がユーザ１４０、１５０をセンシングした時点で付加されたタイムスタンプが記録される。
【０１１６】
“ユーザＩＤ”には、筋電位センサ１２６、１３６によりセンシングされたユーザ１４０、１５０を識別する識別子が記録される。
【０１１７】
“情報収集装置ＩＤ”には、筋電位センサを識別する識別子が記録される。筋電位センサは、センシングする場所によって異なる識別子を有している。図９（ａ）のデータ行のうちの１行目の“ＴｃＡ＿ｃ３＿ｚｙｇｏｍａｔｉｃｕｓ（ｃｈｅｅｋ）”は、頬をセンシングする筋電位センサの識別子である。また、図９（ａ）のデータ行のうちの２行目の“ＴｃＡ＿ｃ３＿ｏｒｂｉｃｕｌａｒｉｓ（ｕｎｄｅｒ  ｅｙｅ）”は、目の下をセンシングする筋電位センサの識別子である。更に、図９（ａ）のデータ行のうちの３行目の“ＴｃＡ＿ｃ３＿ｃｏｒｒｕｇａｔｏｒ（ｂｌｏｗ）”は、眉をセンシングする筋電位センサの識別子である。
【０１１８】
“筋電位活動値”には、それぞれの筋電位センサでセンシングされた筋電位データの値が記録される。
【０１１９】
図９（ｂ）は、頭部姿勢データが格納される頭部姿勢データテーブル９１０を示している。図９（ｂ）に示すように、頭部姿勢データテーブル９１０に含まれる情報の項目は、筋電位データテーブル９００に含まれる情報の項目と概ね同じである。
【０１２０】
なお、頭部姿勢データテーブル９１０の“情報収集装置ＩＤ”において、“ＴｃＡ＿ｃ１”とは、情報処理装置ＩＤが“ＴｃＡ”の情報処理装置に、情報収集装置の種類が“ｃ１”である情報収集装置が対応付けられていることを示している。具体的には、“ＴｃＡ＿ｃ１”は、情報処理装置１２１に対応付けられた頭部姿勢センサ１２４である。
【０１２１】
また、“頭部姿勢データ”には、頭部の位置座標を示すデータと、頭部の回転角度を示すデータとが記録される。
【０１２２】
図９（ｃ）は、深度センサデータが格納される深度センサデータファイルテーブル９２０を示している。図９（ｃ）に示すように、“深度センサデータファイルテーブル”９２０には、情報の項目として、他のセンサデータテーブル同様、“ＤＢ記録時刻”、“ユーザＩＤ”、“情報収集装置ＩＤ”が含まれる。加えて、“深度センサデータファイルテーブル”９２０には、情報の項目として、“センサ記録開始時刻”、“センサ記録終了時刻”、“深度センサデータ記録ファイルＵＲＩ”が含まれる。
【０１２３】
“センサ記録開始時刻”には、深度センサ１２５、１３５によりセンシングが開始された時刻が記録される。深度センサ１２５、１３５の場合、所定の記録長のファイルとしてセンサデータを出力する。このため、“センサ記録開始時刻”には、それぞれのファイルに含まれる最初の深度センサデータをセンシングした時点で付加されたタイムスタンプが記録される。
【０１２４】
“センサ記録終了時刻”には、深度センサ１２５、１３５によりセンシングが終了した時刻が記録される。具体的には、所定の記録長のファイルに含まれる最後の深度センサデータをセンシングした時点で付加されたタイムスタンプが記録される。
【０１２５】
“深度センサデータ記録ファイルＵＲＩ”には、所定の記録長を有するファイルの格納場所を示すＵＲＩが記録される。
【０１２６】
なお、“深度センサデータファイルテーブル”９２０の“情報収集装置ＩＤ”において、“ＴｃＡ＿ｃ２”とは、情報処理装置ＩＤが“ＴｃＡ”の情報処理装置に、情報収集装置の種類が“ｃ２”である情報収集装置が対応付けられていることを示している。具体的には、“ＴｃＡ＿ｃ２”は、情報処理装置１２１に対応付けられた深度センサ１２５を示している。
【０１２７】
（２）ログ用ＤＢ１１７のテーブル
図１０は、ログ用ＤＢに格納されたアバタ表示情報に関するログテーブルの一例を示す図である。“アバタ表示情報に関するログテーブル”１０００は、アバタの画像を生成する際に用いたデータ（各アバタ骨格の位置座標及び回転角度のデータ）をログデータとして記録する。
【０１２８】
図１０に示すように、“アバタ表示情報に関するログテーブル”１０００には、情報の項目として、“ＤＢ記録時刻”、“ユーザの現在時刻”、“ユーザＩＤ”、“情報処理装置ＩＤ”、“ログタイプラベル”、“アバタ表示情報のログデータ”が含まれる。
【０１２９】
“ＤＢ記録時刻”には、アバタの画像を生成する際に用いたデータを、ログデータとして、“アバタ表示情報に関するログテーブル”１０００に記録した時刻が記録される。
【０１３０】
“ユーザの現在時刻”には、ログデータに対応する非言語動作をユーザが行った時刻が記録される。“ユーザＩＤ”には、非言語動作を行ったユーザを識別する識別子が記録される。
【０１３１】
“情報処理装置ＩＤ”には、非言語動作を行ったユーザを管理する情報処理装置を識別する識別子が記録される。
【０１３２】
“ログタイプラベル”には、アバタの画像を生成する際の表現方法を示す情報が記録される。図１０の例では、アバタ骨格モデルを用いて非言語動作が表現されたことを示す“ｂｏｎｅ”と、メッシュを用いて非言語動作が表現されたことを示す“ｍｅｓｈ”とが記録されている。
【０１３３】
“アバタ表示情報のログデータ”には、アバタの画像を生成する際に用いたデータが、構造化されたリストとして記録される。
【０１３４】
図１０のデータ行のうち１行目の例は、“２０１５年７月２７日１１時００分００秒０００”に、ユーザＩＤ＝“ｕｓｅｒＡ”のユーザ１４０が非言語動作を行ったことで、頭部のアバタ骨格の位置座標が（０，１８，−１０）になったことを示している。また、頭部のアバタ骨格の回転角度が（０，１，０）になったことを示している。また、当該位置座標及び回転角度を含む、アバタ表示情報のログデータが、ログ用ＤＢ１１７に“２０１５年７月２７日１１時００分００秒０２０”に記録されたことを示している。
【０１３５】
（３）定義データ用ＤＢ１１８の各テーブル
次に、定義データ用ＤＢ１１８に格納された各テーブルについて説明する。
【０１３６】
（３−１）監視対象データログ定義データテーブル
図１１は、定義データ用ＤＢに格納された監視対象データログ定義データテーブルの一例を示す図である。図１１に示すように、“監視対象データログ定義データテーブル”１１００には、情報の項目として、“振る舞いログタイプラベル”、“更新閾値”、“更新監視対象”、“センサ入力情報”、“情報収集装置ＩＤ”が含まれる。
【０１３７】
“振る舞いログタイプラベル”には、社会的振る舞いログ記録部８０１が、“アバタ表示情報に関するログテーブル”１０００及び後述する“振る舞いログ更新記録テーブル”１６００を監視する際に監視対象とする部位の、振る舞いの種類が規定される。
【０１３８】
“更新閾値”には、“アバタ表示情報に関するログテーブル”１０００等に格納されたログデータを、“振る舞いログ更新記録テーブル”に記録するか否かを、社会的振る舞いログ記録部８０１が判定する際に用いる閾値が規定される。
【０１３９】
“更新監視対象”には、“振る舞いログタイプラベル”に規定された部位の振る舞いの種類を監視するための具体的なアバタ骨格が規定される。
【０１４０】
“センサ入力情報”には、“更新監視対象”に規定された部位のアバタ骨格の位置座標、回転角度を特定するためのセンサデータの種類が規定される。“情報収集装置ＩＤ”には、“センサ入力情報”に規定されたセンサデータの収集に使用されたセンサを識別するための識別子が規定される。
【０１４１】
図１１のデータ行のうちの１行目の例では、識別子＝“ＴｃＡ＿ｃ２”により識別される深度センサによりセンシングされた深度センサデータに基づいて算出される、アバタ骨格を監視対象としている。具体的には、頭部または右腕または左腕のアバタ骨格（Bone_Head、Bone_Righthand、Bone_Lefthand）を監視対象としている。
【０１４２】
社会的振る舞いログ記録部８０１は、“アバタ表示情報に関するログテーブル”１０００及び後述する“振る舞いログ更新記録テーブル”１６００を参照する。そして、社会的振る舞いログ記録部８０１は、これらのアバタ骨格のうちのいずれかのアバタ骨格の位置座標（Ｘ座標、Ｙ座標、Ｚ座標）の変化が、｜１｜より大きいか否かを判定する。これにより、社会的振る舞いログ記録部８０１は、ユーザ１４０のアバタの画像２２０と、ユーザ１５０のアバタの画像２３０の仮想空間における身体パーツの物理的距離（Distance_Bodyparts）が変化する振る舞いを監視することができる。ここでは、社会的振る舞いログ記録部８０１は、頭部、右腕、左腕の物理的距離が変化する振る舞いを監視することができる。
【０１４３】
（３−２）社会的振る舞い判定ＡＰＩデータテーブル
図１２は、定義データ用ＤＢに格納された社会的振る舞い判定ＡＰＩ定義データテーブルの一例を示す図である。“社会的振る舞い判定ＡＰＩ定義データテーブル”１２００は、社会的振る舞いログ記録部８０１によって“振る舞いログ更新記録テーブル”に記録されたログデータが、社会的振る舞いに相当するか否かを判定する際に用いられるテーブルである。
【０１４４】
図１２に示すように、社会的振る舞い判定ＡＰＩ定義データテーブル１２００には、情報の項目として、“社会的振る舞いタイプラベル”、“社会的振る舞い判定ＡＰＩ”、“振る舞いログタイプラベル”が含まれる。
【０１４５】
“社会的振る舞いタイプラベル”には、社会的振る舞い判定ＡＰＩにより判定される社会的振る舞いの種類が規定される。“社会的振る舞い判定ＡＰＩ”には、社会的振る舞いを判定する際に用いるＡＰＩが規定される。社会的振る舞いを判定する際に用いるＡＰＩは、“監視対象データログ定義データテーブル”１１００の“振る舞いログタイプラベル”に応じて規定される。
【０１４６】
このため、“社会的振る舞い判定ＡＰＩ”は、“振る舞いログタイプラベル”と対応付けて規定される。“振る舞いログタイプラベル”には、“監視対象データログ定義データテーブル”１１００の“振る舞いログタイプラベル”に規定された振る舞いの種類が規定される。
【０１４７】
図１２のデータ行のうちの５行目の例は、身体パーツの物理的距離（Distance_Bodyparts）の変化が更新閾値以上となったログデータについて、社会的振る舞いログ記録部８０１が、社会的振る舞いの種類を判定することを示している。当該例によれば、社会的振る舞いログ記録部８０１は、移動確認ＡＰＩを用いて当該ログデータが、社会的振る舞い（Distance_Bodyparts_Closeto）に相当するか否かを判定する。
【０１４８】
（３−３）社会的振る舞い接近及び回避傾向定義データテーブル
図１３は、定義データ用ＤＢに格納された社会的振る舞いの接近及び回避傾向定義データテーブルの一例を示す図である。“社会的振る舞いの接近及び回避傾向定義データテーブル”１３００は、社会的振る舞いログ記録部８０１により判定された社会的振る舞いについて、社会的振る舞い値算出部８０２が、接近傾向か回避傾向かを判定する際に用いられる。
【０１４９】
図１３に示すように、“社会的振る舞いの接近及び回避傾向定義データテーブル”１３００には、情報の項目として、“社会的振る舞いログタイプラベル”、“接近回避傾向”が含まれる。
【０１５０】
“社会的振る舞いログタイプラベル”には、社会的振る舞いの種類が規定される（“社会的振る舞い判定ＡＰＩ定義データテーブル”１２００において規定された社会的振る舞いの種類全てが規定される）。“接近回避傾向”には、それぞれの社会的振る舞いの種類について、接近傾向または回避傾向のいずれかが規定される。
【０１５１】
図１３のデータ行のうちの５行目の例は、社会的振る舞いの種類が“Distance_Bodyparts_Closeto”の場合、社会的振る舞い値算出部８０２は、当該社会的振る舞いが、接近傾向の社会的振る舞いであると判定することを示している。
【０１５２】
なお、“社会的振る舞い接近及び回避傾向定義データテーブル”１３００の“社会的振る舞いログタイプラベル”に格納される各レコードは、以下のような動作を意味する。
【０１５３】
例えば、“Distance_Upperbody_Closeto”は、上体を相手に近づける動作を意味し、“Distance_Upperbody_Farfrom”は、上体を相手から遠ざける動作を意味する。また、“Distance_Face_Closeto”は、顔を相手に近づける動作を意味し、“Distance_Face_Farfrom”は、顔を相手から遠ざける動作を意味する。
【０１５４】
また、“Distance_Bodyparts_Closeto”は、身体パーツを相手に近づける動作を意味し、“Distance_Bodyparts_Farfrom”は、身体パーツを相手から遠ざける動作を意味する。“Attention_Mutual”は、互いに注意を向ける動作を意味し、“Attention_Averted”は、注意をそらす動作を意味する。
【０１５５】
また、“Attention_Joint”は、相手と同じものに注意を向ける動作を意味し、“Attention_Following”は、相手が注意を向けたことに続いて注意を向ける動作を意味する。“Orientation_Face_Directto”は、相手のいる方に顔を向ける動作を意味し、“Orientation_Face_Indirectto”は、相手のいる方とは逆側へ顔を向ける動作を意味する。
【０１５６】
また、“Orientation_Upperbody_Directto”は、相手のいる方に上体を向ける動作を意味し、“Orientation_Upperbody_Indirectto”は、相手のいる方とは逆側へ上体を向ける動作を意味する。“Lean_Upperbody_Forward”は、上体を前方にかがめる動作を意味し、“Lean_Upperbody_Backward”は、上体を後方にそらす動作を意味する。
【０１５７】
また、“Gesture_Smileto”は、微笑む動作を意味する。更に、“Gesture_Positivemeaninggestureto”は、肯定的なしぐさをする動作を意味し、“Gesture_Negativemeaninggestureto”は、否定的なしぐさをする動作を意味する。
【０１５８】
（３−４）対話戦略に対するリアクティブな社会的振る舞いが許可されているかの制御定義データテーブル
図１４は、定義データ用ＤＢに格納された、対話戦略に対するリアクティブな社会的振る舞いが許可されているかの制御定義データテーブルの一例を示す図である。“対話戦略に対するリアクティブな社会的振る舞いが許可されているかの制御定義データテーブル”１４００は、決定された対話戦略について、提示制御部８０５が、リアクティブな社会的振る舞いが許可されているか否かを判定する際に用いられる。
【０１５９】
図１４に示すように、“対話戦略に対するリアクティブな社会的振る舞いが許可されているかの制御定義データテーブル”１４００には、情報の項目として、“許可制御条件ＩＤ”、“許可制御条件”、“実施フラグ”が含まれる。
【０１６０】
“許可制御条件ＩＤ”には、許可制御条件を識別するための識別子が規定される。“許可制御条件”には、対話戦略に対するリアクティブな社会的振る舞いを、対話相手に対して提示することを許可するための条件が規定される。“実施フラグ”には、対応する“許可制御条件”に基づく許否を実施するか否かを示す情報が規定される。
【０１６１】
図１４の例では、“許可制御条件”として２つの条件が規定されている。許可制御条件ＩＤ＝“１”により識別される許可制御条件の場合、いずれの対話戦略の時にもリアクティブな社会的振る舞いを、対話相手に対して提示することを許可しない。ただし、“Shortly”ではじまる対話戦略の時のリアクティブな社会的振る舞いについては、対話相手に対して提示することを許可する。
【０１６２】
また、許可制御条件ＩＤ＝“２”により識別される許可制御条件の場合、いずれの対話戦略の時にもリアクティブな社会的振る舞いを、対話相手に対して提示することを許可する。ただし、“Enforcing_Totally”ではじまる対話戦略の時のリアクティブな社会的振る舞いについては、対話相手に対して提示することを許可しない。
【０１６３】
なお、図１４の例では、許可制御条件ＩＤ＝“１”の“実施フラグ”が“ＴＲＵＥ”となっており、許可制御条件ＩＤ＝“２”の“実施フラグ”が“ＦＡＬＳＥ”となっている。このため、図１４の例の場合、提示制御部８０５は、許可制御条件ＩＤ＝“１”の許可制御条件に基づいて、リアクティブな社会的振る舞いを対話相手に対して提示するか否かの制御を行う。
【０１６４】
＜リアクティブ処理部の提示制御処理の詳細＞
次に、リアクティブ処理部１１５の提示制御処理の詳細について説明する。図１５は、リアクティブ処理部の提示制御処理の詳細を示す第１のフローチャートである。ユーザ１４０及びユーザ１５０が、コミュニケーションサービスの利用を開始し、“アバタ表示情報に関するログテーブル”１０００にログデータが格納されると、図１５に示す提示制御処理が開始される。なお、以下では、提示制御処理が実行されるたびに、対話戦略を決定するものとして説明するが、所定の時間ごとに、あるいは、一定量の社会的振る舞いが記録されるごとに、対話戦略を決定するようにしてもよい。
【０１６５】
ステップＳ１５０１において、社会的振る舞いログ記録部８０１は、“アバタ表示情報に関するログテーブル”１０００及び後述する“振る舞いログ更新記録テーブル”１６００を読み出す。
【０１６６】
ステップＳ１５０２において、社会的振る舞いログ記録部８０１は、“監視対象データログ定義データテーブル”１１００等に基づいて、“アバタ表示情報に関するログテーブル”１０００のログデータを監視する。また、社会的振る舞いログ記録部８０１は、更新閾値を超えるログデータが検出された場合、評価情報ＤＢ１１９の“振る舞いログ更新記録テーブル”に当該ログデータを記録する。図１６は、評価情報ＤＢに記録された振る舞いログ更新記録テーブルの一例を示す図である。なお、図１６に示す“振る舞いログ更新記録テーブル”１６００の詳細は後述する。
【０１６７】
更に、社会的振る舞いログ記録部８０１は、“振る舞いログ更新記録テーブル”１６００に記録したログデータが、社会的振る舞いに相当するか否か及び社会的振る舞いに相当する場合にあってはその種類を、社会的振る舞い判定ＡＰＩを用いて判定する。なお、社会的振る舞いログ記録部８０１は、いずれの社会的振る舞い判定ＡＰＩを用いるかを、“社会的振る舞い判定ＡＰＩ定義データテーブル”１２００を参照することで決定する。
【０１６８】
更に、社会的振る舞いログ記録部８０１は、社会的振る舞いに相当すると判定したログデータを、判定した社会的振る舞いの種類とともに評価情報ＤＢの“社会的振る舞いログ記録テーブル”に記録する。図１７は、評価情報ＤＢに記録された社会的振る舞いログ記録テーブルの一例を示す図である。なお、図１７に示す、“社会的振る舞いログ記録テーブル”１７００の詳細は後述する。
【０１６９】
ステップＳ１５０３において、社会的振る舞い値算出部８０２は、社会的振る舞いログ記録部８０１により判定された社会的振る舞いに関する各種情報を算出または特定する。
【０１７０】
具体的には、社会的振る舞い値算出部８０２は、社会的振る舞いに関する各種情報として、社会的振る舞いの強度、社会的振る舞いの属性値、社会的振る舞いの継続秒数、社会的振る舞いの接近及び回避傾向、を算出または特定する。なお、社会的振る舞い値算出部８０２は、社会的振る舞いの接近及び回避傾向を特定するにあたり、“社会的振る舞いの接近及び回避傾向定義データテーブル”１３００を参照する。
【０１７１】
更に、社会的振る舞い値算出部８０２は、社会的振る舞いに関する各種情報として、非言語動作による情報開示（身体接触の有無）、非言語動作による情報開示（意思及び態度（表情等）の提示の有無）を算出する。
【０１７２】
更に、社会的振る舞い値算出部８０２は、社会的振る舞いに関する各種情報として、非言語動作による被情報開示（身体接触の有無）、非言語動作による被情報開示（意思及び態度（表情等）の提示の有無）を算出する。
【０１７３】
社会的振る舞い値算出部８０２は、算出したまたは特定した社会的振る舞いに関する各種情報を、“社会的振る舞い値算出記録テーブル”に記録する。図１８は、評価情報ＤＢに記録された社会的振る舞い値算出記録テーブルの一例を示す図である。なお、図１８に示す、“社会的振る舞い値算出記録テーブル”１８００の詳細は後述する。
【０１７４】
ステップＳ１５０４において、接近及び回避傾向特定部８０３は、“社会的振る舞い値算出記録テーブル”１８００を参照する。上述したとおり、第１の実施形態では、“社会的振る舞い値算出記録テーブル”１８００に記録された各種情報のうち、“社会的振る舞いの接近及び回避傾向”に基づいて、対話戦略を決定する。
【０１７５】
そこで、接近及び回避傾向特定部８０３は、“社会的振る舞い値算出記録テーブル”１８００において、所定の時間区間のログデータであって、振る舞いアバタＩＤ＝“ＡＶ２”、被振る舞いアバタＩＤ＝“ＡＶ１”とするログデータを参照する。そして、接近及び回避傾向特定部８０３は、所定の時間区間におけるユーザ１４０に対するユーザ１５０の社会的振る舞いの傾向が、接近傾向であるのか、回避傾向であるのかを特定する。
【０１７６】
ステップＳ１５０５において、対話戦略決定部８０４は、対話戦略を決定する。具体的には、対話戦略決定部８０４は、特定された傾向に基づいて、ユーザ１５０のユーザ１４０に対する対話戦略を決定する。
【０１７７】
ステップＳ１５０６において、提示制御部８０５は、“対話戦略に対するリアクティブな社会的振る舞いが許可されているかの制御定義データテーブル”１４００を参照する。これにより、提示制御部８０５は、決定された対話戦略に対するリアクティブな社会的振る舞いを、ユーザ１４０に提示することが許可されているか否かを判定する。
【０１７８】
提示することが許可されていると判定した場合、提示制御部８０５は、決定された対話戦略に対応付けられたリアクティブな社会的振る舞いに基づいてアバタの画像を生成し、ユーザ１４０に提示するよう制御する。なお、第１の実施形態においては、対話戦略に対応付けられたリアクティブな社会的振る舞いが、予め規定されているものとする。
【０１７９】
更に、提示制御部８０５は、評価情報ＤＢ１１９の“対話戦略決定記録テーブル”に、決定された対話戦略を記録する。図１９は、評価情報ＤＢに記録された対話戦略決定記録テーブルの一例を示す図である。なお、図１９に示す、“対話戦略決定記録テーブル”１９００の詳細は後述する。
【０１８０】
＜リアクティブ処理部により記録されたテーブルの説明＞
次に、リアクティブ処理部１１５により提示制御処理（図１５）が実行されたことで、評価情報ＤＢ１１９に記録された各テーブルについて説明する。
【０１８１】
（１）振る舞いログ更新記録テーブル１６００
はじめに、図１６の“振る舞いログ更新記録テーブル”１６００について説明する。図１６に示すように、“振る舞いログ更新記録テーブル”１６００には、情報の項目として、“ＤＢ記録時刻”、“記録開始時刻”、“記録更新時刻”、“振る舞いアバタＩＤ”、“振る舞いログタイプラベル”、“更新監視対象”が含まれる。また、“振る舞いログ更新記録テーブル”１６００には、情報の項目として、“更新ステータス”、“記録開始時データ”、“記録更新時データ”、“社会的振る舞いログ記録ＩＤ参照値”が含まれる。
【０１８２】
“ＤＢ記録時刻”には、更新閾値を超えるログデータがあったことを、社会的振る舞いログ記録部８０１が“振る舞いログ更新記録テーブル”１６００に記録した時刻が記録される。
【０１８３】
“記録開始時刻”には、更新閾値を超えるログデータに対応する非言語動作をユーザが開始したことを記録し始めた時刻が記録される。
【０１８４】
“記録更新時刻”には、更新閾値を超えた時点でのログデータに対応する非言語動作を、ユーザが行った時刻が記録される。
【０１８５】
“振る舞いアバタＩＤ”には、更新閾値を超えるログデータに対応する非言語動作を行ったユーザのアバタの識別子が記録される。
【０１８６】
“振る舞いログタイプラベル”には、社会的振る舞いログ記録部８０１が、“アバタ表示情報に関するログテーブル”１０００等を監視する際に、監視対象とした部位の振る舞いの種類が記録される。
【０１８７】
“更新監視対象”には、“振る舞いログタイプラベル”に記録された部位の振る舞いの種類を監視するために用いられた具体的なアバタ骨格が記録される。
【０１８８】
“更新ステータス”には、更新閾値との比較結果が記録される。前の時点と現在時点とのログデータの差異が、更新閾値を超えた場合、“更新ステータス”には“変化記録中”が記録される。一方、前の時点と現在時点とのログデータの差異が、更新閾値を超えなかった場合、“更新ステータス”には、“変化記録なし”が記録される。なお、監視対象の部位のアバタ骨格について、“変化記録中”が連続している間は、“記録開始時刻”には同じ時刻が記録される。
【０１８９】
“記録開始時データ”には、更新閾値を超えるログデータが、監視対象の部位のアバタ骨格の位置座標または回転角度が変化記録中のログデータであった場合、変化記録が開始する時点での位置座標及び回転角度が記録される。
【０１９０】
“記録更新時データ”には、更新閾値を超えるログデータが、監視対象の部位のアバタ骨格の位置座標または回転角度が変化記録中のログデータであった場合、記録更新時点での位置座標及び回転角度が記録される。
【０１９１】
“社会的振る舞いログ記録ＩＤ参照値”には、更新閾値を超えるログデータが、社会的振る舞いログ記録部８０１によって社会的振る舞いに相当すると判定された場合に、当該社会的振る舞いのログデータのデータベース上の記録を参照する識別子が記録される。
【０１９２】
（２）社会的振る舞いログ記録テーブル１７００
次に、図１７の“社会的振る舞いログ記録テーブル”１７００について説明する。図１７に示すように、“社会的振る舞いログ記録テーブル”１７００には、情報の項目として、“ＤＢ記録時刻”、“記録開始時刻”、“記録終了時刻”、“振る舞いアバタＩＤ”、“被振る舞いアバタＩＤ”が含まれる。また、“社会的振る舞いログ記録テーブル”１７００には、情報の項目として、“社会的振る舞いログ記録ＩＤ”、“社会的振る舞いタイプラベル”、“振る舞いログタイプラベル”が含まれる。
【０１９３】
“ＤＢ記録時刻”には、“振る舞いログ更新記録テーブル”１６００に記録されたログデータが、社会的振る舞いに相当すると判定され、“社会的振る舞いログ記録テーブル”１７００に記録された時刻が記録される。
【０１９４】
“記録開始時刻”には、社会的振る舞いに相当すると判定されたログデータに対応する非言語動作をユーザが開始した時刻が記録される。
【０１９５】
“記録終了時刻”には、社会的振る舞いに相当すると判定されたログデータに対応する非言語動作をユーザが終了した時刻が記録される。
【０１９６】
“振る舞いアバタＩＤ”には、社会的振る舞いを行ったユーザのアバタを識別する識別子が記録される。
【０１９７】
“被振る舞いアバタＩＤ”には、社会的振る舞いを受けたユーザのアバタを識別する識別子が記録される。
【０１９８】
“社会的振る舞いログ記録ＩＤ”には、判定された社会的振る舞いのログデータを識別するための識別子が記録される。
【０１９９】
“社会的振る舞いタイプラベル”には、判定された社会的振る舞いの種類が記録される。“振る舞いログタイプラベル”には、社会的振る舞いに相当すると判定されたログデータが示す振る舞いの種類が記録される。
【０２００】
（３）社会的振る舞い値算出記録テーブル１８００
次に、図１８の“社会的振る舞い値算出記録テーブル１８００について説明する。図１８に示すように、“社会的振る舞い値算出記録テーブル”１８００には、情報の項目として、“ＤＢ記録時刻”、“記録開始時刻”、“記録終了時刻”、“振る舞いアバタＩＤ”、“被振る舞いアバタＩＤ”、“社会的振る舞いログ記録ＩＤ”が含まれる。
【０２０１】
また、“社会的振る舞い値算出記録テーブル”１８００には、情報の項目として、“社会的振る舞いタイプラベル”、“社会的振る舞いの強度”、“社会的振る舞いの属性値”が含まれる。
【０２０２】
また、“社会的振る舞い値算出記録テーブル”１８００には、情報の項目として、“社会的振る舞いの継続秒数”、“社会的振る舞いの接近及び回避傾向”が含まれる。
【０２０３】
また、“社会的振る舞い値算出記録テーブル”１８００には、情報の項目として、“非言語動作による情報開示（身体接触の有無）”、“非言語動作による情報開示（意思及び態度（表情等）の提示有無）”が含まれる。
【０２０４】
更に、“社会的振る舞い値算出記録テーブル”１８００には、情報の項目として、“非言語動作による被情報開示（身体接触の有無）”、“非言語動作による被情報開示（意思及び態度（表情等）の提示有無）”が含まれる。
【０２０５】
このうち、図１８の左から右へ向かう方向に各情報の項目を見た場合の“ＤＢ記録時刻”から“社会的振る舞いタイプラベル”までの各情報の項目は、“社会的振る舞いログ記録テーブル”１７００に含まれる各情報の項目と同様であるため、ここでは説明を省略する。ここでは、図１８の左から右へ向かう方向に各情報の項目を見た場合の社会的振る舞いに関する各種情報について説明する。つまり、“社会的振る舞いの強度”から“非言語動作による被情報開示（意思及び態度（表情等）の提示有無）”までの各情報の項目に記録される情報について説明する。
【０２０６】
“社会的振る舞いの強度”には、社会的振る舞いの強さを示す数値が記録される。“社会的振る舞いの属性値”には、社会的振る舞いに相当するか否かを判定する際に算出した、物理的距離の変化量や回転角度の変化量が記録される。
【０２０７】
“社会的振る舞いの継続秒数”には、社会的振る舞いに相当すると判定されたログデータの継続時間（秒）が記録される。
【０２０８】
“社会的振る舞いの接近及び回避傾向”には、接近傾向の社会的振る舞いであるのか、回避傾向の社会的振る舞いであるのかを判定した判定結果が記録される。
【０２０９】
“非言語動作による情報開示（身体接触の有無）”には、非言語動作を行ったことで、社会的振る舞いを行ったユーザのアバタが、社会的振る舞いを受けたユーザのアバタに接触したか否かを示す情報が記録される。
【０２１０】
“非言語動作による情報開示（意思及び態度（表情等）の提示有無）”には、非言語動作を行ったことで、社会的振る舞いを行ったユーザのアバタの表情等が、社会的振る舞いを受けたユーザに対して提示されたか否かを示す情報が記録される。
【０２１１】
“非言語動作による被情報開示（身体接触の有無）”には、社会的振る舞いを受けたユーザのアバタが、非言語動作を行ったことで社会的振る舞いを行ったユーザのアバタからの接触を受けたか否かを示す情報が記録される。
【０２１２】
“非言語動作による被情報開示（意思及び態度（表情等）の提示有無）”には、社会的振る舞いを受けたユーザが、非言語動作を行ったことで社会的振る舞いを行ったユーザのアバタの表情等について提示を受けたか否かを示す情報が記録される。
【０２１３】
（４）対話戦略決定記録テーブル１９００
次に、図１９の“対話戦略決定記録テーブル”１９００について説明する。図１９に示すように、“対話戦略決定記録テーブル”１９００には、情報の項目として、“ＤＢ記録時刻”、“振る舞いアバタＩＤ”、“被振る舞いアバタＩＤ”、“対話戦略”が含まれる。
【０２１４】
“ＤＢ記録時刻”には、提示制御部８０５が、対話相手に対してリアクティブな社会的振る舞いを提示するよう制御する際に用いる対話戦略を、“対話戦略決定記録テーブル”１９００に記録した時刻が記録される。
【０２１５】
“振る舞いアバタＩＤ”及び“被振る舞いアバタＩＤ”には、それぞれ、ユーザのアバタＩＤが記録される。“対話戦略”には、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザに対する、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザによる対話戦略が記録される。
【０２１６】
以上の説明から明らかなように、第１の実施形態に係る画像生成装置１１０は、リアクティブ処理部１１５を有し、基本機能部により生成される“アバタ表示情報に関するログテーブル”及び“振る舞いログ更新記録テーブル”のログデータを監視する。また、リアクティブ処理部１１５は、第１のユーザ（ユーザ１４０）が第２のユーザ（ユーザ１５０）に対して社会的振る舞いを行った場合に、第２のユーザが第１のユーザに対して行う所定の時間区間における社会的振る舞いの傾向を特定する。また、リアクティブ処理部１１５は、特定した傾向に基づいて、第１のユーザに対する第２のユーザの対話戦略を決定する。
【０２１７】
更に、リアクティブ処理部１１５は、対話戦略を決定した後で、第１のユーザが第２のユーザに対して社会的振る舞いを行った場合に、決定した対話戦略に基づく第２のユーザによるリアクティブな社会的振る舞いを、第１のユーザに対して提示するよう制御する。
【０２１８】
これにより、第１の実施形態に係る画像生成装置１１０によれば、第１のユーザが第２のユーザに対して社会的振る舞いを行った場合に、第２のユーザによる実際の社会的振る舞いを待つことなく、リアクティブな社会的振る舞いを提示することが可能となる。
【０２１９】
つまり、第１の実施形態に係る画像生成装置１１０によれば、互いに離間した位置にいるユーザがアバタを介して対話を行う場合において、対話相手に対してリアクティブな振る舞いを提示することが可能となる。
【０２２０】
［第２の実施形態］
上記第１の実施形態では、ユーザ１４０に対するユーザ１５０の社会的振る舞いの傾向に基づいて、ユーザ１５０の対話戦略を決定するものとして説明した。これに対して、第２の実施形態では、所定の時間区間におけるユーザ１４０に対するユーザ１５０の社会的振る舞いの傾向に基づいて、ユーザ１５０の社会的振る舞いの許容性を判定し、判定した許容性に基づいてユーザ１５０の対話戦略を決定する。なお、ユーザ１５０の社会的振る舞いの許容性とは、ユーザ１４０がユーザ１５０に対して社会的振る舞いを行った場合に、社会的振る舞いを受けたことをユーザ１５０が認識する可能性をいう。以下、第２の実施形態について、第１の実施形態との相違点を中心に説明する。
【０２２１】
＜画像生成装置のリアクティブ処理部の機能構成＞
はじめに、画像生成装置１１０のリアクティブ処理部１１５の機能構成について説明する。図２０は、画像生成装置のリアクティブ処理部の機能構成を説明するための第２の図である。
【０２２２】
図８との相違点は、対話戦略決定部２０００と、定義データ用ＤＢ１１８及び評価情報ＤＢ１１９に、新たなテーブルが格納されている点である。なお、図２０の定義データ用ＤＢ１１８及び評価情報ＤＢ１１９に示すテーブルのうち、黒丸が付されたテーブルは、新たなテーブルであることを表している。
【０２２３】
図２０に示すように、対話戦略決定部２０００は、行動傾向特定部２００１、行動可能性判定部２００２、許容性判定部２００３、決定部２００４を有する。
【０２２４】
行動傾向特定部２００１は、“社会的振る舞いログ記録テーブル”１７００を参照し、ユーザ１５０がユーザ１４０に対して行った社会的振る舞いを解析する。また、行動傾向特定部２００１は、所定の時間区間における接近傾向の回数（もしくは時間量）と回避傾向の回数（もしくは時間量）を算出する。
【０２２５】
また、行動傾向特定部２００１は、算出した接近傾向の回数（もしくは時間量）と回避傾向の回数（もしくは時間量）とを、評価情報ＤＢ１１９の“時間区間社会的振る舞い行動傾向量記録テーブル”に記録する。
【０２２６】
また、行動傾向特定部２００１は、定義データ用ＤＢ１１８に格納された“時間区間社会的振る舞い行動傾向量閾値定義データテーブル”を参照し、算出した接近傾向の回数（もしくは時間量）及び回避傾向の回数（もしくは時間量）と比較する。これにより、行動傾向特定部２００１は、ユーザ１５０がユーザ１４０に対して行った社会的振る舞いの行動傾向が、接近行動傾向、回避行動傾向、中間行動傾向のいずれに該当するかを特定する。
【０２２７】
更に、行動傾向特定部２００１は、特定した行動傾向を、評価情報ＤＢ１１９の“時間区間社会的振る舞い行動傾向記録テーブル”に記録する。
【０２２８】
行動可能性判定部２００２は、ユーザ１５０がユーザ１４０に対して協調的な行動をとることが可能か否か（協調的行動可能性）を判定し、判定結果を、評価情報ＤＢ１１９の“協調的行動可能性判定記録テーブル”に記録する。
【０２２９】
許容性判定部２００３は、ユーザ１４０がユーザ１５０に対して社会的振る舞いを行った場合に、社会的振る舞いを受けたことをユーザ１５０が認識する可能性（社会的振る舞い許容性）を判定する。許容性判定部２００３は、ユーザ１５０のユーザ１４０に対する社会的振る舞いの行動傾向と、ユーザ１５０のユーザ１４０に対する協調的行動可能性についての判定結果とに基づいて、社会的振る舞い許容性の判定を行う。
【０２３０】
決定部２００４は、ユーザ１５０の社会的振る舞い許容性についての判定結果に基づいて、対話戦略を決定し、決定した対話戦略を提示制御部８０５に通知する。
【０２３１】
なお、提示制御部８０５は、決定された対話戦略について、リアクティブな社会的振る舞いが許可されているか否かを判定する。また、提示制御部８０５は、リアクティブな社会的振る舞いが許可されていると判定した場合に、決定された対話戦略に対応付けられた、ユーザ１５０のリアクティブな社会的振る舞いを示すアバタの画像を、情報表示処理部１１２に送信する。また、提示制御部８０５は、情報表示処理部１１２に対して、ユーザ１５０のリアクティブな社会的振る舞いを示すアバタの画像を表示するよう指示する。更に、提示制御部８０５は、このときの対話戦略を、評価情報ＤＢ１１９の“社会的振る舞い許容性に応じた対話戦略決定記録テーブル”に記録する。
【０２３２】
＜リアクティブ処理部の各部の処理に関連するテーブルの説明＞
次に、リアクティブ処理部１１５の各部（ここでは、対話戦略決定部２０００）の処理に関連するテーブル（ここでは、定義データ用ＤＢ１１８に格納される、“時間区間社会的振る舞い行動傾向量閾値定義データテーブル”）について説明する。
【０２３３】
図２１は、定義データ用ＤＢに格納された、時間区間社会的振る舞い行動傾向量閾値定義データテーブルの一例を示す図である。図２１に示すように、“時間区間社会的振る舞い行動傾向量閾値定義データテーブル”２１００には、情報の項目として、“カテゴリＩＤ”、“行動傾向”、“閾値（回数の割合）”、“閾値（時間［秒］の割合）”が含まれる。
【０２３４】
“カテゴリＩＤ”には、行動傾向特定部２００１が特定する行動傾向を識別するための識別子が規定される。“行動傾向”には、行動傾向特定部２００１が特定する行動傾向が規定される。
【０２３５】
“閾値（回数の割合）”には、“行動傾向”において規定された行動傾向であると特定するための条件として、行動傾向量（回数）の閾値が規定される。“閾値（時間［秒］の割合）”には、“行動傾向”において規定された行動傾向であると特定するための条件として、行動傾向量（時間）の閾値が規定される。
【０２３６】
図２１の例によれば、接近行動傾向量（回数）が０．５５以上であった場合、かつ、接近行動傾向量（時間）が０．２０以上であった場合、行動傾向特定部２００１は、処理対象の社会的振る舞いが、接近行動傾向であると特定する。なお、行動傾向特定部２００１は、接近行動傾向量（回数）が０．５５以上であった場合、または、接近行動傾向量（時間）が０．２０以上であった場合に、処理対象の社会的振る舞いが、接近行動傾向であると特定してもよい。
【０２３７】
また、図２１の例によれば、回避行動傾向量（回数）が０．５５以上であった場合、かつ、回避行動傾向量（時間）が０．１０以上であった場合、行動傾向特定部２００１は、処理対象の社会的振る舞いが、回避行動傾向であると特定する。なお、行動傾向特定部２００１は、回避行動傾向量（回数）が０．５５以上であった場合、または、回避行動傾向量（時間）が０．１０以上であった場合に、処理対象の社会的振る舞いが、回避行動傾向であると特定してもよい。
【０２３８】
更に、図２１の例によれば、接近行動傾向であるとも回避行動傾向であるとも特定されなかった場合、行動傾向特定部２００１は、処理対象の社会的振る舞いが、中間行動傾向であると特定する。もしくは、接近行動傾向であるとも回避行動傾向であるとも特定された場合、行動傾向特定部２００１は、処理対象の社会的振る舞いが、中間行動傾向であると特定する。
【０２３９】
＜リアクティブ処理部の提示制御処理の詳細＞
次に、リアクティブ処理部１１５の提示制御処理の詳細について説明する。なお、第２の実施形態において、リアクティブ処理部１１５の提示制御処理は、第１の実施形態において図１５を用いて説明した提示制御処理と同様であり、ステップＳ１５０５の対話戦略決定処理のみが異なる。
【０２４０】
このため、ここでは、リアクティブ処理部１１５の提示制御処理のうち、対話戦略決定処理の詳細について説明する。図２２は、リアクティブ処理部の対話戦略決定処理の詳細を示す第１のフローチャートである。
【０２４１】
ステップＳ２２０１において、行動傾向特定部２００１は、時間区間社会的振る舞い行動傾向量算出処理を実行する。
【０２４２】
具体的には、行動傾向特定部２００１は、所定の時間区間（時刻ｔｋ−１から時刻ｔｋの間）の“社会的振る舞いログ記録テーブル”１７００を参照する。そして、行動傾向特定部２００１は、ユーザ１５０がユーザ１４０に対して行った（あるいはユーザ１４０がユーザ１５０に対して行った）社会的振る舞いを判別する。
【０２４３】
また、行動傾向特定部２００１は、判別した社会的振る舞いについて、各種行動傾向量を算出し、評価情報ＤＢ１１９の“時間区間社会的振る舞い行動傾向量記録テーブル”に記録する。
【０２４４】
具体的には、行動傾向特定部２００１は、接近傾向の回数（もしくは時間量）と、回避傾向の回数（もしくは時間量）とを算出し、評価情報ＤＢ１１９の“時間区間社会的振る舞い行動傾向量記録テーブル”に記録する。
【０２４５】
また、行動傾向特定部２００１は、接近傾向の回数（もしくは時間量）の割合、回避傾向の回数（もしくは時間量）の割合を算出し、評価情報ＤＢ１１９の“時間区間社会的振る舞い行動傾向量記録テーブル”に記録する。
【０２４６】
図２３は、評価情報ＤＢに記録された、時間区間社会的振る舞い行動傾向量記録テーブルの一例を示す図である。図２３に示すように、“時間区間社会的振る舞い行動傾向量記録テーブル”２３００には、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが行った社会的振る舞いについての、各種行動傾向量が記録される。
【０２４７】
図２３の例は、行動傾向量として、“接近行動傾向量（回数）”、“回避行動傾向量（回数）”、“接近行動傾向量（時間［秒］）”、“回避行動傾向量（時間［秒］）”が記録されたことを示している。また、図２３の例は、行動傾向量として、更に“接近行動傾向量（回数の割合）”、“回避行動傾向量（回数の割合）”、“接近行動傾向量（時間［秒］の割合）”、“回避行動傾向量（時間［秒］の割合）”が記録されたことを示している。
【０２４８】
図２２に戻る。ステップＳ２２０２において、行動傾向特定部２００１は、時間区間社会的振る舞い行動傾向特定処理を実行する。
【０２４９】
具体的には、行動傾向特定部２００１は、算出した接近行動傾向量、回避行動傾向量を、“時間区間社会的振る舞い行動傾向量閾値定義データテーブル”２１００と比較する。これにより、行動傾向特定部２００１は、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザに対して行われた、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザの社会的振る舞いの行動傾向を特定する。本実施形態において、行動傾向特定部２００１は、接近行動傾向、回避行動傾向、中間行動傾向のいずれかを特定する。
【０２５０】
また、行動傾向特定部２００１は、行動傾向についての特定結果を、評価情報ＤＢ１１９の“時間区間社会的振る舞い行動傾向記録テーブル”に記録する。
【０２５１】
図２４は、評価情報ＤＢに記録された、時間区間社会的振る舞い行動傾向記録テーブルの一例を示す図である。図２４に示すように、“時間区間社会的振る舞い行動傾向記録テーブル”２４００には、“振る舞いアバタＩＤ”と“被振る舞いアバタＩＤ”とが含まれ、社会的振る舞いを行ったユーザのアバタＩＤと、社会的振る舞いを受けたユーザのアバタＩＤとが記録される。また、“時間区間社会的振る舞い行動傾向記録テーブル”２４００には、“社会的振る舞い行動傾向”が含まれ、行動傾向特定部２００１により特定された行動傾向についての特定結果が記録される。
【０２５２】
図２２に戻る。ステップＳ２２０３において、行動可能性判定部２００２は、協調的行動可能性判定処理を実行する。
【０２５３】
具体的には、行動可能性判定部２００２は、“時間区間社会的振る舞い行動傾向記録テーブル”２４００において、所定の時間区間（時刻ｔｋ−１から時刻ｔｋまでの間）の“社会的振る舞い行動傾向”を参照する。これにより、行動可能性判定部２００２は、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザに対して行った社会的振る舞いの行動傾向を判別する。
【０２５４】
また、行動可能性判定部２００２は、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザの属性情報を判別する。“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザの属性情報には、例えば、当該ユーザの年齢、性別等が含まれる。
【０２５５】
また、行動可能性判定部２００２は、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザと“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザとがはじめて対話をするようになってからの経過時間を判別する。
【０２５６】
更に、行動可能性判定部２００２は、判別結果（行動傾向、属性情報、経過時間等）に基づき、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザに協調的な行動をとる可能性を判定する。行動可能性判定部２００２は、協調的行動可能性についての判定結果を、評価情報ＤＢ１１９の“協調的行動可能性判定記録テーブル”に記録する。
【０２５７】
図２５は、評価情報ＤＢに記録された協調的行動可能性判定記録テーブルの一例を示す図である。図２５に示すように、“協調的行動可能性判定記録テーブル”２５００には、“振る舞いアバタＩＤ”と“被振る舞いアバタＩＤ”と“協調的行動可能性”が含まれる。“協調的行動可能性判定記録テーブル”２５００には、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザに対して、協調的な行動をとる可能性についての判定結果が記録される。
【０２５８】
協調的行動可能性が“Ｈｉｇｈ”とは、行動可能性判定部２００２により、協調的な行動をとる可能性が高いと判定されたことを示している。一方、協調的行動可能性が“Ｌｏｗ”とは、協調的な行動をとることが可能でないと判定されたことを示している。
【０２５９】
行動可能性判定部２００２は、例えば、社会的振る舞いを受けたユーザが、回避行動傾向の社会的振る舞いを５分以上継続して行っている場合には、協調的な行動をとる可能性が低いと判定し、“Ｌｏｗ”を記録する。
【０２６０】
また、行動可能性判定部２００２は、例えば、社会的振る舞いを受けたユーザが小学生以下の場合、当該ユーザは、協調的な行動をとる可能性が低いと判定し、“Ｌｏｗ”を記録する。
【０２６１】
更に、行動可能性判定部２００２は、例えば、社会的振る舞いを受けたユーザが、社会的振る舞いを行ったユーザとはじめて対話を開始してからの経過時間が１０分以内の場合には、協調的な行動をとる可能性が低いと判定し、“Ｌｏｗ”を記録する。
【０２６２】
なお、図２５の１行目のデータ行の例は、アバタＩＤ＝“ＡＶ１”のユーザ１４０がアバタＩＤ＝“ＡＶ２”のユーザ１５０に対して、協調的な行動をとる可能性が高いと判定されたことを示している。
【０２６３】
また、図２５の２行目のデータ行の例は、アバタＩＤ＝“ＡＶ２”のユーザ１５０がアバタＩＤ＝“ＡＶ１”のユーザ１４０に対して、協調的な行動をとる可能性が高いと判定されたことを示している。
【０２６４】
図２２に戻る。ステップＳ２２０４において、許容性判定部２００３は、社会的振る舞い許容性判定処理を実行する。
【０２６５】
具体的には、許容性判定部２００３は、“時間区間社会的振る舞い行動傾向記録テーブル”２４００において、所定の時間区間（時刻ｔｋ−１から時刻ｔｋの間）の“社会的振る舞い行動傾向”を参照する。これにより、許容性判定部２００３は、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが“被振る舞いアバタＩＤ”  に記録されたアバタＩＤのユーザに対して行った社会的振る舞いの行動傾向を判別する。
【０２６６】
また、許容性判定部２００３は、“協調的行動可能性判定記録テーブル”２５００において、所定の時間区間（時刻ｔｋ−１から時刻ｔｋの間）の“協調的行動可能性”を参照する。これにより、許容性判定部２００３は、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザに対して、協調的な行動をとる可能性について判定結果を判別する。
【０２６７】
また、許容性判定部２００３は、判別した行動傾向と、判別した協調的行動可能性の判定結果とに基づいて、時刻ｔｋにおける、社会的振る舞い許容性を判定する。つまり、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザに対して“振る舞いアバタＩＤ”  に記録されたアバタＩＤのユーザが、社会的振る舞いを受けたと判別する可能性を判定する。
【０２６８】
許容性判定部２００３は、例えば、以下の条件が両方成立したか否かを判定することで社会的振る舞いを受けたと判別する可能性を判定する。
・判別した行動傾向が接近行動傾向もしくは中間行動傾向である。
・協調的行動可能性の判定結果がＨｉｇｈである。
【０２６９】
許容性判定部２００３は、上記の条件が両方成立した場合、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザに対して、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが、社会的振る舞いを受けたと判別する可能性が高いと判定する。つまり、許容性判定部２００３は、“Acceptable”と判定する。
【０２７０】
一方、許容性判定部２００３は、上記の条件のいずれかが成立しなかった場合または両方成立しなかった場合、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザに対して、社会的振る舞いを受けたと判別する可能性が低いと判定する。つまり、許容性判定部２００３は、“Not  Acceptable”と判定する。
【０２７１】
更に、許容性判定部２００３は、社会的振る舞い許容性判定処理の結果を、評価情報ＤＢ１１９の“社会的振る舞い許容性判定記録テーブル”に記録する。
【０２７２】
図２６は、評価情報ＤＢに記録された社会的振る舞い許容性判定記録テーブルの一例を示す図である。図２６に示すように、“社会的振る舞い許容性判定記録テーブル”２６００には、“振る舞いアバタＩＤ”と“被振る舞いアバタＩＤ”とが含まれ、それぞれアバタＩＤが記録される。
【０２７３】
また、“社会的振る舞い許容性判定記録テーブル”２６００には、“社会的振る舞い許容性”が含まれる。“社会的振る舞い許容性”には、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザについての、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザに対する社会的振る舞い許容性が記録される。
【０２７４】
図２６の１行目のデータ行の例は、アバタＩＤ＝“ＡＶ２”のユーザ１５０に対して、アバタＩＤ＝“ＡＶ１”のユーザ１４０が、社会的振る舞いを受けたと判別する可能性が高いことを示している（“Acceptable”）。ユーザ１５０に対してユーザ１４０が行った社会的振る舞いの行動傾向が中間行動傾向であり、ユーザ１５０の協調的行動可能性が“Ｈｉｇｈ”となっているからである。
【０２７５】
一方、図２６の２行目のデータ行の例は、ユーザ１４０に対してユーザ１５０が、社会的振る舞いを受けたと判別する可能性が低いことを示している（“Not  Acceptable”）。ユーザ１４０に対してユーザ１５０が行った社会的振る舞いの行動傾向が回避行動傾向となっているためである。
【０２７６】
図２２に戻る。ステップＳ２２０５において、決定部２００４は、社会的振る舞い許容性判定に基づく対話戦略決定処理を実行する。
【０２７７】
具体的には、決定部２００４は、“社会的振る舞い許容性判定記録テーブル”２６００を参照する。そして、決定部２００４は、“社会的振る舞い許容性”に記録された社会的振る舞い許容性の判定結果に基づいて、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザに対する対話戦略を決定する。
【０２７８】
例えば、“社会的振る舞い許容性判定記録テーブル”２６００のデータ行のうちの１行目の場合、社会的振る舞い許容性が“Acceptable”である。振る舞いアバタＩＤ＝“ＡＶ１”のユーザ１４０から見た、被振る舞いアバタＩＤ＝“ＡＶ２”のユーザ１５０に対する社会的振る舞い許容性が判定されると、決定部２００４では対話戦略を決定する（“positive”戦略）。
【０２７９】
また、“社会的振る舞い許容性判定記録テーブル”２６００のデータ行のうちの２行目の場合、社会的振る舞い許容性が“Not  Acceptable”である。振る舞いアバタＩＤ＝“ＡＶ２”のユーザ１５０から見た、被振る舞いアバタＩＤ＝“ＡＶ１”のユーザ１４０に対する社会的振る舞い許容性が判定されると、決定部２００４では対話戦略を決定する（“negative”戦略）。
【０２８０】
なお、決定部２００４による対話戦略の決定方法はこれに限定されず、例えば、“社会的振る舞い行動傾向”と、“協調的行動可能性”と、“社会的振る舞い許容性”とを組み合わせて決定してもよい。
【０２８１】
例えば、
・“社会的振る舞い許容性”＝“Acceptable”、
・“社会的振る舞い行動傾向”＝“接近行動傾向”または“中間行動傾向”
・“協調的行動可能性”＝“Low”、
の場合、対話戦略を、“Dynamically_positive”戦略に決定するようにしてもよい。
【０２８２】
あるいは、
・“社会的振る舞い許容性”＝“Acceptable”、
・“社会的振る舞い行動傾向”＝“回避行動傾向”、
・“協調的行動可能性”＝“Low”、
の場合、対話戦略を、“Minimally_positive”戦略に決定するようにしてもよい。
【０２８３】
あるいは、
・“社会的振る舞い許容性”＝“Not  Acceptable”、
・“社会的振る舞い行動傾向”＝“回避行動傾向”、
・“協調的行動可能性”＝“High”、
の場合、対話戦略を、“Shortly_negative”戦略に決定するようにしてもよい。
【０２８４】
なお、決定部２００４により決定された対話戦略は、提示制御部８０５によって、評価情報ＤＢ１１９の“社会的振る舞い許容性に応じた対話戦略決定記録テーブル”に記録される。図２７は、評価情報ＤＢに記録された、社会的振る舞い許容性に応じた対話戦略決定記録テーブルの一例を示す図である。
【０２８５】
図２７に示すように、“社会的振る舞い許容性に応じた対話戦略決定記録テーブル”２７００には、情報の項目として、“振る舞いアバタＩＤ”と“被振る舞いアバタＩＤ”とが含まれる。そして、これらの情報の項目には、ユーザのアバタＩＤが記録される。また、“社会的振る舞い許容性に応じた対話戦略決定記録テーブル”２７００には、情報の項目として“対話戦略”が含まれる。“対話戦略”には、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザに対する、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザによる対話戦略であって、決定部２００４により決定された対話戦略が記録される。
【０２８６】
図２７の１行目のデータ行の例によれば、ユーザ１５０がユーザ１４０に対して社会的振る舞いを行った際の、ユーザ１４０のユーザ１５０に対する対話戦略として、“positive”戦略が決定されている。
【０２８７】
また、図２７の２行目のデータ行の例によれば、ユーザ１４０がユーザ１５０に対して社会的振る舞いを行った際の、ユーザ１５０のユーザ１４０に対する対話戦略として、“Shortly_positive”戦略が決定されている。
【０２８８】
以上の説明から明らかなように、第２の実施形態における画像生成装置１１０は、社会的振る舞いの傾向に基づいて、対話戦略を決定するにあたり、
・社会的振る舞いの傾向を、所定の時間区間における回数または時間に基づいて定量化し、閾値と比較することで行動傾向を特定する。
・行動傾向と協調的行動可能性とに基づいて、社会的振る舞い許容性を判定する。
・社会的振る舞い許容性の判定結果に基づいて対話戦略を決定する。
【０２８９】
これにより、第２の実施形態における画像生成装置１１０によれば、社会的振る舞い許容性の観点から決定した対話戦略に基づくリアクティブな振る舞いを、対話相手に提示することができる。
【０２９０】
［第３の実施形態］
上記第２の実施形態では、社会的振る舞い許容性を判定することで、対話戦略を決定する場合について説明した。これに対して、第３の実施形態では、更に、対話相手との関係性レベルを判定し、関係性レベルを調整するように、対話戦略を決定する。なお、関係性レベルとは、対話相手に対する親しみのレベルを示した情報である。以下、第３の実施形態について、上記第２の実施形態との相違点を中心に説明する。
【０２９１】
＜画像生成装置のリアクティブ処理部の機能構成＞
はじめに、第３の実施形態における画像生成装置１１０のリアクティブ処理部１１５の機能構成について説明する。図２８は、画像生成装置のリアクティブ処理部の機能構成を説明するための第３の図である。
【０２９２】
図２０との相違点は、対話戦略決定部２８００と、定義データ用ＤＢ１１８及び評価情報ＤＢ１１９に、新たなテーブルが格納されている点である。なお、図２８の定義データ用ＤＢ１１８及び評価情報ＤＢ１１９に示すテーブルのうち、黒丸が付されたテーブルは、新たなテーブルであることを表している。
【０２９３】
図２８に示すように、対話戦略決定部２８００は、行動傾向特定部２００１、行動可能性判定部２００２、許容性判定部２００３、関係性レベル処理部２８０１、被関係性レベル処理部２８０２、関係性調整部２８０３、決定部２８０４を有する。
【０２９４】
関係性レベル処理部２８０１は、例えば、ユーザ１５０が発話や社会的振る舞いを行ったことをトリガとして、ユーザ１５０がユーザ１４０に対して行った、発話や社会的振る舞いに含まれる情報量（情報開示量）を算出する。なお、関係性レベル処理部２８０１は、情報開示量を算出するにあたり、“社会的振る舞い値算出記録テーブル”及び“発話値算出記録テーブル”を参照する。また、関係性レベル処理部２８０１は、算出した情報開示量を、“対話相手に対する情報開示量記録テーブル”に記録する。
【０２９５】
また、関係性レベル処理部２８０１は、算出した情報開示量に基づいて、ユーザ１４０に対してユーザ１５０が適切と見なしている関係性レベルを判定し、判定結果を“対話相手に対して適切と見なしている関係性レベル判定記録テーブル”に記録する。
【０２９６】
更に、関係性レベル処理部２８０１は、判定した関係性レベルと、関係性進展の次の目標となる関係性レベルとの間で、関係性の進展の度合いを算出し、“関係性の進展の度合い記録テーブル”に記録する。なお、本実施形態では、関係性レベルの判定を、情報開示量に基づいて行う場合について説明するが、関係性レベルの判定方法は、これに限定されず、関係性レベル処理部２８０１は、他の判定方法により、関係性レベルの判定を行ってもよい。
【０２９７】
被関係性レベル処理部２８０２は、ユーザ１４０からの発話や社会的振る舞いが記録されたことをトリガとして、ユーザ１５０がユーザ１４０から受けた、発話や社会的振る舞いに含まれる情報量（被情報開示量）を算出する。被関係性レベル処理部２８０２は、算出した被情報開示量を、“対話相手からの被情報開示量記録テーブル”に記録する。
【０２９８】
また、被関係性レベル処理部２８０２は、算出した被情報開示量に基づき、ユーザ１５０に対してユーザ１４０が適切と見なしている被関係性レベルを推定する。被関係性レベル処理部２８０２は、推定した被関係性レベルを、“対話相手からの被情報開示量に基づき対話相手が適切と見なしている被関係性レベル推定記録テーブル”に記録する。
【０２９９】
関係性調整部２８０３は、許容性判定部２００３により社会的振る舞い許容性が“Acceptable”の場合に、関係性レベルの調整の方向を制御する。具体的には、関係性調整部２８０３は、ユーザ１５０について算出した、対話相手に対する関係性レベルと、対話相手からの被関係性レベルとを比較し、両者の大小関係に基づき、ユーザ１５０のユーザ１４０に対する関係性レベルの調整の方向を制御する。
【０３００】
決定部２８０４は、定義データ用ＤＢ１１８の“関係性レベルごとの対話戦略定義データテーブル”を参照し、関係性レベルの調整の方向に応じて、ユーザ１５０のユーザ１４０に対する対話戦略を決定する。
【０３０１】
なお、提示制御部８０５は、決定された対話戦略について、リアクティブな社会的振る舞いが許可されているか否かを判定する。また、提示制御部８０５は、リアクティブな社会的振る舞いが許可されていると判定した場合に、決定された対話戦略に対応付けられた、ユーザ１５０のリアクティブな社会的振る舞いを示すアバタの画像を、情報表示処理部１１２に送信する。また、提示制御部８０５は、情報表示処理部１１２に対して、ユーザ１５０のリアクティブな社会的振る舞いを示すアバタの画像を表示するよう指示する。更に、提示制御部８０５は、このときの対話戦略を、評価情報ＤＢ１１９の“関係性レベルに応じた対話戦略決定記録テーブル”に記録する。
【０３０２】
＜リアクティブ処理部の各部の処理に関連するテーブルの説明＞
次に、リアクティブ処理部１１５の各部（ここでは、対話戦略決定部２８００）の処理に関連するデータを含むテーブル（ここでは、定義データ用ＤＢ１１８に格納された、“関係性レベルごとの対話戦略定義データテーブル”）について説明する。
【０３０３】
図２９は、定義データ用ＤＢに格納された、関係性レベルごとの対話戦略定義データテーブルの一例を示す図である。図２９に示すように、“関係性レベルごとの対話戦略定義データテーブル”２９００には、情報の項目として、“関係性レベル”、“デフォルトの戦略からの距離”、“対話戦略”が含まれる。
【０３０４】
“関係性レベル”には、一方のユーザから見た場合の他方のユーザの関係性のレベルが規定される。図２９の例は、関係性のレベルが３段階に分かれていることを示している。このうち“0_superficial”は、一方のユーザから見た場合の他方のユーザの関係性が、表面的なレベルであることを示している。“1-intimate”は、一方のユーザから見た場合の他方のユーザの関係性が、親しいレベルであることを示している。“2-personal”は、一方のユーザから見た場合の他方のユーザの関係性が、更に親しいレベルであることを示している。
【０３０５】
“デフォルトの戦略からの距離”には、それぞれの関係性レベルにおけるデフォルトの戦略からの距離が規定される。
【０３０６】
“対話戦略”には、それぞれの関係性レベルにおけるデフォルトの対話戦略からの距離に応じた対話戦略が規定される。
【０３０７】
図２９によれば、関係性レベルが“0_superficial”の場合、デフォルトの対話戦略（つまり、“デフォルトの戦略からの距離”が０の対話戦略）は、“Shortly_positive”戦略である。また、デフォルトの対話戦略に対して、プラス方向の対話戦略は、“Sunnily_positive”戦略や“Sunnily_Shortly_positive”戦略である。更に、デフォルトの対話戦略に対して、マイナス方向の対話戦略は、“Minimally_positive”戦略や“Minimally_Shortly_positive”戦略である。
【０３０８】
同様に、“関係性レベルごとの対話戦略定義データテーブル”２９００には、関係性レベルが“1_intimate”の場合について、デフォルトの対話戦略と、デフォルトの対話戦略に対してプラス方向の対話戦略とマイナス方向の対話戦略とが規定されている。
【０３０９】
同様に、“関係性レベルごとの対話戦略定義データテーブル”２９００には、関係性レベルが“2_personal”の場合について、デフォルトの対話戦略と、デフォルトの対話戦略に対してプラス方向の対話戦略とマイナス方向の対話戦略とが規定されている。
【０３１０】
＜リアクティブ処理部の提示制御処理の詳細＞
次に、リアクティブ処理部１１５の提示制御処理の詳細について説明する。なお、第３の実施形態において、リアクティブ処理部１１５の提示制御処理は、第１の実施形態において図１５を用いて説明した提示制御処理と同様であり、ステップＳ１５０５の対話戦略決定処理のみが異なる。
【０３１１】
このため、ここでは、リアクティブ処理部１１５の提示制御処理のうち、対話戦略決定処理の詳細について説明する。図３０は、リアクティブ処理部の対話戦略決定処理の詳細を示す第２のフローチャートである。
【０３１２】
図３０に示すように、第３の実施形態におけるリアクティブ処理部１１５の対話戦略決定処理は、第２の実施形態において説明した、ステップＳ２２０１からステップＳ２２０４の工程に加え、ステップＳ３００１からステップＳ３００４の工程を有する。
【０３１３】
ステップＳ３００１は、関係性レベル処理部２８０１による関係性レベル処理であり、ステップＳ３００２は、被関係性レベル処理部２８０２による被関係性レベル処理である。また、ステップＳ３００３は、関係性調整部２８０３による関係性調整制御処理であり、ステップＳ３００４は、決定部２８０４による関係性調整制御に基づく対話戦略決定処理である。以下、ステップＳ３００１からステップＳ３００４の各工程の詳細について説明する。
【０３１４】
なお、ステップＳ３００１からステップＳ３００４の各工程では、社会的振る舞いに関する各種情報（非言語動作に関する各種情報）に加え、発話に関する各種情報（言語動作に関する各種情報）も用いる。このため、ここでは、まず、発話に関する各種情報が記録された発話値算出記録テーブルについて説明する。
【０３１５】
図３１は、評価情報ＤＢに記録された発話値算出記録テーブルの一例を示す図である。上述したとおり、社会的振る舞いに関する各種情報（非言語動作に関する各種情報）は、社会的振る舞い値算出部８０２によって算出または特定され、“社会的振る舞い値算出記録テーブル”１８００に記録される。
【０３１６】
一方で、発話に関する各種情報（言語動作に関する各種情報）は、不図示の発話値算出部によって算出され、“発話値算出記録テーブル”３１００に記録されるものとする。
【０３１７】
図３１に示すように、発話値算出記録テーブル３１００には、情報の項目として、“ＤＢ記録時刻”、“記録開始時刻”、“記録終了時刻”、“振る舞いアバタＩＤ”、“被振る舞いアバタＩＤ”が含まれる。また、“発話値算出記録テーブル”３１００には、情報の項目として、“発話音声”、“受話音声”、“発話テキスト”、“受話テキスト”、“個人情報による情報開示回数”、“一般的トピックによる情報開示回数”が含まれる。更に、“発話値算出記録テーブル”３１００には、情報の項目として、“個人情報による被情報開示回数”、“一般的トピックによる被情報開示回数”が含まれる。
【０３１８】
このうち、図３１の左から右へ向かう方向に各情報の項目を見た場合の、“ＤＢ記録時刻”から“被振る舞いアバタＩＤ”までの各情報の項目は、“社会的振る舞い値算出記録テーブル”１８００に含まれる情報の項目と同様であるため、ここでは、説明を省略する。
【０３１９】
“発話音声”には、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが発話した音声データの格納先ファイル名が記録される。
【０３２０】
“受話音声”には、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが受話した音声データの格納先ファイル名が記録される。
【０３２１】
“発話テキスト”には、“発話音声”に格納先ファイル名が記録されたファイルのテキストデータが記録される。
【０３２２】
“受話テキスト”には、“受話音声”に格納先ファイル名が記録されたファイルのテキストデータが記録される。
【０３２３】
“個人情報による情報開示回数”には、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが発話により個人情報を開示した回数が記録される。“一般的トピックによる情報開示回数”には、“振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが発話により一般的トピックを開示した回数が記録される。
【０３２４】
“個人情報による被情報開示回数”には、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが受話により個人情報の開示を受けた回数が記録される。“一般的トピックによる被情報開示回数”には、“被振る舞いアバタＩＤ”に記録されたアバタＩＤのユーザが受話により一般的トピックの開示を受けた回数が記録される。
【０３２５】
（１）関係性レベル処理（ステップＳ３００１）の詳細
図３２は、関係性レベル処理の詳細を示すフローチャートである。関係性レベル処理部２８０１は、“社会的振る舞い値算出記録テーブル”１８００及び“発話値算出記録テーブル”３１００の各データ行について、関係性レベル処理を実行する。
【０３２６】
ステップＳ３２０１において、関係性レベル処理部２８０１は、“社会的振る舞い値算出記録テーブル”１８００または“発話値算出記録テーブル”３１００について、未処理のデータ行があるか否かを判定する。ステップＳ３２０１において、未処理のデータ行があると判定した場合、ステップＳ３２０２に進む。
【０３２７】
ステップＳ３２０２において、関係性レベル処理部２８０１は、非言語動作による情報開示スコアを算出する。
【０３２８】
具体的には、関係性レベル処理部２８０１は、“社会的振る舞い値算出記録テーブル”１８００を参照し、未処理のデータ行を抽出する。関係性レベル処理部２８０１は、ユーザ１５０（振る舞いアバタＩＤ＝“ＡＶ２”）のデータ行であって、前回処理したデータ行の“記録終了時刻”に記録された時刻以降に記録されたデータ行を、未処理のデータ行として抽出する。
【０３２９】
また、関係性レベル処理部２８０１は、抽出した未処理のデータ行から、“非言語動作による情報開示（身体接触の有無）”に記録された情報、“非言語動作による情報開示（意思及び態度（表情等）の提示有無）”に記録された情報を抽出する。更に、関係性レベル処理部２８０１は、抽出した情報に基づいて、非言語動作による情報開示スコアを算出する。
【０３３０】
例えば、抽出した未処理のデータ行において、“非言語動作による情報開示（身体接触の有無）”に記録された情報が“有”の場合、関係性レベル処理部２８０１は、非言語動作による情報開示スコアに５点を加点する。同様に、“非言語動作による情報開示（意思及び態度（表情等）の提示有無）”に記録された情報が“有”の場合、関係性レベル処理部２８０１は、非言語動作による情報開示スコアに５点を加点する。
【０３３１】
ステップＳ３２０３において、関係性レベル処理部２８０１は、言語動作による情報開示スコアを算出する。
【０３３２】
具体的には、関係性レベル処理部２８０１は、“発話値算出記録テーブル”３１００を参照し、未処理のデータ行を抽出する。関係性レベル処理部２８０１は、ユーザ１５０（振る舞いアバタＩＤ＝“ＡＶ２”）のデータ行であって、前回処理したデータ行の“記録終了時刻”に記録された時刻以降に記録されたデータ行を、未処理のデータ行として抽出する。
【０３３３】
また、関係性レベル処理部２８０１は、抽出した未処理のデータ行から、“個人情報による情報開示回数”に記録された情報、“一般的トピックによる情報開示回数”に記録された情報を抽出し、言語動作による情報開示スコアを算出する。
【０３３４】
例えば、抽出した未処理のデータ行において、“個人情報による情報開示回数”に記録された情報が“１”の場合、関係性レベル処理部２８０１は、言語動作による情報開示スコアに５点を加点する。同様に、“一般的トピックによる情報開示回数”に記録された情報が“１”の場合、関係性レベル処理部２８０１は、言語動作による情報開示スコアに１点を加点する。
【０３３５】
ステップＳ３２０４において、関係性レベル処理部２８０１は、対話相手に対する情報開示量を算出し、“情報開示量記録テーブル”に記録する。
【０３３６】
具体的には、関係性レベル処理部２８０１は、非言語動作による情報開示スコアと、言語動作による情報開示スコアとに基づいて、情報開示量を算出する。なお、関係性レベル処理部２８０１は、非言語動作による情報開示スコアと、言語動作による情報開示スコアとを単純加算して情報開示量を算出してもよいし、重み付け加算して情報開示量を算出してもよい。
【０３３７】
関係性レベル処理部２８０１は、算出した情報開示量を、非言語動作による情報開示スコア及び言語動作による情報開示スコアとともに、評価情報ＤＢ１１９の“対話相手に対する情報開示量記録テーブル”に記録する。
【０３３８】
図３３は、評価情報ＤＢに記録された、対話相手に対する情報開示量記録テーブルの一例を示す図である。図３３に示すように、“対話相手に対する情報開示量記録テーブル”３３００には、“振る舞いアバタＩＤ”と“被振る舞いアバタＩＤ”とが含まれる。“振る舞いアバタＩＤ”及び“被振る舞いアバタＩＤ”には、言語動作・非言語動作を行ったユーザのアバタＩＤと、当該ユーザが言語動作・非言語動作を行ったことで社会的振る舞いを受けたユーザのアバタＩＤとが記録される。
【０３３９】
また、“対話相手に対する情報開示量記録テーブル”３３００には、情報の項目として、“非言語動作による情報開示スコア”、“言語動作による情報開示スコア”が含まれる。そして、それぞれの情報の項目には、関係性レベル処理部２８０１により算出された、非言語動作による情報開示スコア、言語動作による情報開示スコアが記録される。
【０３４０】
更に、“対話相手に対する情報開示量記録テーブル”３３００には、情報の項目として、“情報開示量”が含まれ、関係性レベル処理部２８０１により算出された情報開示量が記録される。なお、図３３の例は、非言語動作による情報開示スコアと言語動作による情報開示スコアとを単純加算することで、情報開示量が算出された場合を示している。
【０３４１】
図３２に戻る。ステップＳ３２０５において、関係性レベル処理部２８０１は、対話相手に対する関係性レベル判定処理を実行する。
【０３４２】
具体的には、関係性レベル処理部２８０１は、“対話相手に対して適切と見なしている関係性レベル判定記録テーブル”を参照し、“累積情報開示量”に記録された最新の値を抽出する。なお、図３４は、評価情報ＤＢに記録された、対話相手に対して適切と見なしている関係性レベル判定記録テーブルの一例を示す図である。
【０３４３】
また、関係性レベル処理部２８０１は、“対話相手に対する情報開示量記録テーブル”３３００の“情報開示量”に記録した最新の値を抽出する。
【０３４４】
そして、関係性レベル処理部２８０１は、“累積情報開示量”に記録された最新の値と、“情報開示量”に記録した最新の値とに基づいて、新たに累積情報開示量を算出する。
【０３４５】
また、関係性レベル処理部２８０１は、新たに算出した累積情報開示量が所定の閾値を超えているか否かを判定する。
【０３４６】
関係性レベル処理部２８０１は、所定の閾値を超えていると判定した場合、“対話相手に対して適切と見なしている関係性レベル判定記録テーブル”３４００を参照する。関係性レベル処理部２８０１は、“対話相手に対して適切と見なしている関係性レベル”に記録された最新の関係性レベルを抽出する。また、関係性レベル処理部２８０１は、抽出した関係性レベルを次の関係性レベルに進める。
【０３４７】
次の関係性レベルに進めるとは、抽出した関係性レベルが、“0_superficial”であった場合には、“1_intimate”にすることを指す。あるいは、抽出した関係性レベルが、“1_intimate”であった場合には、“2_personal”にすることを指す。
【０３４８】
関係性レベル処理部２８０１は、抽出した関係性レベルまたは次の関係性レベルを、新たに算出した累積情報開示量と対応付けて、“対話相手に対して適切と見なしている関係性レベル判定記録テーブル”３４００に記録する。なお、関係性レベル処理部２８０１は、次の関係性レベルを記録する場合には、累積情報開示量を０にリセットする。
【０３４９】
ステップＳ３２０６において、関係性レベル処理部２８０１は、対話相手に対する関係性レベル進展度算出処理を実行する。
【０３５０】
具体的には、関係性レベル処理部２８０１は、“対話相手に対して適切と見なしている関係性レベル判定記録テーブル”３４００を参照し、“累積情報開示量”に新たに記録された値を抽出する。また、関係性レベル処理部２８０１は、“対話相手に対して適切と見なしている関係性レベル判定記録テーブル”３４００の“対話相手に対して適切と見なしている関係性レベル”を算出する際に用いた閾値を抽出する。
【０３５１】
更に、関係性レベル処理部２８０１は、抽出した“累積情報開示量”と、抽出した閾値とに基づいて、関係性の進展の度合いを算出する。関係性の進展の度合いとは、それぞれの関係性レベル（0_superficial、1_intimate、2_personal）において、累積情報開示量がどの程度増えたかを示す指標である。上記のとおり、累積情報開示量は、次の関係性レベルに進むための所定の閾値まで増え、所定の閾値を超えると、リセットされる。このため、関係性の進展の度合いは、次の関係性レベルに進むための閾値に対する、新たに算出した累積情報開示量の比率に基づいて算出される。
【０３５２】
関係性レベル処理部２８０１は、算出した、関係性の進展の度合いを、評価情報ＤＢ１１９の“関係性の進展の度合い記録テーブル”に記録する。
【０３５３】
図３５は、評価情報ＤＢに記録された、関係性の進展の度合い記録テーブルの一例を示す図である。図３５に示すように、“関係性の進展の度合い記録テーブル”３５００には、情報の項目として、“対話相手に対して適切と見なしている関係性レベル”、“関係性の進展の度合い”が含まれる。それぞれの情報の項目には、関係性レベル処理部２８０１において算出された算出結果が記録される。
【０３５４】
（２）被関係性レベル処理（ステップＳ３００２）の詳細
図３６は、被関係性レベル処理の詳細を示すフローチャートである。被関係性レベル処理部２８０２は、“社会的振る舞い値算出記録テーブル”１８００及び“発話値算出記録テーブル”３１００の各データ行について、関係性レベル処理を実行する。
【０３５５】
ステップＳ３６０１において、被関係性レベル処理部２８０２は、“社会的振る舞い値算出記録テーブル”１８００または“発話値算出記録テーブル”３１００について、当該関係性レベル処理について未処理のデータ行があるか否かを判定する。ステップＳ３６０１において、未処理のデータ行があると判定した場合、ステップＳ３６０２に進む。
【０３５６】
ステップＳ３６０２において、被関係性レベル処理部２８０２は、非言語動作による被情報開示スコアを算出する。
【０３５７】
具体的には、被関係性レベル処理部２８０２は、“社会的振る舞い値算出記録テーブル”１８００を参照し、未処理のデータ行を抽出する。被関係性レベル処理部２８０２は、ユーザ１４０（振る舞いアバタＩＤ＝“ＡＶ１”）のデータ行であって、前回処理したデータ行の“記録終了時刻”に記録された時刻以降に記録されたデータ行を、未処理のデータ行として抽出する。
【０３５８】
また、被関係性レベル処理部２８０２は、抽出した未処理のデータ行から、“非言語動作による被情報開示（身体接触の有無）”に記録された情報、“非言語動作による被情報開示（意思及び態度（表情等）の提示有無）”に記録された情報を抽出する。更に、被関係性レベル処理部２８０２は、抽出した情報に基づいて、非言語動作による被情報開示スコアを算出する。
【０３５９】
例えば、抽出した未処理のデータ行において、“非言語動作による被情報開示（身体接触の有無）”に記録された情報が“有”の場合、被関係性レベル処理部２８０２は、非言語動作による被情報開示スコアに５点を加点する。同様に、“非言語動作による被情報開示（意思及び態度（表情等）の提示有無）”に記録された情報が“有”の場合、被関係性レベル処理部２８０２は、非言語動作による被情報開示スコアに５点を加点する。
【０３６０】
ステップＳ３６０３において、被関係性レベル処理部２８０２は、言語動作による被情報開示スコアを算出する。
【０３６１】
具体的には、被関係性レベル処理部２８０２は、“発話値算出記録テーブル”３１００を参照し、未処理のデータ行を抽出する。被関係性レベル処理部２８０２は、ユーザ１４０（振る舞いアバタＩＤ＝“ＡＶ１”）のデータ行であって、前回処理したデータ行の“記録終了時刻”に記録された時刻以降に記録されたデータ行を、未処理のデータ行として抽出する。
【０３６２】
また、被関係性レベル処理部２８０２は、抽出した未処理のデータ行から、“個人情報による被情報開示回数”に記録された情報、“一般的トピックによる被情報開示回数”に記録された情報を抽出する。更に、被関係性レベル処理部２８０２は、抽出した情報に基づいて、言語動作による被情報開示スコアを算出する。
【０３６３】
例えば、抽出した未処理のデータ行において、“個人情報により被情報開示回数”に記録された情報が“１”の場合、被関係性レベル処理部２８０２は、言語動作による被情報開示スコアに５点を加点する。同様に、“一般的トピックによる被情報開示回数”に記録された情報が“１”の場合、被関係性レベル処理部２８０２は、言語動作による被情報開示スコアに１点を加点する。
【０３６４】
ステップＳ３６０４において、被関係性レベル処理部２８０２は、対話相手からの被情報開示量を算出する。
【０３６５】
具体的には、被関係性レベル処理部２８０２は、非言語動作による被情報開示スコアと、言語動作による被情報開示スコアとに基づいて、ユーザ１５０がユーザ１４０から受けた情報の情報開示量である、被情報開示量を算出する。なお、被関係性レベル処理部２８０２は、非言語動作による被情報開示スコアと、言語動作による被情報開示スコアとを単純加算して被情報開示量を算出してもよいし、重み付け加算して被情報開示量を算出してもよい。
【０３６６】
更に、被関係性レベル処理部２８０２は、算出した被情報開示量を、非言語動作による被情報開示スコア及び言語動作による被情報開示スコアとともに、評価情報ＤＢ１１９の“対話相手からの被情報開示量記録テーブル”に記録する。
【０３６７】
図３７は、評価情報ＤＢに記録された、対話相手からの被情報開示量記録テーブルの一例を示す図である。図３７に示すように、“対話相手からの被情報開示量記録テーブル”３７００には、情報の項目として、“振る舞いアバタＩＤ”と“被振る舞いアバタＩＤ”とが含まれる。これらの情報の項目には、社会的振る舞いを行ったユーザのアバタＩＤと、社会的振る舞いを受けたユーザのアバタＩＤとが記録される。
【０３６８】
また、“対話相手からの被情報開示量記録テーブル”３７００には、情報の項目として、“非言語動作による被情報開示スコア”、“言語動作による被情報開示スコア”が含まれる。これらの情報の項目には、被関係性レベル処理部２８０２により算出された、非言語動作による被情報開示スコア、言語動作による被情報開示スコアが記録される。
【０３６９】
更に、“対話相手からの被情報開示量記録テーブル”３７００には、情報の項目として、“被情報開示量”が含まれ、被関係性レベル処理部２８０２により算出された被情報開示量が記録される。なお、図３７の例は、非言語動作による被情報開示スコアと言語動作による被情報開示スコアとを単純加算することで、被情報開示量が算出された場合を示している。
【０３７０】
続いて、図３６のステップＳ３６０５において、被関係性レベル処理部２８０２は、対話相手からの被関係性レベル推定処理を実行する。
【０３７１】
具体的には、被関係性レベル処理部２８０２は、評価情報ＤＢ１１９の“対話相手からの被情報開示量に基づき対話相手が適切と見なしている被関係性レベル推定記録テーブル”を参照し、“累積被情報開示量”に記録された最新の値を抽出する。なお、図３８は、評価情報ＤＢに記録された、対話相手からの被情報開示量に基づき対話相手が適切と見なしている被関係性レベル推定記録テーブルの一例を示す図である。
【０３７２】
また、被関係性レベル処理部２８０２は、“対話相手からの被情報開示量記録テーブル”３７００を参照し、“被情報開示量”に記録した最新の値を抽出する。
【０３７３】
そして、被関係性レベル処理部２８０２は、“累積被情報開示量”に記録された最新の値と、“被情報開示量”に記録した最新の値とに基づいて、新たに累積被情報開示量を算出する。
【０３７４】
また、被関係性レベル処理部２８０２は、新たに算出した累積被情報開示量が所定の閾値を超えているか否かを判定する。
【０３７５】
被関係性レベル処理部２８０２は、所定の閾値を超えていると判定した場合、“対話相手からの被情報開示量に基づき対話相手が適切と見なしている被関係性レベル推定記録テーブル”３８００を参照する。そして、被関係性レベル処理部２８０２は、“対話相手が適切と見なしている被関係性レベル”に記録された最新の被関係性レベルを抽出し、抽出した被関係性レベルを次の被関係性レベルに進める。
【０３７６】
被関係性レベル処理部２８０２は、抽出した最新の被関係性レベルまたは次の被関係性レベルを、“対話相手からの被情報開示量に基づき対話相手が適切と見なしている被関係性レベル推定記録テーブル”３８００に記録する。このとき、被関係性レベル処理部２８０２は、新たに算出した累積情報開示量と対応付けて記録する。なお、被関係性レベル処理部２８０２は、次の被関係性レベルを記録する場合には、累積被情報開示量を０にリセットする。
【０３７７】
（３）関係性調整制御処理（ステップＳ３００３）の詳細
図３９は、関係性調整制御処理の詳細を示すフローチャートである。ステップＳ３９０１において、関係性調整部２８０３は、“社会的振る舞い許容性判定記録テーブル”２６００を参照し、社会的振る舞い許容性が“Acceptable”であるか否かを判定する。ステップＳ３９０１において、“Acceptable”であると判定した場合には、ステップＳ３９０２に進む。
【０３７８】
ステップＳ３９０２において、関係性調整部２８０３は、関係性レベルの調整方向制御処理を実行する。
【０３７９】
具体的には、関係性調整部２８０３は、“対話相手に対して適切と見なしている関係性レベル判定記録テーブル”３４００を参照し、“対話相手に対して適切と見なしている関係性レベル”に新たに記録された関係性レベルを抽出する。
【０３８０】
また、関係性調整部２８０３は、“対話相手からの被情報開示量に基づき対話相手が適切と見なしている被関係性レベル推定記録テーブル”３８００を参照し、“対話相手が適切と見なしている被関係性レベル”に新たに記録された被関係性レベルを抽出する。
【０３８１】
また、関係性調整部２８０３は、抽出した関係性レベルと、抽出した被関係性レベルとが同一であるか否かを判定する。
【０３８２】
同一であると判定した場合、関係性調整部２８０３は、ユーザ１４０とユーザ１５０とは同程度の情報開示によって、同程度のスピードで関係構築を行っているものと推定する。この場合、関係性調整部２８０３は、関係性調整の方向制御の必要はなく、また、対話戦略を更新する必要もないと判定する。
【０３８３】
一方、同一でないと判定した場合、関係性調整部２８０３は、両者の大小関係を判定する。抽出した関係性レベルの方が、抽出した被関係性レベルよりも大きい場合、関係性調整部２８０３は、関係性レベルを近づけすぎないような方向（マイナス方向）へ制御すると判定する。
【０３８４】
例えば、ユーザ１５０がユーザ１４０に対して適切と見なしている関係性レベルが、“1_intimate”であったとする。一方、ユーザ１４０がユーザ１５０に対して適切と見なしていると推定される被関係性レベルが、“0_superficial”であったとする。この場合、関係性調整部２８０３は、マイナス方向へ制御すると判定する。
【０３８５】
また、抽出した関係性レベルよりも、抽出した被関係性レベルの方が大きい場合、関係性調整部２８０３は、関係性レベルを近づける方向（プラス方向）へ制御すると判定する。
【０３８６】
例えば、ユーザ１５０がユーザ１４０に対して適切と見なしている関係性レベルが、“0_superficial”であったとする。一方、ユーザ１４０がユーザ１５０に対して適切と見なしていると推定される被関係性レベルが、“1_intimate”であったとする。この場合、関係性調整部２８０３は、プラス方向へ制御すると判定する。
【０３８７】
（４）関係性調整制御に基づく対話戦略決定処理（ステップＳ３００４）の詳細
図４０は、関係性調整制御に基づく対話戦略決定処理の詳細を示すフローチャートである。ステップＳ４００１において、決定部２８０４は、関係性調整部２８０３による関係性調整制御処理（ステップＳ３００３）の処理結果を参照し、関係性調整の方向制御が必要か否かを判定する。
【０３８８】
関係性レベルと被関係性レベルとが同一でない場合、ステップＳ４００１において、決定部２８０４は、関係性調整の方向制御が必要であると判定し、ステップＳ４００２に進む。
【０３８９】
ステップＳ４００２において、決定部２８０４は、現在の対話戦略を把握するとともに、関係性調整部２８０３により判定された方向を識別する。
【０３９０】
関係性調整部２８０３により判定された関係性レベルの調整の方向がマイナス方向であった場合、決定部２８０４は、現在の対話戦略よりも、マイナス方向の対話戦略を決定する。
【０３９１】
一方、関係性調整部２８０３により判定された関係性レベルの調整の方向がプラス方向であった場合、決定部２８０４は、現在の対話戦略よりも、プラス方向の対話戦略を決定する。なお、関係性調整部２８０３は、対話戦略を決定するにあたり、“関係性レベルごとの対話戦略定義データテーブル”２９００を参照する。
【０３９２】
提示制御部８０５は、関係性調整部２８０３が決定した対話戦略を、評価情報ＤＢ１１９の“関係性レベルに応じた対話戦略決定記録テーブル”に記録する。
【０３９３】
図４１は、評価情報ＤＢに記録された、関係性レベルに応じた対話戦略決定記録テーブルの一例を示す図である。図４１に示すように、“関係性レベルに応じた対話戦略決定記録テーブル”４１００には、情報の項目として、“振る舞いアバタＩＤ”と“被振る舞いアバタＩＤ”とが含まれる。これらの情報の項目には、対話戦略に基づいて振る舞うユーザのアバタＩＤと、当該対話戦略に基づく振る舞いを受けるユーザのアバタＩＤとが記録される。
【０３９４】
また、“関係性レベルに応じた対話戦略決定記録テーブル”４１００には、情報の項目として、“関係性調整の方向制御”、“対話戦略”が含まれる。これらの情報の項目には、関係性調整部２８０３により判定された方向と、決定部２８０４により決定された対話戦略とが記録される。
【０３９５】
例えば、現在の対話戦略が、関係性レベルが“0_superficial”のデフォルトの対話戦略（“デフォルトの戦略からの距離”が０である対話戦略）である、“Shortly_positive”戦略であったとする。この場合、“関係性調整の方向制御”がマイナス方向であるならば、図２９より、マイナス方向の対話戦略は、“Minimally_positive”戦略となる。したがって、決定部２８０４では、関係性レベルに応じた対話戦略として、“Minimally_positive”戦略を決定する。また、提示制御部８０５は、“関係性レベルに応じた対話戦略決定記録テーブル”４１００の“対話戦略”に、“Minimally_positive”戦略を記録する。
【０３９６】
以上の説明から明らかなように、第３の実施形態における画像生成装置１１０は、社会的振る舞いの傾向に基づいて、対話戦略を決定するにあたり、
・対話相手との間で、関係性レベルと被関係性レベルとを判定または推定する。
・社会的振る舞い許容性が“Acceptable”の場合に、関係性レベルと被関係性レベルとのバランスを調整するように、対話戦略を決定する。
【０３９７】
これにより、第３の実施形態における画像生成装置１１０によれば、対話相手との関係性レベルを調整する観点から決定した対話戦略に基づくリアクティブな振る舞いを、対話相手に提示することができる。
【０３９８】
［第４の実施形態］
上記第１乃至第３の実施形態では、対話戦略に対応するリアクティブな社会的振る舞いが予め定められているものとして説明した。これに対して、第４の実施形態では、ユーザが実際に行った社会的振る舞いに基づいて、対話戦略に対応するリアクティブな社会的振る舞いを変更する場合について説明する。以下、第４の実施形態について、第１の実施形態との相違点を中心に説明する。
【０３９９】
＜画像生成装置のリアクティブ処理部の機能構成＞
はじめに、画像生成装置１１０のリアクティブ処理部１１５の機能構成について説明する。図４２は、画像生成装置のリアクティブ処理部の機能構成を説明するための第４の図である。
【０４００】
図８との相違点は、提示制御部４２００と、定義データ用ＤＢ１１８及び評価情報ＤＢ１１９に、新たなテーブルが格納されている点である。なお、図４２の定義データ用ＤＢ１１８及び評価情報ＤＢ１１９に示すテーブルのうち、黒丸が付されたテーブルは、新たなテーブルであることを表している。
【０４０１】
図４２に示すように、提示制御部４２００は、実行スタック登録部４２０１、合成部４２０２、制御部４２０３を有する。
【０４０２】
実行スタック登録部４２０１は、評価情報ＤＢ１１９の“対話戦略決定記録テーブル”１９００の“対話戦略”を参照し、現状の対話戦略について識別する。なお、第４の実施形態において、実行スタック登録部４２０１は、“対話戦略決定記録テーブル”１９００の“対話戦略”に記録された対話戦略のうち、ユーザ１５０のユーザ１４０に対する対話戦略を参照するものとする。
【０４０３】
また、実行スタック登録部４２０１は、定義データ用ＤＢ１１８に格納された“対話戦略ごとのリアクティブな社会的振る舞い定義データテーブル”を参照し、現状の対話戦略について、リアクティブな社会的振る舞いが許可されているか否かを判定する。
【０４０４】
また、実行スタック登録部４２０１は、リアクティブな社会的振る舞いが許可されていると判定した場合に、“対話戦略ごとのリアクティブな社会的振る舞い定義データテーブル”を再度参照し、対応する社会的振る舞いを抽出する。
【０４０５】
また、実行スタック登録部４２０１は、抽出した社会的振る舞いを、リアクティブな社会的振る舞いとして、実行スタックに登録する。実行スタックは、リアクティブな社会的振る舞いとして実行すべき社会的振る舞いを格納するメモリ上の領域であり、社会的振る舞い評価情報ＤＢ１１９の“実行スタック中の社会的振る舞い記録テーブル”とは別に設けられているものとする。なお、抽出した社会的振る舞いが複数であった場合、実行スタック登録部４２０１は、定義データ用ＤＢ１１８に格納された“社会的振る舞い群の定義データテーブル”を参照し、リアクティブな社会的振る舞い群として、実行スタックに登録する。
【０４０６】
更に、実行スタック登録部４２０１は、実行スタックに登録した社会的振る舞いまたは社会的振る舞い群を、評価情報ＤＢ１１９の“実行スタック中の社会的振る舞い記録テーブル”に記録する。
【０４０７】
合成部４２０２は、ユーザ１５０により社会的振る舞いが行われた場合に、ユーザ１５０により行われた社会的振る舞いを実行スタックに新たに登録することで、当該社会的振る舞いを、実行スタックに登録済みの社会的振る舞いに合成する。
【０４０８】
なお、合成部４２０２は、当該社会的振る舞いを合成するにあたり、定義データ用ＤＢ１１８に格納された“社会的振る舞い及び社会的振る舞い群の接近及び回避傾向評価値定義データテーブル”を参照する。そして、合成部４２０２は、当該社会的振る舞いを合成した場合の影響を考慮したうえで、当該社会的振る舞いを実行スタックに登録済みの社会的振る舞いに合成する。
【０４０９】
制御部４２０３は、ユーザ１４０により社会的振る舞いが行われた場合に、実行スタックに登録された社会的振る舞い（または社会的振る舞い群）に基づいて、リアクティブな社会的振る舞いを、ユーザ１４０に提示するよう制御する。
【０４１０】
また、制御部４２０３は、ユーザ１４０に提示したリアクティブな社会的振る舞いを、評価情報ＤＢ１１９の“社会的振る舞い制御ログテーブル”に記録する。
【０４１１】
＜リアクティブ処理部の各部の処理に関連するテーブルの説明＞
次に、リアクティブ処理部１１５の各部（ここでは、提示制御部４２００）の処理に関連するデータを含むテーブルについて説明する。
【０４１２】
（１）対話戦略ごとのリアクティブな社会的振る舞い定義データテーブル
図４３は、定義データ用ＤＢに格納された、対話戦略ごとのリアクティブな社会的振る舞い定義データテーブルの一例を示す図である。図４３に示すように、“対話戦略ごとのリアクティブな社会的振る舞い定義データテーブル”４３００には、情報の項目として、“対話戦略”、“リアクティブな社会的振る舞いの許可制御条件”、“推奨される社会的振る舞い、社会的振る舞い群”が含まれる。
【０４１３】
“対話戦略”には、予め定められた複数の対話戦略が規定される。“リアクティブな社会的振る舞いの許可制御条件”には、“対話戦略”に規定されたそれぞれの対話戦略について、リアクティブな社会的振る舞いを許可するための条件が規定される。
【０４１４】
“推奨される社会的振る舞い、社会的振る舞い群”には、“対話戦略”に規定されたそれぞれの対話戦略が決定された場合に行われる、社会的振る舞いまたは社会的振る舞い群が規定される。
【０４１５】
図４３のデータ行の最下行に示すように、例えば、対話戦略として“Totally_positive戦略”が決定されたとする。この場合、“Gesture_NegativemeaningGesture”以外の社会的振る舞いについて、リアクティブな社会的振る舞いが許可される。このため、実行スタック登録部４２０１は、リアクティブな社会的振る舞いとして、“Approaching_seqStandard”を実行スタックに登録する。
【０４１６】
（２）社会的振る舞い群の定義データテーブル
図４４は、定義データ用ＤＢに格納された、社会的振る舞い群の定義データテーブルの一例を示す図である。図４４に示すように、“社会的振る舞い群の定義データテーブル”４４００には、情報の項目として、“社会的振る舞い群”、“構成要素”が含まれる。
【０４１７】
“社会的振る舞い群”には、社会的振る舞い群を識別するための名称が規定される。“構成要素”には、“社会的振る舞い群”に規定された社会的振る舞い群に含まれる、複数の社会的振る舞いが規定される。
【０４１８】
図４４のデータ行のうち１行目の例は、“Approaching_seqStandard”により識別される社会的振る舞い群には、以下の３種類の社会的振る舞いまたは社会的振る舞いの組み合わせが含まれることを示している。なお、社会的振る舞いまたは社会的振る舞いの組み合わせを要素にもつ集合として定義されているものであって、２つ以上の要素を定義したものを、「社会的振る舞い群」と称す。
・“Gesture_Positivemeaninggestureto,type=nod”、“Avoiding_seqKeepaway”
・“Approaching_seqMutualtry”、“Lean_Backward”、“Gesture_Positivemeaninggestureto”
・“Approaching_seqMutualtry”
図４４の例によれば、実行スタック登録部４２０１は、“Approaching_seqStandard”を実行スタックに登録する場合、上記社会的振る舞い群のいずれかを登録する。
【０４１９】
（３）社会的振る舞い及び社会的振る舞い群の接近及び回避傾向評価値定義データテーブル
図４５は、定義データ用ＤＢに格納された、社会的振る舞い及び社会的振る舞い群の接近及び回避傾向評価値定義データテーブルの一例を示す図である。図４５に示すように、“社会的振る舞い及び社会的振る舞い群の接近及び回避傾向評価値定義データテーブル”４５００には、情報の項目として、“接近・回避傾向評価値”、“接近・回避傾向評価値の決定条件”が含まれる。
【０４２０】
“接近・回避傾向評価値”には、合成部４２０２が社会的振る舞いを合成する場合に参照する評価値が規定される。“接近・回避傾向評価値の決定条件”には、“接近・回避傾向評価値”に規定された評価値を出力するための条件が規定される。
【０４２１】
図４５のデータ行のうち、例えば、４行目のデータ行の場合、接近傾向評価値として“４”を出力するためには、
・社会的振る舞い群を実行した際のｄｕｒａｔｉｏｎの長さ（記録開始時刻から記録終了時刻までの時間）が３［秒］以上であること、
が条件となる。
【０４２２】
また、４行目のデータ行の場合、回避傾向評価値として“４”を出力するためには、
・社会的振る舞い群を実行した際のｄｕｒａｔｉｏｎの長さが３［秒］以上であること、または、
・実行された社会的振る舞い群が回避傾向の社会的振る舞い群であること、
が条件となる。
【０４２３】
＜リアクティブ処理部の提示制御処理の詳細＞
次に、リアクティブ処理部１１５の提示制御処理の詳細について説明する。なお、第４の実施形態におけるリアクティブ処理部１１５の提示制御処理は、第１の実施形態において図１５を用いて説明した提示制御処理と同様の工程（ステップＳ１５０１〜Ｓ１５０４）を有する。
【０４２４】
このため、ここでは、リアクティブ処理部１１５の提示制御処理のうち、ステップＳ１５０１〜Ｓ１５０４以外の工程について説明する。図４６は、リアクティブ処理部の提示制御処理の詳細を示す第２のフローチャートである。
【０４２５】
図４６に示すように、第４の実施形態におけるリアクティブ処理部１１５の提示制御処理には、ステップＳ１５０１〜Ｓ１５０４以外の工程として、ステップＳ４６０１からＳ４６０３が含まれる。
【０４２６】
このうち、ステップＳ４６０１では、実行スタック登録部４２０１が、実行スタック登録処理を実行し、ステップＳ４６０２では、合成部４２０２が合成処理を実行し、ステップＳ４６０３では、制御部４２０３が実行スタックに基づく提示制御処理を実行する。以下、ステップＳ４６０１〜Ｓ４６０３の詳細について説明する。
【０４２７】
（１）実行スタック登録処理（ステップＳ４６０１）の詳細
図４７は、実行スタック登録処理の詳細を示すフローチャートである。ステップＳ４７０１において、実行スタック登録部４２０１は、ユーザ１４０が社会的振る舞いを行ったか否かを判定する。
【０４２８】
ステップＳ４７０１において、ユーザ１４０が社会的振る舞いを行ったと判定した場合にはステップＳ４７０２に進む。ステップＳ４７０２において、実行スタック登録部４２０１は、評価情報ＤＢ１１９の“対話戦略決定記録テーブル”１９００を参照し、ユーザ１５０のユーザ１４０に対する現状の対話戦略を識別する。ここでは、実行スタック登録部４２０１は、ユーザ１５０のユーザ１４０に対する現状の対話戦略が、“Totally_positive戦略”であると識別するものとする。
【０４２９】
続いて、実行スタック登録部４２０１は、“対話戦略ごとのリアクティブな社会的振る舞い定義データテーブル”４３００を参照し、識別した現状の対話戦略について、リアクティブな社会的振る舞いが許可されているかを判定する。“対話戦略ごとのリアクティブな社会的振る舞い定義データテーブル”４３００によれば、“Totally_positive戦略”の場合、リアクティブな社会的振る舞いが許可されている。
【０４３０】
このため、実行スタック登録部４２０１は、リアクティブな社会的振る舞いが許可されていると判定する。
【０４３１】
続いて、実行スタック登録部４２０１は、実行するリアクティブな社会的振る舞いを決定し、実行スタックに登録する。“対話戦略ごとのリアクティブな社会的振る舞い定義データテーブル”４３００によれば、“Totally_positive戦略”の場合、推奨される社会的振る舞い群として、“Approaching_seqStandard”が規定されている。このため、実行スタック登録部４２０１は当該社会的振る舞い群を実行スタックに登録する。
【０４３２】
なお、“社会的振る舞い群の定義データテーブル”４４００によれば、“Approaching_seqStandard”には３種類の社会的振る舞い群が含まれている。実行スタック登録部４２０１は、３種類のうちのいずれかの社会的振る舞い群を実行スタックに登録する。いずれの社会的振る舞い群を登録するかは、例えば、ランダムに選択してもよいし、過去に実行している回数の少ないものを選択してもよい。つまり、実行スタック登録部４２０１が実行スタックに登録する社会的振る舞い群を選択する際の選択基準は任意である。
【０４３３】
ここでは、実行スタック登録部４２０１は、“Approaching_seqStandard”に含まれる１番目の社会的振る舞い群を登録したとする。具体的には、“Gesture_Positivemeaninggestureto,type=nod”、“Avoiding_seqKeepaway”を実行スタックに登録したとする。
【０４３４】
なお、“Avoiding_seqKeepaway”は、社会的振る舞い群であるため、実行スタック登録部４２０１は、“Avoiding_seqKeepaway”に含まれる複数の社会的振る舞いも合わせて実行スタックに登録する。
【０４３５】
続いて、実行スタック登録部４２０１は、実行スタックに登録した社会的振る舞い群を、評価情報ＤＢ１１９の“実行スタック中の社会的振る舞い記録テーブル”に記録する。図４８は、評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第１の図である。
【０４３６】
図４８に示すように、“実行スタック中の社会的振る舞い記録テーブル１”４８００のデータ行の１行目と２行目には、“Approaching_seqStandard”を構成する要素が記録される。具体的には、図４４で１つのシーケンスとして定義されている、すべての社会的振る舞い（または社会的振る舞い群）が記録される。なお、データ行の２行目に記録された要素は、社会的振る舞い群であり、実際に実行する社会的振る舞いを実行スタックに登録する。このため、データ行の３行目には、社会的振る舞い群（“Avoiding_seqKeepaway”）に含まれる複数の社会的振る舞いが記録される。具体的には、図４４で定義されているシーケンスを参照して、“Orientation_Face_Indirectto”、“Orientation_Upperbody_Indirectto”が記録される。
【０４３７】
（２）合成処理（ステップＳ４６０２）の詳細
図４９は、合成処理の詳細を示すフローチャートである。ステップＳ４９０１において、合成部４２０２は、ユーザ１５０が社会的振る舞いを行ったか否かを判定する。
【０４３８】
合成部４２０２は、アバタが実行している振る舞いに、当該アバタに対応するユーザが実行している社会的振る舞いの合成を行うか否かを判定し、合成を行うと判定した場合に、当該アバタに対応するユーザが実行している社会的振る舞いの合成を行う。
【０４３９】
ステップＳ４９０１において、ユーザ１５０が過去に社会的振る舞いを行ったと判定した場合にはステップＳ４９０２に進む。
【０４４０】
ステップＳ４９０２において、合成部４２０２は、“実行スタック中の社会的振る舞い記録テーブル１”４８００を参照する。そして、合成部４２０２は、判定した社会的振る舞いが、実行スタックに既に登録されているか（あるいは既に実行済みであるか）否かを判定する。合成部４２０２は、既に登録されているか（あるいは既に実行済みであるか）否かの判定結果に応じた処理を行う。ここでは、合成部４２０２が、
・既に実行済みであると判定した場合の処理の具体例（具体例１）、
・既に登録されているが実行前であると判定した場合の処理の具体例（具体例２）、
・まだ、登録されていないと判定した場合の処理の具体例（具体例３−１〜具体例４−３）、について説明する。
【０４４１】
（ａ）具体例１
例えば、ユーザ１５０が社会的振る舞いとして、“Gesture_Positivemeaninggestureto,type=nod”を行ったとする。そして、“実行スタック中の社会的振る舞い記録テーブル１”４８００の実行プランＩＤ＝“１０６”の行までを実行した状態であったとする。この場合、当該社会的振る舞い（“Gesture_Positivemeaninggestureto,type=nod”）は、既に実行スタックに登録されており、実行済みである。
【０４４２】
このため、合成部４２０２では、当該社会的振る舞い（“Gesture_Positivemeaninggestureto,type=nod”）を実行スタックに登録しない（既に実行スタックに登録されている社会的振る舞いとの合成は行わない）。
【０４４３】
ただし、合成部４２０２では、“実行スタック中の社会的振る舞い記録テーブル１”４８００の“schedule強度”を変更する。なお、“schedule強度”とは、対応する社会的振る舞いを実行すべき強度を意味し、初期値として“１”が記録されている。合成部４２０２では、社会的振る舞い＝“Gesture_Positivemeaninggestureto,type=nod”が記載された実行プランＩＤの“schedule強度”を“２”に変更する。
【０４４４】
図５０は、評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第２の図である。このうち、図５０（ａ）の“実行スタック中の社会的振る舞い記録テーブル２−１”５００１は、実行プランＩＤ（＝“１０６”）の“schedule強度”が“２”に変更された様子を示している。
【０４４５】
（ｂ）具体例２
例えば、ユーザ１５０が社会的振る舞いとして、“Orientation_Face_Indirectto”を行ったとする。そして、“実行スタック中の社会的振る舞い記録テーブル１”４８００の実行プランＩＤ＝“１０８）の行までを実行した状態であったとする。この場合、当該社会的振る舞い（“Orientation_Face_Indirectto”）は、既に実行スタックに登録されている。このため、合成部４２０２では、当該社会的振る舞い（“Orientation_Face_Indirectto”）を実行スタックに登録しない（既に実行スタックに登録されている社会的振る舞いとの合成は行わない）。
【０４４６】
ただし、合成部４２０２では、“実行スタック中の社会的振る舞い記録テーブル１”４８００の“schedule強度”を変更する。具体的には、合成部４２０２では、社会的振る舞い＝“Orientation_Face_Indirectto”が記載された実行プランＩＤの“schedule強度”を“２”に変更する。
【０４４７】
図５０（ｂ）の“実行スタック中の社会的振る舞い記録テーブル２−２”５００２は、実行プランＩＤ（＝“１０８”）の“schedule強度”が“２”に変更された様子を示している。
【０４４８】
（ｃ）具体例３−１
例えば、ユーザ１５０が社会的振る舞いとして、“Attention_joint”を行ったとする。そして、“実行スタック中の社会的振る舞い記録テーブル１”４８００の実行プランＩＤ＝“１０８”の行までを実行した状態であったとする。この場合、当該社会的振る舞い（“Attention_joint”）は、まだ、実行スタックに登録されていない。このため、合成部４２０２では、当該社会的振る舞い（“Attention_joint”）を実行スタックに登録する。
【０４４９】
なお、実行スタックには、他の社会的振る舞い（または社会的振る舞い群）として、実行プランＩＤ＝“１０６”〜“１０８”が登録されている。このため、合成部４２０２では、既に登録されている他の社会的振る舞い（または社会的振る舞い群）の後に、当該社会的振る舞い（“Attention_joint”）を登録する。
【０４５０】
また、合成部４２０２は、当該社会的振る舞いを実行スタックに登録したことを、“実行スタック中の社会的振る舞い記録テーブル”に記録する。図５１は、評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第３の図である。
【０４５１】
図５１に示すように、“実行スタック中の社会的振る舞い記録テーブル２−３”５１００の実行プランＩＤ＝“１０９”には、社会的振る舞いとして、
・“Attention_joint,intention=5,attributescore=5,duration9”
が記録されている。なお、新たに社会的振る舞いが記録された場合、対応する“schedule強度”には、初期値（“１”）が記録される。
【０４５２】
（ｄ）具体例３−２
例えば、ユーザ１５０が社会的振る舞いとして、“Attention_joint”を行ったとする。具体例３−１で説明したとおり、“実行スタック中の社会的振る舞い記録テーブル１”４８００によれば、当該社会的振る舞い（“Attention_joint”）は、まだ、実行スタックに登録されていない。このため、合成部４２０２では、当該社会的振る舞い（“Attention_joint”）を実行スタックに登録する。
【０４５３】
このとき、合成部４２０２は、“社会的振る舞い値算出記録テーブル”１８００を参照し、当該社会的振る舞いを実行した際のｄｕｒａｔｉｏｎの長さ（記録開始時刻から記録終了時刻までの時間）や強度等の社会的振る舞いの属性を示す値を算出する。
【０４５４】
続いて、合成部４２０２は、算出したｄｕｒａｔｉｏｎの長さ及び当該社会的振る舞いの接近・回避傾向に基づいて、“社会的振る舞い及び社会的振る舞い群の接近及び回避傾向評価値定義データテーブル”４５００を参照し、“接近・回避傾向評価値”を出力する。
【０４５５】
ユーザ１５０が行った社会的振る舞い（“Attention_joint”）は、接近傾向の社会的振る舞いであり、３秒以上のｄｕｒａｔｉｏｎであるため、合成部４２０２は、接近傾向評価値＝“４”を得る。
【０４５６】
合成部４２０２は、ユーザ１５０が行った社会的振る舞い（“Attention_joint”）を実行スタックに登録するにあたり、実行スタックへの初期の登録状態から、大きく接近・回避傾向を変えてしまうことを避ける。このため、合成部４２０２は、当該社会的振る舞いと同程度の逆傾向の社会的振る舞いも合わせて実行スタックに登録する。社会的振る舞い＝“Attention_joint”の場合、接近傾向評価値＝“４”であることから、合成部４２０２では、回避傾向評価値＝“４”の社会的振る舞いを合わせて実行スタックに登録する。
【０４５７】
具体的には、合成部４２０２は、逆傾向の社会的振る舞い（“Lean_Upperbody_Backward”,duration=3）を実行スタックに登録する。同程度の逆傾向の社会的振る舞いは、ここでは、同じ接近・回避傾向評価値をもつ、社会的振る舞いもしくは社会的振る舞い群から選択する。図４５の接近・回避傾向評価値が“４”であるものの中から、ここでは、Avoiding_*if（duration>=3）の条件に合致する社会的振る舞いを探索した。このように実行スタックへ登録する、条件に合致する逆傾向の社会的振る舞いもしくは社会的振る舞い群の選択は、過去の社会的振る舞い値算出記録テーブルを参照して決定するものでもよいし、デフォルト値が決まっているものでもよい。
【０４５８】
また、合成部４２０２は、ユーザ１５０が行った社会的振る舞いと、当該社会的振る舞いと同程度の逆傾向の社会的振る舞いとを実行スタックに登録したことを、“実行スタック中の社会的振る舞い記録テーブル”に記録する。図５２は、評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第４の図である。
【０４５９】
図５２に示すように、“実行スタック中の社会的振る舞い記録テーブル２−４”５２００には、実行プランＩＤ＝“１０９”として、ユーザ１５０が行った社会的振る舞い（“Attention_joint”）が記録されている。
【０４６０】
更に、実行プランＩＤ＝“１０９”として、逆傾向の社会的振る舞い（“Lean_Upperbody_Backward,duration=3”）が記録されている。なお、新たに社会的振る舞いが記録された場合、対応する“schedule強度”には、初期値（“１”）が記録される。
【０４６１】
（ｅ）具体例４−１
例えば、ユーザ１５０が社会的振る舞いとして、“Attention_joint”を行ったとする。“実行スタック中の社会的振る舞い記録テーブル１”４８００の実行プランＩＤ＝“１０６”の行までを実行した状態であるとともに、当該社会的振る舞いは、まだ、実行スタックに登録されていない。このため、合成部４２０２では、当該社会的振る舞い（“Attention_joint”）を実行スタックに登録する。このとき、合成部４２０２は、既に実行スタックに登録されている社会的振る舞い（または社会的振る舞い群）の中から実行前の社会的振る舞い（または社会的振る舞い群）を削除したうえで登録する。
【０４６２】
具体的には、合成部４２０２は、“実行スタック中の社会的振る舞い記録テーブル１”４８００を参照し、“社会的振る舞い・社会的振る舞い群の実行スタック”に記録されている未実行の社会的振る舞い及び社会的振る舞い群を識別する。そして、合成部４２０２は、識別した未実行の社会的振る舞い及び社会的振る舞い群を、実行スタックから削除する。具体的には、実行プランＩＤ＝“１０７”、“１０８”に対応する社会的振る舞い（または社会的振る舞い群）を実行スタックから削除する。
【０４６３】
続いて、合成部４２０２は、“Attention_joint,intention=5,attributescore=5,duration9”を実行スタックに登録する。
【０４６４】
また、合成部４２０２は、既に実行スタックに登録されている社会的振る舞いを削除したこと、及び、新たにユーザ１５０が行った社会的振る舞いを実行スタックに登録したことを、“実行スタック中の社会的振る舞い記録テーブル”に記録する。
【０４６５】
図５３は、評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第５の図である。
【０４６６】
図５３に示すように、“実行スタック中の社会的振る舞い記録テーブル２−５”５３００においては、実行済みの実行プランＩＤ＝“１０６”に続く実行プラン＝“１０７”、“１０８”が削除されている。そして、新たに、“実行プランＩＤ＝“１０７”として、ユーザ１５０が行った社会的振る舞い（Attention_joint,intention=5,attributescore=5,duration9）が記録されている。
【０４６７】
（ｆ）具体例４−２
上記具体例４−１では、既に実行スタックに登録されている未実行の社会的振る舞い（または社会的振る舞い群）を削除したうえで、新たに、ユーザ１５０が行った社会的振る舞いを実行スタックに登録した。これに対して、具体例４−２では、社会的振る舞い（または社会的振る舞い群）を削除したことの影響を最小化して、新たに当該社会的振る舞いを登録する第１の例について説明する。
【０４６８】
“実行スタック中の社会的振る舞い記録テーブル１”４８００に示すように、実行スタックには、実行プランＩＤ＝“１０７”、“１０８”に示す未実行の社会的振る舞い（または社会的振る舞い群）が登録されている。
【０４６９】
合成部４２０２は、実行プランＩＤ＝“１０７”、“１０８”に示す未実行の社会的振る舞い（または社会的振る舞い群）を削除する。続いて、合成部４２０２は、“Attention_joint,intention=5,attributescore=5,duration9”を実行スタックに登録する。
【０４７０】
更に、合成部４２０２は、既に実行スタックに登録されている社会的振る舞いを削除したこと、及び、新たにユーザ１５０が行った社会的振る舞いを実行スタックに登録したことを、“実行スタック中の社会的振る舞い記録テーブル”に記録する。ここまでは、上記具体例４−１と同じであり、この時点では、“実行スタック中の社会的振る舞い記録テーブル”は、図５３に示す“実行スタック中の社会的振る舞い記録テーブル２−５”５３００と同じである。
【０４７１】
ここで、合成部４２０２は、社会的振る舞い（または社会的振る舞い群）を削除したことの影響を最小化するために、社会的振る舞い（または社会的振る舞い群）を追加登録する。
【０４７２】
具体的には、合成部４２０２は、まず、この時点での“実行中のリアクティブな社会的振る舞い群”を参照する（ここでは、“実行中のリアクティブな社会的振る舞い群”が存在するケースを説明する）。なお、この時点では、“実行中のリアクティブな社会的振る舞い群”には、“Approaching_seqStandard”が記録されている。
【０４７３】
続いて、合成部４２０２は、“実行中のリアクティブな社会的振る舞い群”に記録されている“Approaching_seqStandard”に含まれる構成要素を確認する。また、合成部４２０２は、確認した構成要素と、この時点で“社会的振る舞い・社会的振る舞い群の実行スタック”に記録されている、社会的振る舞い（または社会的振る舞い群）とを比較する。
【０４７４】
比較結果に基づいて、合成部４２０２は、“Approaching_seqStandard”の構成要素が、“社会的振る舞い・社会的振る舞い群の実行スタック”に記録されている、社会的振る舞い（または社会的振る舞い群）を含むかを判定する。
【０４７５】
この時点では、“社会的振る舞い・社会的振る舞い群の実行スタック”には、社会的振る舞いとして
・“Gesture_Positivemeaninggestureto,type=nod”
・“Attention_joint,intention=5,attributescore=5,duration9”、
が記録されている。そして、この２つの社会的振る舞いのシーケンスは、“Approaching_seqStandard”には含まれない。
【０４７６】
このため、合成部４２０２は、“社会的振る舞い・社会的振る舞い群の実行スタック”に記録されている、すべての社会的振る舞いもしくは社会的振る舞い群が、“Approaching_seqStandard”の構成要素として含まれていないと判定する。この場合、合成部４２０２は、“対話戦略ごとのリアクティブな社会的振る舞い定義データテーブル”４３００を参照する。
【０４７７】
そして、合成部４２０２は、現在の対話戦略に対応付けて“推奨される社会的振る舞い及び社会的振る舞い群”として登録された社会的振る舞い（または社会的振る舞い群）を対象に、上記比較と同様の比較を行う。ここで、“社会的振る舞い・社会的振る舞い群の実行スタック”に記録されている、全ての社会的振る舞いもしくは社会的振る舞い群が、“推奨される社会的振る舞い及び社会的振る舞い群”の構成要素として含まれているとする。この場合、合成部４２０２は、“推奨される社会的振る舞い及び社会的振る舞い群”の構成要素のうち、実行スタックに含まれていない社会的振る舞い及び社会的振る舞い群を実行スタックに追加登録する。
【０４７８】
一方、合成部４２０２が、“Approaching_seqStandard”に含まれる構成要素が、“社会的振る舞い・社会的振る舞い群の実行スタック”に記録されている、社会的振る舞い（または社会的振る舞い群）を含んでいると判定したとする。
【０４７９】
この場合、合成部４２０２は、“Approaching_seqStandard”に含まれる構成要素であって、既に含んでいると判定した構成要素以外の構成要素を、実行スタックに登録する。具体的には、
・社会的振る舞い群（“Avoiding_seqKeepaway”）、
・その構成要素（“Orientation_Face_Indirectto”、“Orientation_Upperbody_Indirectto”）、
を追加登録する。
【０４８０】
続いて、合成部４２０２は、社会的振る舞いの削除、ユーザ１５０が行った社会的振る舞いの登録、社会的振る舞いの追加登録を、“実行スタック中の社会的振る舞い記録テーブル”に記録する。
【０４８１】
図５４は、評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第６の図である。
【０４８２】
図５４に示すように、“実行スタック中の社会的振る舞い記録テーブル２−６”５４００には、実行済みの実行プランＩＤ＝“１０６”に続く実行プラン＝“１０７”、“１０８”が削除されている。そして、新たに、実行プランＩＤ＝“１０７”として、ユーザ１５０が行った社会的振る舞い（Attention_joint,intention=5,attributescore=5,duration9）が記録されている。
【０４８３】
更に、実行プランＩＤ＝“１０８”、“１０９”には、追加登録された社会的振る舞いとして、
・“Avoiding_seqKeepaway”、
・“Orientation_Face_Indirectto”、
・“Orientation_Upperbody_Indirectto”）、
が記録されている。
【０４８４】
（ｇ）具体例４−３
上記具体例４−１では、既に実行スタックに登録されている未実行の社会的振る舞い（または社会的振る舞い群）を削除したうえで、新たに、ユーザ１５０が行った社会的振る舞いを実行スタックに登録した。一方、具体例４−２では、実行中のリアクティブな社会的振る舞い群の構成要素、もしくは、推奨される社会的振る舞い及び社会的振る舞い群の構成要素に、以下のシーケンスが合致する場合について説明した。
・“Gesture_Positivemeaninggestureto,  type=nod”
・“Attention_joint,  intention=5,  attributescore=5,  duration9”
なお、上記シーケンスは、“社会的振る舞い・社会的振る舞い群の実行スタック”に登録されているシーケンスである。
【０４８５】
これに対して、具体例４−３では、いずれにも合致しないケースについて説明する。具体的には、当該“社会的振る舞い・社会的振る舞い群の実行スタック”に登録されている社会的振る舞いと同程度の評価値を有する逆方向の社会的振る舞いを対にして実行スタックへ登録するケースについて説明する。
【０４８６】
“実行スタック中の社会的振る舞い記録テーブル１”４８００の実行プランＩＤ＝“１０６”の行までを実行した状態で、実行スタックには、実行プランＩＤ＝“１０７”、“１０８”に示す未実行の社会的振る舞い（または社会的振る舞い群）が登録されている。
【０４８７】
合成部４２０２は、実行プランＩＤ＝“１０７”、“１０８”に示す未実行の社会的振る舞い（または社会的振る舞い群）を削除する。続いて、合成部４２０２は、“Attention_joint,intention=5,attributescore=5,duration9”を実行スタックに登録する。
【０４８８】
更に、合成部４２０２は、既に実行スタックに登録されている社会的振る舞いを削除したこと、及び、新たにユーザ１５０が行った社会的振る舞いを実行スタックに登録したことを、“実行スタック中の社会的振る舞い記録テーブル”に記録する。ここまでは、上記具体例４−１と同じであり、この時点では、“実行スタック中の社会的振る舞い記録テーブル”は、図５３に示す“実行スタック中の社会的振る舞い記録テーブル２−５”５３００と同じである。
【０４８９】
ここで、合成部４２０２は、社会的振る舞い（または社会的振る舞い群）を削除したことの影響を最小化するために、逆方向の社会的振る舞い（または社会的振る舞い群）を対にして追加登録する。
【０４９０】
具体的には、合成部４２０２は、まず、この時点での“社会的振る舞い・社会的振る舞い群の実行スタック”を参照する。なお、この時点では、“社会的振る舞い・社会的振る舞い群の実行スタック”には、社会的振る舞いとして、
・“Gesture_Positivemeaninggestureto,type=nod”、
・“Attention_joint,intention=5,attributescore=5,duration9”、
が記録されている。
【０４９１】
続いて、合成部４２０２は、“社会的振る舞い及び社会的振る舞い群の接近及び回避傾向評価値定義データテーブル”４５００を参照する。そして、合成部４２０２は、この時点で“社会的振る舞い・社会的振る舞い群の実行スタック”に記録されている社会的振る舞い（または社会的振る舞い群）と同程度の評価値を有し、逆方向の社会的振る舞い（または社会的振る舞い群）を抽出する。
【０４９２】
具体的には、合成部４２０２は、社会的振る舞い＝“Gesture_Positivemeaninggestureto,type=nod”と同程度の評価値を有し、逆方向の社会的振る舞いを抽出する。これにより、合成部４２０２は、“Lean_Upperbody_Backward,intention=2”を抽出する。
【０４９３】
また、合成部４２０２は、社会的振る舞い＝“Attention_joint,intention=5,attributescore=5,duration9”  と同程度の評価値を有し、逆方向の社会的振る舞いを抽出する。これにより、合成部４２０２は、“Avoiding_seqKeepaway”を抽出する。
【０４９４】
続いて、合成部４２０２は、社会的振る舞いの削除、ユーザ１５０が行った社会的振る舞いの登録、社会的振る舞いの追加登録を、“実行スタック中の社会的振る舞い記録テーブル”に記録する。
【０４９５】
図５５は、評価情報ＤＢに記録された、実行スタック中の社会的振る舞い記録テーブルの一例を示す第７の図である。
【０４９６】
図５５に示すように、“実行スタック中の社会的振る舞い記録テーブル２−７”５５００には、実行済みの実行プランＩＤ＝“１０６”に続く実行プラン＝“１０７”、“１０８”が削除されている。そして、新たに、実行プランＩＤ＝“１０７”として、ユーザ１５０が行った社会的振る舞い（Attention_joint,intention=5,attributescore=5,duration9）が記録されている。
【０４９７】
また、実行プランＩＤ＝“１０８”には、追加登録された社会的振る舞い（“Lean_Upperbody_Backward,intention=2”）が記録されている。更に、実行プランＩＤ＝“１０９”、“１１０”には、追加登録された社会的振る舞いとして、
・“Avoiding_seqKeepaway”、
・“Orientation_Face_Indirectto”、
“Orientation_Upperbody_Indirectto”、
が記録されている。
【０４９８】
（３）実行スタックに基づく提示制御処理（ステップＳ４６０３）の詳細
図５６は、実行スタックに基づく提示制御処理の詳細を示すフローチャートである。ステップＳ５６０１において、制御部４２０３は、実行スタックに登録されている社会的振る舞いを、実行プランＩＤの順に実行する。また、制御部４２０３は、実行スタックに登録されている社会的振る舞いに基づくアバタの画像を順次生成し、情報表示処理部１１２に送信する。更に、制御部４２０３は、情報表示処理部１１２に対して、仮想空間の画像に組み込むアバタの画像を変更するよう指示する。
【０４９９】
これにより、情報表示処理部１１２では、ユーザ１５０の実際の振る舞いをセンシングすることで得られたセンサデータに基づいて生成されたアバタの画像を組み込むことができる。
【０５００】
ステップＳ５６０２において、制御部４２０３は、ユーザ１４０に提示したリアクティブな社会的振る舞いを、評価情報ＤＢ１１９の社会的振る舞い制御ログテーブルに記録する。
【０５０１】
図５７は、評価情報ＤＢに記録された、社会的振る舞い制御ログテーブルの一例を示す図である。図５７に示すように、“社会的振る舞い制御ログテーブル”５７００には、情報の項目として、“振る舞いアバタＩＤ”と“被振る舞いアバタＩＤ”とが含まれる。これらの情報の項目には、それぞれ、リアクティブな社会的振る舞いを行ったユーザのアバタＩＤと、リアクティブな社会的振る舞いを受けたユーザのアバタＩＤとが記録される。
【０５０２】
また、“社会的振る舞い制御ログテーブル”５７００には、情報の項目として、“実行スタックから実行された社会的振る舞いの実行プランＩＤ”が含まれる。当該情報の項目には、実行スタックに登録され、リアクティブな社会的振る舞いとして実行された社会的振る舞いの実行プランＩＤが記録される。
【０５０３】
以上の説明から明らかなように、第４の実施形態における画像生成装置１１０は、対話戦略ごとのリアクティブな社会的振る舞いを、ユーザが実際に行った社会的振る舞いに基づいて変更する。これにより、第４の実施形態における画像生成装置１１０によれば、ユーザの実際の社会的振る舞いに則したリアクティブな社会的振る舞いを、対話相手に提示することが可能となる。
【０５０４】
［その他の実施形態］
上記第１乃至第４の実施形態の画像生成システム１００では、画像生成装置１１０が基本機能部を有するものとして説明した。つまり、画像生成装置１１０が、クライアント側システム１２０、１３０より受信したセンサデータに基づいて、ユーザ１４０、１５０のアバタの画像を生成し、仮想空間用情報をクライアント側システム１２０、１３０にするものとして説明した。
【０５０５】
しかしながら、画像生成システムのシステム構成はこれに限定されず、クライアント側システム１２０、１３０がそれぞれ基本機能部を有し、仮想空間用情報を生成するようにしてもよい。この場合、クライアント側システム１２０は、ユーザ１４０のアバタの画像のコピーを、クライアント側システム１３０に送信し、クライアント側システム１３０は、生成した仮想空間用情報に、ユーザ１４０のアバタの画像のコピーを組み込む。
【０５０６】
同様に、クライアント側システム１３０は、ユーザ１５０のアバタの画像のコピーを、クライアント側システム１２０に送信し、クライアント側システム１２０は、生成した仮想空間用情報に、ユーザ１５０のアバタの画像のコピーを組み込む。
【０５０７】
かかるシステム構成のもとでは、リアクティブ処理部１１５も、クライアント側システム１２０、１３０それぞれに配されることになる。また、クライアント側システム１２０に配されたリアクティブ処理部１１５により生成された、ユーザ１４０によるユーザ１５０に対する対話戦略決定記録テーブルは、事前にクライアント側システム１３０に送信される。これにより、クライアント側システム１３０では、ユーザ１４０によるリアクティブな社会的振る舞いを、ユーザ１５０に提示することができる。
【０５０８】
同様に、クライアント側システム１３０に配されたリアクティブ処理部１１５により生成された、ユーザ１５０によるユーザ１４０に対する対話戦略決定記録テーブルは、クライアント側システム１２０に送信される。これにより、クライアント側システム１２０では、ユーザ１５０によるリアクティブな社会的振る舞いを、画像生成装置１１０に問い合わせることなくユーザ１４０に提示することができる。
【０５０９】
なお、開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
アバタを介してコミュニケーションを行うユーザのうち、第１のユーザが第２のユーザに対して社会的振る舞いを行った場合に、該第２のユーザが該第１のユーザに対して行う社会的振る舞いの、所定の時間区間における傾向を特定し、
前記第１のユーザが前記第２のユーザに対して社会的振る舞いを行った場合、特定した前記傾向に基づいて選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御する、
処理をコンピュータに実行させる画像生成プログラム。
（付記２）
前記第２のユーザが前記第１のユーザに対して行う社会的振る舞いの、前記所定の時間区間における傾向が、接近行動傾向、回避行動傾向、中間行動傾向のいずれに該当するかを、前記所定の時間区間において、前記第２のユーザが前記第１のユーザに対して行う、接近行動傾向の社会的振る舞いの回数または時間、及び、回避行動傾向の社会的振る舞いの回数または時間に基づいて特定することを特徴とする付記１に記載の画像生成プログラム。
（付記３）
前記第２のユーザが前記第１のユーザに対して協調的な行動をとることが可能か否かを判定した判定結果と、特定した前記傾向と、に基づいて、前記第１のユーザが前記第２のユーザに対して行った社会的振る舞いを、前記第２のユーザが認識する可能性を判定し、
判定した可能性に基づいて選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御することを特徴とする付記２に記載の画像生成プログラム。
（付記４）
前記第２のユーザが前記第１のユーザに対して開示した情報量である情報開示量に基づいて、前記第２のユーザが前記第１のユーザに対して見なしている関係性レベルを判定し、
前記第２のユーザが前記第１のユーザから開示された情報を示す被情報開示量に基づいて、前記第１のユーザが前記第２のユーザに対して見なしていると推定した被関係性レベルを判定し、
前記第１のユーザが前記第２のユーザに対して行った社会的振る舞いを、前記第２のユーザが認識する可能性があると判定した場合に、前記関係性レベルと前記被関係性レベルとに基づいて選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御することを特徴とする付記３に記載の画像生成プログラム。
（付記５）
前記第２のユーザが前記第１のユーザに対して過去に行った社会的振る舞いの中から選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御することを特徴とする付記４に記載の画像生成プログラム。
（付記６）
前記第２のユーザが前記第１のユーザに対して過去に行った社会的振る舞いの中から、特定した前記傾向に基づいて選択した社会的振る舞い以外の社会的振る舞いを選択し、特定した前記傾向に基づいて選択した社会的振る舞いに合成し、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御することを特徴とする付記５に記載の画像生成プログラム。
（付記７）
アバタを介してコミュニケーションを行うユーザのうち、第１のユーザが第２のユーザに対して社会的振る舞いを行った場合に、該第２のユーザが該第１のユーザに対して行う社会的振る舞いの、所定の時間区間における傾向を特定する特定部と、
前記第１のユーザが前記第２のユーザに対して社会的振る舞いを行った場合、特定した前記傾向に基づいて選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御する制御部と
を有することを特徴とする画像生成装置。
（付記８）
アバタを介してコミュニケーションを行うユーザのうち、第１のユーザが第２のユーザに対して社会的振る舞いを行った場合に、該第２のユーザが該第１のユーザに対して行う社会的振る舞いの、所定の時間区間における傾向を特定し、
前記第１のユーザが前記第２のユーザに対して社会的振る舞いを行った場合、特定した前記傾向に基づいて選択した社会的振る舞いを、前記第２のユーザのアバタを介して前記第１のユーザに対して提示するよう制御する、
処理をコンピュータが実行する画像生成方法。
【０５１０】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０５１１】
１００              ：画像生成システム
１１０              ：画像生成装置
１１５              ：リアクティブ処理部
１１６ａ            ：コンテンツ用ＤＢ
１１６ｂ            ：センサデータ用ＤＢ
１１７              ：ログ用ＤＢ
１１８              ：定義データ用ＤＢ
１１９              ：評価情報ＤＢ
１２０、１３０      ：クライアント側システム
１２１、１３１      ：情報処理装置
１２２、１３２      ：情報処理部
１２３、１３３      ：情報提示装置
１２４、１３４      ：情報収集装置（頭部姿勢センサ）
１２５、１３５      ：情報収集装置（深度センサ）
１２６、１３６      ：情報収集装置（筋電位センサ）
２２０、２３０      ：アバタの画像
８０１              ：社会的振る舞いログ記録部
８０２              ：社会的振る舞い値算出部
８０３              ：接近及び回避傾向特定部
８０４              ：対話戦略決定部
８０５              ：提示制御部
２０００            ：対話戦略決定部
２００１            ：行動傾向特定部
２００２            ：行動可能性判定部
２００３            ：許容性判定部
２００４            ：決定部
２８００            ：対話戦略決定部
２８０１            ：関係性レベル処理部
２８０２            ：被関係性レベル処理部
２８０３            ：関係性調整部
２８０４            ：決定部
４２００            ：提示制御部
４２０１            ：実行スタック登録部
４２０２            ：合成部
４２０３            ：制御部
【図１】
2019101869.tif 000003
【図２】
2019101869.tif 000004
【図３】
2019101869.tif 000005
【図４】
2019101869.tif 000006
【図５】
2019101869.tif 000007
【図６】
2019101869.tif 000008
【図７】
2019101869.tif 000009
【図８】
2019101869.tif 000010
【図９】
2019101869.tif 000011
【図１０】
2019101869.tif 000012
【図１１】
2019101869.tif 000013
【図１２】
2019101869.tif 000014
【図１３】
2019101869.tif 000015
【図１４】
2019101869.tif 000016
【図１５】
2019101869.tif 000017
【図１６】
2019101869.tif 000018
【図１７】
2019101869.tif 000019
【図１８】
2019101869.tif 000020
【図１９】
2019101869.tif 000021
【図２０】
2019101869.tif 000022
【図２１】
2019101869.tif 000023
【図２２】
2019101869.tif 000024
【図２３】
2019101869.tif 000025
【図２４】
2019101869.tif 000026
【図２５】
2019101869.tif 000027
【図２６】
2019101869.tif 000028
【図２７】
2019101869.tif 000029
【図２８】
2019101869.tif 000030
【図２９】
2019101869.tif 000031
【図３０】
2019101869.tif 000032
【図３１】
2019101869.tif 000033
【図３２】
2019101869.tif 000034
【図３３】
2019101869.tif 000035
【図３４】
2019101869.tif 000036
【図３５】
2019101869.tif 000037
【図３６】
2019101869.tif 000038
【図３７】
2019101869.tif 000039
【図３８】
2019101869.tif 000040
【図３９】
2019101869.tif 000041
【図４０】
2019101869.tif 000042
【図４１】
2019101869.tif 000043
【図４２】
2019101869.tif 000044
【図４３】
2019101869.tif 000045
【図４４】
2019101869.tif 000046
【図４５】
2019101869.tif 000047
【図４６】
2019101869.tif 000048
【図４７】
2019101869.tif 000049
【図４８】
2019101869.tif 000050
【図４９】
2019101869.tif 000051
【図５０】
2019101869.tif 000052
【図５１】
2019101869.tif 000053
【図５２】
2019101869.tif 000054
【図５３】
2019101869.tif 000055
【図５４】
2019101869.tif 000056
【図５５】
2019101869.tif 000057
【図５６】
2019101869.tif 000058
【図５７】
2019101869.tif 000059