(57)【特許請求の範囲】
【請求項１】
複数種類のキャラクターに対応する音素データベースと発話フレーズデータベースを記憶するエージェント記憶部と、
ユーザのクライアント端末を介して特定のキャラクターを選択する選択信号を受信すると共に、当該特定のキャラクターの前記発話フレーズデータベースに応じた発話フレーズを送信する通信部と、
前記通信部を介して受信した前記ユーザのメッセージに基づいて、前記特定のキャラクターに対応する前記音素データベースを用いて前記特定のキャラクターの音声に変換した変換メッセージを生成し；
さらに前記ユーザのメッセージに対応する前記特定のキャラクターの発話フレーズを、前記発話フレーズデータベースを用いて生成し；
前記生成した変換メッセージおよび発話フレーズを前記クライアント端末に返送するよう制御する制御部と、
を備える、情報処理システム。
【請求項２】
前記制御部は、前記通信部を介して受信した前記ユーザのコンテキストと、前記発話フレーズデータベースに基づいて、前記ユーザのメッセージに対応する発話フレーズを生成する、請求項１に記載の情報処理システム。
【請求項３】
前記ユーザのコンテキストは、前記ユーザの位置、顔認識、加速度情報、または生体センサ情報の少なくともいずれかである、請求項２に記載の情報処理システム。
【請求項４】
前記ユーザのメッセージは、ユーザの発話音声または当該発話音声をテキスト化したものである、請求項２または３に記載の情報処理システム。
【請求項５】
前記情報処理システムは、前記ユーザがキャラクターとして参加可能な複数のシナリオを記憶するシナリオ記憶部をさらに備え、
前記制御部は；
前記通信部を介して受信した前記ユーザからのシナリオ選択信号に応じて、前記シナリオ記憶部に記憶されるシナリオを選択し；
前記通信部を介して受信した前記ユーザのコンテキストが、前記選択したシナリオに記述されているイベント発生条件に一致すると、所定のイベントの発生を前記ユーザに通知するよう制御する、請求項１〜４のいずれか１項に記載の情報処理システム。
【請求項６】
前記所定のイベント発生時に前記ユーザに通知される内容には、特定のアクションを示す情報が含まれ、
前記制御部は、前記通信部を介して新たに受信した前記ユーザのコンテキストに基づいて、前記特定のアクションが実行された否かを判定し、実行されたと判定すると、イベントクリアを示す通知を前記ユーザに送信するよう制御する、請求項５に記載の情報処理システム。
【請求項７】
前記イベント発生条件の判断に用いられる前記ユーザのコンテキストは、前記ユーザの位置、発話、加速度情報、または生体センサ情報の少なくともいずれかである、請求項５または６に記載の情報処理システム。
【請求項８】
前記制御部は、前記選択されたシナリオに参加している各ユーザのクライアント端末の位置を示す各位置情報を前記通信部により受信し、前記ユーザの周辺に同一の前記シナリオに参加する他のユーザが存在すると判断した場合、前記通信部を介して前記ユーザにイベント発生の通知を行うよう制御する、請求項５〜７のいずれか１項に記載の情報処理システム。
【請求項９】
前記制御部は、前記通信部を介して受信した前記クライアント端末の撮像部により撮像された撮像画像に人物の顔を認識すると、当該顔に重畳表示するための前記他のユーザのキャラクターの画像を前記クライアント端末に送信するよう制御する、請求項８に記載の情報処理システム。
【請求項１０】
前記制御部は、前記通信部を介して受信した前記クライアント端末の収音部により収音された音声から他のユーザの発話音声を認識すると、当該発話音声を前記他のユーザのキャラクターの音声に変換した変換メッセージと、前記発話フレーズデータベースに基づく対応するフレーズを生成し、前記クライアント端末に送信するよう制御する、請求項８または９に記載の情報処理システム。
【請求項１１】
プロセッサが、
複数種類のキャラクターに対応する音素データベースと発話フレーズデータベースをエージェント記憶部に記憶することと、
ユーザのクライアント端末を介して特定のキャラクターを選択する選択信号を受信すると共に、当該特定のキャラクターの前記発話フレーズデータベースに応じた発話フレーズを通信部により送信することと、
前記通信部を介して受信した前記ユーザのメッセージに基づいて、前記特定のキャラクターに対応する前記音素データベースを用いて前記特定のキャラクターの音声に変換した変換メッセージを生成し；
さらに前記ユーザのメッセージに対応する前記特定のキャラクターの発話フレーズを、前記発話フレーズデータベースを用いて生成し；
前記生成した変換メッセージおよび発話フレーズを前記クライアント端末に返送するよう制御部により制御することと、
を含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理システムおよび情報処理方法に関する。
【背景技術】
【０００２】
近年、通信技術の発達により、ネットワークを介したメッセージのやり取りが頻繁に行われている。ユーザは、スマートフォンや携帯電話端末、タブレット端末等の情報処理端末を用いて、他端末から送信されたメッセージを確認したり、メッセージを送信したりすることができる。【０００３】
また、情報処理端末において、ユーザのメッセージに対して自動で応答を行うエージェントシステムが提案されている。このようなシステムに関し、例えば下記特許文献１には、服装、髪型、持ち物、性格といったエージェント作成用データをユーザが好きに組み合わせてエージェントを作成することができるエージェント作成装置が記載されている。【０００４】
また、下記特許文献２には、ユーザ情報からユーザの趣味・嗜好を含めた文化的背景を解釈し、その文化的背景に対応する動作をエージェントに行わせる装置が記載されている。また、下記特許文献３には、音声インタフェースエージェントにおいて、所定の感情を発生させる状況に特有に現れる予測不可能な付帯条件を学習し、学習された付帯条件を満たす新たな状況下で該所定の感情を想起させることが可能な感情生成装置が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１８６５８９号公報
【特許文献２】特開２００３−１０６８４６号公報
【特許文献３】特開平１１−２６５２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、エージェントのキャラクターを様々設定出来ても、エージェントはあくまでもユーザの対話相手として存在するものであって、ユーザ自身が好きなエージェントのキャラクターになりきるといった体験を得ることは出来なかった。【０００７】
そこで、本開示では、エージェントを通してエージェントのキャラクターをユーザ自身が体験できるようにすることでエージェントシステムの娯楽性をさらに高めることが可能な情報処理システムおよび情報処理方法を提案する。
【課題を解決するための手段】
【０００８】
本開示によれば、複数種類のキャラクターに対応する音素データベースと発話フレーズデータベースを記憶するエージェント記憶部と、ユーザのクライアント端末を介して特定のキャラクターを選択する選択信号を受信すると共に、当該特定のキャラクターの前記発話フレーズデータベースに応じた発話フレーズを送信する通信部と、前記通信部を介して受信した前記ユーザのメッセージに基づいて、前記特定のキャラクターに対応する前記音素データベースを用いて前記特定のキャラクターの音声に変換した変換メッセージを生成し、さらに前記ユーザのメッセージに対応する前記特定のキャラクターの発話フレーズを、前記発話フレーズデータベースを用いて生成し、前記生成した変換メッセージおよび発話フレーズを前記クライアント端末に返送するよう制御する制御部と、を備える、情報処理システムを提案する。【０００９】
本開示によれば、プロセッサが、複数種類のキャラクターに対応する音素データベースと発話フレーズデータベースをエージェント記憶部に記憶することと、ユーザのクライアント端末を介して特定のキャラクターを選択する選択信号を受信すると共に、当該特定のキャラクターの前記発話フレーズデータベースに応じた発話フレーズを通信部により送信することと、前記通信部を介して受信した前記ユーザのメッセージに基づいて、前記特定のキャラクターに対応する前記音素データベースを用いて前記特定のキャラクターの音声に変換した変換メッセージを生成し、さらに前記ユーザのメッセージに対応する前記特定のキャラクターの発話フレーズを、前記発話フレーズデータベースを用いて生成し、前記生成した変換メッセージおよび発話フレーズを前記クライアント端末に返送するよう制御部により制御することと、を含む、情報処理方法を提案する。
【発明の効果】
【００１０】
以上説明したように本開示によれば、エージェントを通してエージェントのキャラクターをユーザ自身が体験できるようにすることでエージェントシステムの娯楽性をさらに高めることが可能となる。【００１１】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１２】
【図１】本開示の一実施形態による情報処理システムの概要について説明する図である。
【図２】本実施形態による通信制御システムの全体構成を示す図である。
【図３】本実施形態による音声エージェントサーバの構成の一例を示すブロック図である。
【図４】本実施形態による対話処理部の構成例を示す図である。
【図５】本実施形態による会話ＤＢの生成処理を示すフローチャートである。
【図６】本実施形態による音素ＤＢの生成処理を示すフローチャートである。
【図７】本実施形態による対話制御処理を示すフローチャートである。
【図８】本実施形態による会話ＤＢのデータ構成例について説明する図である。
【図９】本実施形態による会話ＤＢの更新処理を示すフローチャートである。
【図１０】本実施形態による個人化レイヤーから共通レイヤーへの会話データ移行処理を示すフローチャートである。
【図１１】本実施形態による基本対話用会話ＤＢへの会話データの移行について説明する図である。
【図１２】本実施形態による基本対話用ＤＢへの会話データ移行処理を示すフローチャートである。
【図１３】本実施形態による広告ＤＢに登録されている広告情報の一例を示す図である。
【図１４】本実施形態による広告内容の挿入処理を示すフローチャートである。
【図１５】本実施形態による対話処理部の構成例を示す図である。
【図１６】本実施形態によるユーザ管理部の構成例を示す図である。
【図１７】本実施形態による自動発話制御部の構成例を示す図である。
【図１８】本実施形態によるシナリオ管理部の構成例を示す図である。
【図１９】本実施形態によるエージェントアプリケーションの購入処理を示すシーケンス図である。
【図２０】本実施形態によるエージェントアプリケーションの購入時における表示画面例を示す図である。
【図２１】本実施形態によるアカウント登録画面例を示す図である。
【図２２】本実施形態によるメイン画面例を示す図である。
【図２３】本実施形態による音声変換処理について説明する図である。
【図２４】本実施形態による音声変換処理を示すシーケンス図である。
【図２５】本実施形態によるＡＲ変身による成りきりについて説明する図である。
【図２６Ａ】本実施形態による場所に応じた自動発話処理を示すシーケンス図である。
【図２６Ｂ】本実施形態による人物属性や表情に応じた自動発話処理を示すシーケンス図である。
【図２６Ｃ】本実施形態によるユーザ行動に応じた自動発話処理を示すシーケンス図である。
【図２６Ｄ】本実施形態による心理状態に応じた自動発話処理を示すシーケンス図である。
【図２７】本実施形態によるシナリオ取得処理を示すフローチャートである。
【図２８】本実施形態によるシナリオ購入までのクライアント端末における画面表示例を示す図である。
【図２９】本実施形態によるシナリオ購入までのクライアント端末における画面表示例を示す図である。
【図３０】本実施形態によるシナリオ参加登録処理を示すシーケンス図である。
【図３１】本実施形態によるシナリオ構成について説明する図である。
【図３２】本実施形態によるシナリオ参加画面の一例を示す図である。
【図３３】本実施形態によるエージェントAppがフォアグラウンドで起動中の場合におけるシナリオ開催開始通例例を示す図である。
【図３４】本実施形態によるエージェントAppが非起動の場合におけるシナリオ開催開始通例例を示す図である。
【図３５】本実施形態によるシナリオ実行処理を示すシーケンス図である。
【図３６】本実施形態によるイベント発生時における表示画面例を示す図である。
【図３７】本実施形態によるユーザの位置をトリガとしたイベントの実行処理を示すシーケンス図である。
【図３８】本実施形態による複数ユーザの位置をトリガとしたイベントの実行処理を示すシーケンス図である。
【図３９Ａ】本実施形態によるカメラをかざす行動をユーザに促す表示画面例を示す図である。
【図３９Ｂ】本実施形態による他のキャラクターのオーバーレイ表示について説明する図である。
【図４０】本実施形態による各センサからの出力結果をトリガとしたイベントの実行処理を示すシーケンス図である。
【図４１】本実施形態によるシナリオクリアの判断処理を示すシーケンス図である。
【図４２】本実施形態によるシナリオクリア時の通知画面例を示す図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
また、説明は以下の順序で行うものとする。
１．本開示の一実施形態による情報処理システムの概要
２．構成
２−１．システム構成
２−２．サーバの構成
３．システム動作処理
３−１．会話データ登録処理
３−２．音素ＤＢ生成処理
３−３．対話制御処理
３−４．会話ＤＢ更新処理
３−５．広告挿入処理
４．音声出力制御処理
４−１．構成
４−２．動作処理
（４−２−１．エージェント購入処理）
（４−２−２．音声変換処理）
（４−２−３．自動発話処理）
（４−２−４．シナリオ取得処理）
（４−２−５．シナリオ実行処理）
５．まとめ
【００１５】
＜＜１．本開示の一実施形態による情報処理システムの概要＞＞
本開示の一実施形態による情報処理システムは、エージェントを通してエージェントのキャラクターをユーザ自身が体験できるようにすることでエージェントシステムの娯楽性をさらに高めることを可能とする。以下、図１を参照して本実施形態による情報処理システムの概要について説明する。
【００１６】
図１は、本開示の一実施形態による情報処理システムの概要について説明する図である。エージェントとの対話は、例えばユーザが所有するスマートフォン等のクライアント端末１を介して行われる。クライアント端末１は、マイクロホンおよびスピーカーを有し、ユーザとの音声による対話を可能とする。
【００１７】
ここで、上述したように、エージェントのキャラクターを様々設定出来ても、エージェントはあくまでもユーザの対話相手として存在するものであって、ユーザ自身が好きなエージェントのキャラクターになりきるといった体験を得ることは出来なかった。
【００１８】
そこで、本実施形態では、エージェントがユーザと音声による自動会話を行う他、エージェントを通してエージェントのキャラクターをユーザ自身が体験できるようにすることでエージェントシステムの娯楽性をさらに高めることを可能とする。
【００１９】
例えば、エージェントプログラムが起動している際、本実施形態による情報処理システムは、図１に示すように、ユーザが発話を行うと、その発話音声W1をエージェントキャラクター１０の音声W2に変換してユーザのイヤホン等から再生する（音声変換処理）。このように、ユーザが話した言葉がエージェントキャラクター１０（例えばヒーロー）の声で聞こえるため、ユーザはそのエージェントキャラクター１０になりきった体験が得られる。また、本実施形態による情報処理システムは、変換した音声W2に続けて、ユーザの発話音声W1に対応する所定のフレーズを同エージェントキャラクター１０の音声で続けて出力してもよい（図１に示す発話音声W3）（自動発話処理）。所定のフレーズとは、例えばユーザの発話音声W1に含まれるキーワード（またはフレーズ）に紐付けられて登録されているフレーズである。このようなフレーズを、ユーザの音声を変換した音声に続けて自動発話させることにより、そのキャラクターへのなりきり体験をより高めることができる。また、本実施形態による情報処理システムは、発話音声W1に含まれるキーワード（またはフレーズ）や、対応する所定のフレーズに応じた効果音を併せて再生してもよい。また、本実施形態による自動発話処理は、ユーザの発話音声に限らず、ユーザの行動や移動場所、表情、日時等に対応するフレーズや効果音を再生してもよい。
【００２０】
また、本実施形態による情報処理システムは、エージェントキャラクター１０にユーザ自身がなりきってシナリオに参加できるようにすることも可能である。例えばユーザが予め好きなエージェントとシナリオを購入すると、クライアント端末１に搭載された位置測位部（ＧＰＳなど）や各種センサ（加速度センサ、ジャイロセンサ、地磁気センサ、マイク、カメラ等）から検知された情報に基づくユーザの実世界の状況に応じてシナリオが展開される。具体的には、シナリオの進行に応じて各種イベントが開催され、ユーザはイベントに応じた行動は発話を行うことで、イベントを体験することができる。
【００２１】
また、本実施形態では、同シナリオに参加する他のエージェントキャラクターになりきった人物と出会うイベントを開催することも可能である。例えば、キャラクター同士が特定の時間、場所で出会うシーンを含むシナリオプログラムが実行されている際に、各キャラクターになりきった人物が特定の時間に特定の場所に移動すると、特別なイベントが発生する。具体的には、例えば情報処理システムは、各クライアント端末１において相手の発話音声を相手のエージェントキャラクターの音声に変換してイヤホン等から再生させることで、ユーザ同士がシナリオに登場するキャラクターとして会話を楽しむことができるようにしてもよい。また、本実施形態では、ユーザがクライアント端末１を相手にかざしてクライアント端末１のカメラで相手の姿が捉えられた際に、相手の姿に相手のエージェントキャラクターの画像を重畳表示させることで、聴覚的のみならず視覚的にも相手ユーザのエージェントキャラクターへの成りきりを直感的に提供することができる。
【００２２】
なお、本実施形態による情報処理システム（エージェントシステム）は、音声により応答を行う音声エージェントに限定されず、クライアント端末１においてテキストベースで応答を行うテキスト対応エージェントであってもよい。
【００２３】
以下、本実施形態による情報処理システムのシステム構成と、各装置の基本的な構成および動作処理について具体的に説明する。なお以降では、本実施形態による情報処理システムを通信制御システムと称して説明する。
【００２４】
＜＜２．構成＞＞
＜２−１．システム構成＞
続いて、上述した本実施形態による通信制御システムの全体構成について図２を参照して説明する。図２は、本実施形態による通信制御システムの全体構成を示す図である。
【００２５】
図２に示すように、本実施形態による通信制御システムは、クライアント端末１およびエージェントサーバ２を含む。
【００２６】
エージェントサーバ２は、ネットワーク３を介してクライアント端末１と接続し、データの送受信を行う。具体的には、エージェントサーバ２は、クライアント端末１で収音され、送信された発話音声に対する応答音声を生成し、クライアント端末１に送信する。エージェントサーバ２は、１以上のエージェントに対応する音素ＤＢ（データベース）を有し、特定のエージェントの音声で応答音声を生成することが可能である。ここで、エージェントとは、漫画、アニメ、ゲーム、ドラマ、映画等のキャラクターや、芸能人、著名人、歴史上の人物等であってもよいし、また、個人に特定せず、例えば世代別の平均的な人物であってもよい。また、エージェントは、動物や擬人化されたキャラクターであってもよい。また、エージェントは、ユーザ本人の性格を反映した人物や、ユーザの友人、家族、知人等の性格を反映した人物であってもよい。
【００２７】
また、エージェントサーバ２は、各エージェントの性格を反映した応答内容を生成することが可能である。エージェントサーバ２は、エージェントを介して、ユーザのスケジュール管理、メッセージの送受信、情報提供等、様々なサービスをユーザとの対話を通じて提供し得る。
【００２８】
なおクライアント端末１は、図２に示すようなスマートフォンに限定されず、例えば携帯電話端末、タブレット端末、ＰＣ（パーソナルコンピュータ）、ゲーム機、ウェアラブル端末（スマートアイグラス、スマートバンド、スマートウォッチ、スマートネック等）等であってもよい。また、クライアント端末１は、ロボットであってもよい。
【００２９】
以上、本実施形態による通信制御システムの概要について説明した。続いて、本実施形態による通信制御システムのエージェントサーバ２の構成について図３を参照して具体的に説明する。
【００３０】
＜２−２．エージェントサーバ２＞
図３は、本実施形態によるエージェントサーバ２の構成の一例を示すブロック図である。図３に示すように、エージェントサーバ２は、音声エージェントＩ／Ｆ（インタフェース）２０、対話処理部３０、音素記憶部４０、会話ＤＢ生成部５０、音素ＤＢ生成部６０、広告挿入処理部７０、広告ＤＢ７２、およびフィードバック取得処理部８０を有する。
【００３１】
音声エージェントＩ／Ｆ２０は、音声データの入出力部、音声認識部、および音声生成部として機能する。入出力部としては、ネットワーク３を介してクライアント端末１と送受信を行う通信部が想定される。音声エージェントＩ／Ｆ２０は、クライアント端末１からユーザの発話音声を受信し、音声認識によりテキスト化することが可能である。また、音声エージェントＩ／Ｆ２０は、対話処理部３０から出力されたエージェントの回答文データ（テキスト）を、当該エージェントに対応する音素データを用いて音声化し、生成したエージェントの応答音声をクライアント端末１に送信する。
【００３２】
対話処理部３０は、演算処理装置および制御装置として機能し、各種プログラムに従ってエージェントサーバ２内の動作全般を制御する。対話処理部３０は、例えばＣＰＵ（Central  Processing  Unit）、マイクロプロセッサ等の電子回路によって実現される。また、本実施形態による対話処理部３０は、基本対話処理部３１、キャラクターＡ対話処理部３２、人物Ｂ対話処理部３３、人物Ｃ対話処理部３４として機能する。
【００３３】
キャラクターＡ対話処理部３２、人物Ｂ対話処理部３３、人物Ｃ対話処理部３４は、エージェント毎に特化された対話を実現する。ここでは、エージェントの一例として「キャラクターＡ」「人物Ｂ」「人物Ｃ」を挙げているが、本実施形態は当然これに限定されず、さらに多数のエージェントに特化した対話を実現する各対話処理部を有していてもよい。基本対話処理部３１は、エージェント毎に特化されていない、汎用の対話を実現する。
【００３４】
ここで、基本対話処理部３１、キャラクターＡ対話処理部３２、人物Ｂ対話処理部３３、および人物Ｃ対話処理部３４に共通する基本構成について図４を参照して説明する。
【００３５】
図４は、本実施形態による対話処理部３００の構成例を示す図である。図４に示すように、対話処理部３００は、質問文検索部３１０、回答文生成部３２０、音素データ取得部３４０、および会話ＤＢ３３０を有する。会話ＤＢ３３０は、質問文データと回答文データが組になった会話データが保存されている。エージェントに特化した対話処理部では、かかる会話ＤＢ３３０にエージェントに特化した会話データが保存され、汎用の対話処理部では、かかる会話ＤＢ３３０にエージェントに特化しない汎用の会話データ（すなわち、基本会話データ）が保存されている。
【００３６】
質問文検索部３１０は、音声エージェントＩ／Ｆ２０から出力された、ユーザの質問音声（発話音声の一例）を認識してテキスト化した質問文と一致する質問文データを会話ＤＢ３３０から検索する。回答文生成部３２０は、質問文検索部３１０により検索した質問文データに対応付けて保存されている回答文データを会話ＤＢ３３０から抽出し、回答文データを生成する。音素データ取得部３４０は、回答文生成部３２０により生成された回答文を音声化するための音素データを、対応するエージェントの音素記憶部４０から取得する。例えば、キャラクターＡ対話処理部３２の場合、キャラクターＡ音素ＤＢ４２から、回答文データをキャラクターＡの音声で再生するための音素データを取得する。そして、対話処理部３００は、生成した回答文データおよび取得した音素データを音声エージェントＩ／Ｆ２０に出力する。
【００３７】
音素記憶部４０は、エージェント毎の音声を生成するための音素データベースを格納する。音素記憶部４０は、ＲＯＭ（Read  Only  Memory）およびＲＡＭ（Random  Access  Memory）により実現され得る。図３に示す例では、基本音素ＤＢ４１、キャラクターＡ音素ＤＢ４２、人物Ｂ音素ＤＢ４３、人物Ｃ音素ＤＢ４４を格納する。各音素ＤＢには、音素データとして、例えば音素片とその制御情報である韻律モデルが記憶されている。
【００３８】
会話ＤＢ生成部５０は、対話処理部３００の会話ＤＢ３３０を生成する機能を有する。例えば会話ＤＢ生成部５０は、想定される質問文データを収集し、各質問に対応する回答文データを収集した後に、質問文データと回答文データとを組にして保存する。そして、会話ＤＢ生成部５０は、所定数の会話データ（質問文データと回答文データとの組、例えば１００組）が集まったら、エージェントの会話データセットとして会話ＤＢ３３０に登録する。
【００３９】
音素ＤＢ生成部６０は、音素記憶部４０に格納されている音素ＤＢを生成する機能を有する。例えば音素ＤＢ生成部６０は、所定のテキストを読み上げた音声情報を解析して、音素片とその制御情報である韻律モデルに分解し、所定数以上の音声情報が収集できたら音素データとして音素ＤＢに登録する処理を行う。
【００４０】
広告挿入処理部７０は、エージェントの対話に広告情報を挿入する機能を有する。挿入する広告情報は、広告ＤＢ７２から抽出し得る。広告ＤＢ７２には、企業等の提供側（ベンダー、サプライヤー）から依頼された広告情報（例えばテキスト、画像、音声等の広告内容、広告主、広告期間、広告対象者等の情報）が登録されている。
【００４１】
フィードバック取得処理部８０は、エージェントの対話に、フィードバックを取得するための質問を挿入し、ユーザからフィードバックを得るための機能を有する。
【００４２】
以上、本実施形態によるエージェントサーバ２の構成について具体的に説明した。なお、本実施形態によるエージェントサーバ２の構成は、図３に示す例に限定されない。例えば、エージェントサーバ２が有する各構成は、各々ネットワーク上の他サーバで構成されていてもよい。
【００４３】
続いて、本実施形態による通信制御システムの基本的な動作処理について図５〜図１４を参照して説明する。
【００４４】
＜＜３．システム動作処理＞＞
＜３−１．会話データ登録処理＞
図５は、本実施形態による会話ＤＢ３３０の生成処理を示すフローチャートである。図５に示すように、まず、会話ＤＢ生成部５０は、想定される質問文を保存する（ステップＳ１０３）。
【００４５】
次に、会話ＤＢ生成部５０は、質問文に対応する（対の）回答文を保存する（ステップＳ１０６）。
【００４６】
次いで、会話ＤＢ生成部５０は、質問文と回答文のペア（会話データとも称す）が所定数集まったか否かを判断する（ステップＳ１０９）。
【００４７】
そして、質問文と会話文のペアが所定数集まった場合（ステップＳ１０９／Ｙｅｓ）、会話ＤＢ生成部５０は、質問文および回答文の多数のペアから成るデータセットを会話ＤＢ３３０に登録する（ステップＳ１１２）。質問文および回答文のペアの一例としては、例えば下記のようなものが想定される。
【００４８】
質問文および回答文のペア例
ペア１
質問文：おはよう。
回答文：今日の調子はどうですか？
ペア２
質問文：今日の天気は？
回答文：今日の天気は○○です。
【００４９】
このようなペアが、会話データとして会話ＤＢ３３０に登録され得る。
【００５０】
＜３−２．音素ＤＢ生成処理＞
図６は、本実施形態による音素ＤＢの生成処理を示すフローチャートである。図６に示すように、まず、音素ＤＢ生成部６０は、例文の表示を行う（ステップＳ１１３）。例文の表示は、例えば図示しない情報処理端末のディスプレイに、音素データ生成のために必要な例文を表示する。
【００５１】
次に、音素ＤＢ生成部６０は、例文を読み上げた音声を録音し（ステップＳ１１６）、録音音声を分析する（ステップＳ１１９）。例えば、エージェントの音声を担当する人物により読み上げられた音声情報が情報処理端末のマイクロホンにより収集され、音素ＤＢ生成部６０がこれを受信し、記憶し、さらに音声分析を行う。
【００５２】
次いで、音素ＤＢ生成部６０は、音声情報に基づいて、韻律モデルを生成する（ステップＳ１２２）。韻律モデルとは、音声の韻律的特徴（例えば音の高低、音の強弱、発話速度等）を示す韻律パラメータを抽出するものであって、個人毎に異なる。
【００５３】
次に、音素ＤＢ生成部６０は、音声情報に基づいて、音素片（音素データ）を生成する（ステップＳ１２５）。
【００５４】
次いで、音素ＤＢ生成部６０は、韻律モデルおよび音素片を保存する（ステップＳ１２８）。
【００５５】
続いて、音素ＤＢ生成部６０は、韻律モデルおよび音素片が所定数集まったか否かを判断する（ステップＳ１３１）。
【００５６】
そして、韻律モデルおよび音素片が所定数集まった場合（ステップＳ１３１／Ｙｅｓ）、音素ＤＢ生成部６０は、韻律モデルおよび音素片を、所定のエージェント用の音素データベースとして音素記憶部４０に登録する（ステップＳ１３４）。
【００５７】
＜３−３．対話制御処理＞
図７は、本実施形態による対話制御処理を示すフローチャートである。図７に示すように、まず、音声エージェントＩ／Ｆ２０は、ユーザの質問音声およびエージェントＩＤを取得したか否かを確認する（ステップＳ１４３）。エージェントＩＤは、キャラクターＡ、人物Ｂ、人物Ｃといった特定のエージェントを示す識別情報である。ユーザは、エージェント毎の音素データを購入することができ、例えば購入処理時に購入したエージェントのＩＤがクライアント端末１に保存される。
【００５８】
次に、ユーザの質問音声およびエージェントＩＤを取得すると（ステップＳ１４６／Ｙｅｓ）、音声エージェントＩ／Ｆ２０は、質問音声を音声認識し、テキスト化する（ステップＳ１４９）。音声エージェントＩ／Ｆ２０は、テキスト化した質問文を、エージェントＩＤで指定された特定エージェントの対話処理部に出力する。例えば「エージェントＩＤ：キャラクターＡ」の場合、音声エージェントＩ／Ｆ２０は、テキスト化した質問文をキャラクターＡ対話処理部３２に出力する。
【００５９】
次いで、対話処理部３０は、エージェントＩＤで指定された特定エージェントの会話ＤＢから、テキスト化した質問文と一致する質問文を検索する（ステップＳ１５２）。
【００６０】
次に、一致する質問があった場合（ステップＳ１５５／Ｙｅｓ）、キャラクターＡ対話処理部３２は、質問に対応する（対になって保存されている）回答文データを特定エージェントの会話ＤＢから取得する（ステップＳ１５８）。
【００６１】
一方、一致する質問がなかった場合（ステップＳ１５５／Ｎｏ）、基本対話処理部３１の会話ＤＢから、テキスト化した質問文と一致する質問文が検索される（ステップＳ１６１）。
【００６２】
一致する質問文があった場合（ステップＳ１６１／Ｙｅｓ）、基本対話処理部３１は、質問に対応する（対になって保存されている）回答文データを基本対話処理部３１の会話ＤＢから取得する（ステップＳ１６７）。
【００６３】
一方、一致する質問文がなかった場合（ステップＳ１６４／Ｎｏ）、基本対話処理部３１は、一致する質問文が無い場合の回答文データ（例えば、「質問が解りません」といった回答文）を取得する（ステップＳ１７０）。
【００６４】
次いで、キャラクターＡ対話処理部３２により、エージェントＩＤで指定された特定エージェントの音素ＤＢ（ここでは、キャラクターＡ音素ＤＢ４２）を参照し、回答文データの音声を生成するためのキャラクターＡの音素データが取得される（ステップＳ１７３）。
【００６５】
次に、取得された音素データと回答文データが音声エージェントＩ／Ｆ２０に出力される（ステップＳ１７６）。
【００６６】
そして、音声エージェントＩ／Ｆ２０は、回答文データ（テキスト）を音素データを用いて音声化（音声合成）し、クライアント端末１に送信する（ステップＳ１７９）。クライアント端末１では、キャラクターＡの音声で回答文が再生される。
【００６７】
＜３−４．会話ＤＢ更新処理＞
次に、各対話処理部３００の会話ＤＢ３３０の更新処理について説明する。本実施形態では、ユーザとの会話によって会話ＤＢ３３０を成長させることが可能である。
【００６８】
まず、会話ＤＢ３３０のデータ構成例について図８を参照して補足説明を行う。図８は、本実施形態による会話ＤＢ３３０のデータ構成例について説明する図である。図８に示すように、各会話ＤＢ３３０は、個人化レイヤー３３１と共通レイヤー３３２という２つのレイヤーを有する。例えばキャラクターＡ用会話ＤＢ３３０Ａの場合、共通レイヤー３３２Ａには、キャラクターＡの性格や特徴が反映された会話データが保持される。一方、個人化レイヤー３３１Ａには、ユーザとの会話により当該ユーザ向けにカスタマイズされた会話データが保持される。すなわち、キャラクターＡ音素ＤＢ４２およびキャラクターＡ対話処理部３２がセットでユーザに提供（販売）されるところ、あるユーザＸと、ユーザＹは、最初は同じキャラクターＡと対話を行う（共通レイヤー３３２Ａに保持されている会話データが使用される）が、対話を続けるにつれて、各ユーザ向けにカスタマイズされた会話データが、ユーザ毎の個人化レイヤー３３１Ａに蓄積される。これにより、ユーザＸ、ユーザＹそれぞれの好みに応じたキャラクターＡとの対話を提供できるようになる。
【００６９】
またエージェント「人物Ｂ」が、キャラクターＡのような特定の性格を有さない平均的な世代別の人物の場合も、会話データがユーザ向けにカスタマイズされ得る。すなわち、例えば「人物Ｂ」が『２０代の人物』の場合、共通レイヤー３３２Ｂには２０代の平均的な会話データが保持され、ユーザとの対話を続けることでカスタマイズされた会話データがユーザ毎の個人化レイヤー３３１Ｂに保持される。また、ユーザは、人物Ｂの音声として「男性」、「女性」、「高い声」、「低い声」といった好きな音素データを人物Ｂ音素ＤＢ４３から選択し、購入することも可能である。
【００７０】
このような会話ＤＢ３３０のカスタマイズを行う際の具体的な処理について、図９を参照して説明する。図９は、本実施形態による会話ＤＢ３３０の更新処理を示すフローチャートである。
【００７１】
図９に示すように、まず、音声エージェントＩ／Ｆ２０は、クライアント端末１からユーザの質問音声を取得（受信）し、これを音声認識によりテキスト化する（ステップＳ１８３）。テキスト化されたデータ（質問文データ）は、エージェントＩＤにより指定されている特定エージェントの対話処理部（ここでは、例えばキャラクターＡ対話処理部３２）に出力される。
【００７２】
次に、キャラクターＡ対話処理部３２は、質問文データが所定のコマンドであるか否かを判断する（ステップＳ１８６）。
【００７３】
次いで、所定のコマンドである場合（ステップＳ１８６／Ｙｅｓ）、キャラクターＡ対話処理部３２は、ユーザ指定の回答文データを、会話ＤＢ３３０Ａの個人化レイヤー３３１Ａに質問文データと対で登録する（ステップＳ１８９）。所定のコマンドとは、例えば「ＮＧ」、「設定」といった言葉であってもよい。例えば以下のような会話の流れにより、キャラクターＡの会話ＤＢをカスタマイズすることができる。
【００７４】
ユーザ：「おはよう」
キャラクターＡ：「おはよう」
ユーザ：「ＮＧ。元気で頑張ってと答えて」
キャラクターＡ：「元気で頑張って」
【００７５】
上記の会話の流れでは、『ＮＧ』が所定のコマンドであって、キャラクターＡ対話処理部３２は、ユーザから『ＮＧ』と発せられた後、ユーザ指定の回答文データ『元気で頑張って』を、質問文データ『おはよう』と対にして会話ＤＢ３３０Ａの個人化レイヤー３３１Ａに登録する。
【００７６】
一方、所定のコマンドでない場合（ステップＳ１８６／Ｎｏ）、キャラクターＡ対話処理部３２は、質問文データと対になって保持されている回答文データをキャラクターＡ用会話ＤＢ３３０Ａから検索する。問文データと対になって保持されている回答文データがキャラクターＡ用会話ＤＢ３３０Ａに保持されていない場合、すなわち、ユーザの質問が回答文の無い質問であった場合（ステップＳ１９２／Ｙｅｓ）、キャラクターＡ対話処理部３２は、ユーザ指定の回答文データを、質問文と対にして個人化レイヤー３３１Ａに登録する（ステップＳ１９５）。例えば以下のような会話の流れにより、キャラクターＡの会話ＤＢをカスタマイズすることができる。
【００７７】
ユーザ：「元気？」
キャラクターＡ：「質問がわかりません」（該当する回答が無い場合の回答データ例）
ユーザ：「『元気？』と聞いたら、『今日も元気だよ』と答えて」
キャラクターＡ：「今日も元気だよ」
【００７８】
上記会話の流れでは、『元気？』と対になって保持される回答文データが無いため、該当する回答が無い場合の回答データ例である『質問がわかりません』がキャラクターＡ対話処理部３２により取得され、対応するキャラクターＡの音素データと共に音声エージェントＩ／Ｆ２０に出力され、クライアント端末１で再生される。次いで、ユーザ指定の回答文『今日も元気だよ』が入力されると、キャラクターＡ対話処理部３２は、質問文データ『元気？』と対にして個人化レイヤー３３１Ａに登録する。
【００７９】
なお、回答文の有る質問であった場合（ステップＳ１９２／Ｎｏ）、キャラクターＡ対話処理部３２は、当該回答文データを取得し、対応するキャラクターＡの音素データと共に音声エージェントＩ／Ｆ２０に出力し、クライアント端末１で回答文がキャラクターＡの音声で再生される（ステップＳ１９８）。
【００８０】
次いで、個人化レイヤーから共通レイヤーへの会話データ移行について、図１０を参照して説明する。図１０は、本実施形態による個人化レイヤーから共通レイヤーへの会話データ移行処理を示すフローチャートである。ここでは、一例としてキャラクターＡ対話処理部３２の個人化レイヤー３３１Ａから共通レイヤー３３２Ａへの会話データ移行処理について説明する。
【００８１】
図１０に示すように、まず、キャラクターＡ対話処理部３２は、ユーザ毎の個人化レイヤー３３１Ａを定期的にサーチし（ステップＳ２０３）、実質的に同じ内容の会話ペア（質問文データと回答文データのペア）を抽出する（ステップＳ２０６）。実質的に同じ内容の会話ペアとは、例えば質問文「元気？」と回答文「今日も元気だよ！」のペアと、質問文「元気ですか？」と回答文「今日も元気だよ！」のペアは、質問文が丁寧語か否かの違いのみであって、実質的に同じ内容の会話ペアと判断され得る。
【００８２】
次に、キャラクターＡ対話処理部３２は、ユーザ毎の個人化レイヤー３３１Ａから会話ペアが所定数以上抽出された場合（ステップＳ２０９／Ｙｅｓ）、当該会話ペアを（ユーザ毎の）共通レイヤー３３２Ａに登録する（ステップＳ２１２）。
【００８３】
このように、ユーザ毎の個人化レイヤー３３１において実質的に内容が同じ会話ペアを共通レイヤー３３２に移行することで、共通レイヤー３３２を成長（会話ペアを拡充）させることが可能となる。
【００８４】
また、本実施形態では、特定エージェントの会話ＤＢ（具体的には共通レイヤー）から基本対話用の会話ＤＢへ会話データを移行して基本対話用の会話ＤＢを成長させることも可能である。図１１は、本実施形態による基本対話用会話ＤＢ３３０Ｆへの会話データの移行について説明する図である。例えば、ユーザＸおよびユーザＹが各々エージェント「キャラクターＡ」を選択（購入）し、ユーザＺがエージェント「人物Ｂ」を選択（購入）している場合、図１１に示すように、ユーザＸのキャラクターＡ用会話ＤＢ３３０Ａ−Ｘ、ユーザＹのキャラクターＡ用会話ＤＢ３３０Ａ−Ｙ、およびユーザＺの人物Ｂ用会話ＤＢ３３０Ｂ−Ｚが対話処理部３０に存在し得る。この場合、各個人化レイヤー３３１Ａ−Ｘ、３３１Ａ−Ｙ、３３１Ｂ−Ｚには、各ユーザＸ、ユーザＹ、ユーザＺとの対話に応じて独自の（カスタマイズされた）会話ペアが登録されていく（図９参照）。次いで、同じエージェントの個人化レイヤー３３１Ａ−Ｘ、３３１Ａ−Ｙにおいて実質同じ会話ペアが所定数あると、ユーザ毎の共通レイヤー３３２Ａ−Ｘ、３３２Ａ−Ｙに各々登録される（図１０参照）。
【００８５】
そして、対話処理部３０は、複数のエージェント（異なるエージェントを含んでもよい）の共通レイヤー３３２Ａ−Ｘ、３３２Ａ−Ｙ、３３２Ｂ−Ｚから実質同じ会話ペアが所定数以上抽出された場合、上位の基本対話用会話ＤＢ３３０Ｆに会話ペアを移行する。基本対話用会話ＤＢ３３０Ｆは、基本対話処理部３１が有する会話ＤＢである。これにより、基本対話用会話ＤＢ３３０Ｆを成長（会話ペアを拡充）させることが可能となる。かかるデータ移行処理について、図１２を参照して具体的に説明する。図１２は、本実施形態による基本対話用ＤＢ３３０Ｆへの会話データ移行処理を示すフローチャートである。
【００８６】
図１２に示すように、まず、対話処理部３０は、定期的に会話ＤＢ３３０の複数の共通レイヤー３３２をサーチし（ステップＳ２２３）、実質同じ会話ペアを抽出する（ステップＳ２２６）。
【００８７】
次に、対話処理部３０は、複数の共通レイヤー３３２から実質同じ会話ペアが所定数以上抽出された場合（ステップＳ２２９／Ｙｅｓ）、当該会話ペアを基本対話用会話ＤＢ３３０Ｆに登録する（ステップＳ２３２）。
【００８８】
このように、複数のエージェントにおける会話ＤＢ３３０の共通レイヤー３３２において実質的に内容が同じ会話ペアを、基本対話用会話ＤＢ３３０Ｆに移行することで、基本対話用会話ＤＢ３３０Ｆを成長（会話ペアを拡充）させることが可能となる。
【００８９】
＜３−５．広告出力処理＞
続いて、広告挿入処理部７０による広告情報の挿入処理について図１３〜図１４を参照して説明する。本実施形態では、広告挿入処理部７０により、エージェントの発言に広告ＤＢ７２に格納されている広告情報の挿入を行うことが可能である。広告ＤＢ７２には、予め広告情報が登録され得る。図１３は、本実施形態による広告ＤＢ７２に登録されている広告情報の一例を示す図である。
【００９０】
図１３に示すように、広告情報６２１は、例えばエージェントＩＤ、質問文、広告内容、条件、および確率を含む。エージェントＩＤは広告内容を発言するエージェントを指定し、質問文は広告内容を挿入するトリガとなるユーザの質問文を指定し、広告内容はエージェントの対話に挿入する広告文章である。また、条件は、広告内容を挿入する条件であって、確率は広告内容を挿入する確率を示す。例えば図１３の１段目に示す例では、エージェント「キャラクターＡ」との対話において、３０歳以下のユーザからの質問文に「チョコレート」という単語が含まれている場合に、「ＢＢ社の新しく発売されたチョコはミルクがたくさん入っていて美味しいよ」といった広告内容が回答文に挿入される。また、トリガとなる質問文が発せられた際に毎回広告内容を挿入するとユーザが煩わしく思ってしまうこともあるため、本実施形態では、広告を挿入する確率を設定するようにしてもよい。かかる確率は広告料に応じて決定されてもよい。例えば広告料が高いほど確率が高く設定される。
【００９１】
このような広告内容の挿入処理について図１４を参照して具体的に説明する。図１４は、本実施形態による広告内容の挿入処理を示すフローチャートである。
【００９２】
図１４に示すように、まず、広告挿入処理部７０は、ユーザとエージェントとの対話（具体的には、対話処理部３０による対話処理）を監視する（ステップＳ２４３）。
【００９３】
次に、広告挿入処理部７０は、ユーザとエージェントとの対話に、広告ＤＢ７２に登録されている質問文と同一の内容の質問文が登場したか否かを判断する（ステップＳ２４６）。
【００９４】
次いで、同一の内容の質問文が登場した場合（ステップＳ２４６／Ｙｅｓ）、広告挿入処理部７０は、該当する質問文と対応付けられている広告挿入の条件および確率を確認する（ステップＳ２４９）。
【００９５】
続いて、広告挿入処理部７０は、条件および確率に基づいて、現在、広告が出せる状態であるか否かを判断する（ステップＳ２５２）。
【００９６】
次に、広告が出せる状態である場合（ステップＳ２５２／Ｙｅｓ）、広告挿入処理部７０は、対話処理部３０による対話処理を一時停止させ（ステップＳ２５５）、広告内容を対話に挿入する（ステップＳ２５８）。具体的には、例えばユーザの質問文に対するエージェントの回答文に、広告内容を挿入させる。
【００９７】
そして、広告内容を含む対話（会話文データ）が対話処理部３０から音声エージェントＩ／Ｆ２０に出力され、音声エージェントＩ／Ｆ２０からクライアント端末１に送信され、エージェントの音声で再生される（ステップＳ２６１）。具体的には、例えば以下のような会話により、キャラクターＡの発言としてユーザに広告内容を提示することができる。
【００９８】
ユーザ：「おはよう」
キャラクターＡ：「おはよう！今日の調子はどうですか？」
ユーザ：「元気だよ。何か美味しい物食べたいな」
キャラクターＡ：「ＣＣ店の焼肉が美味しいらしいよ」
【００９９】
上記会話では、まず、ユーザの質問文「おはよう」に対して、キャラクターＡの会話ＤＢから検索された対応する回答文「おはよう！今日の調子はどうですか？」が音声出力される。次いで、ユーザの質問文「元気だよ。何か美味しい物食べたいな」に、広告挿入のトリガとなる質問文「何か美味しい物食べたいな」が含まれているため（図１３の２段目参照）、広告挿入処理部７０は広告挿入処理を行い、キャラクターＡの音声で広告内容「ＣＣ店の焼肉が美味しいらしいよ」といった回答文が出力される。
【０１００】
以上、本実施形態による通信制御システムの基本的な動作処理として、会話データ登録処理、音素ＤＢ生成処理、対話制御処理、会話ＤＢ更新処理、および広告挿入処理について説明した。
【０１０１】
さらに、本実施形態による通信制御システムの対話処理部３０は、エージェントの音声発話機能を用いて、エージェントのキャラクターにユーザ自身がなりきる体験を提供し、エージェントシステムの楽しさを高めることを可能とする。このような本実施形態による対話処理部３０の音声出力制御処理について、図１５〜図４２を参照して具体的に説明する。
【０１０２】
＜＜４．音声出力制御処理＞＞
＜４−１．構成＞
まず、本実施形態による音声出力制御処理を行う対話処理部３０ａの構成について、図１５を参照して説明する。
【０１０３】
図１５は、本実施形態による対話処理部３０ａの構成例を示す図である。図１５に示すように、対話処理部３０ａは、基本対話処理部３１、キャラクターＡ対話処理部３２、人物Ｂ対話処理部３３、人物Ｃ対話処理部３４、ユーザ管理部３５、自動発話制御部３６、およびシナリオ管理部３７を有する。
【０１０４】
基本対話処理部３１、キャラクターＡ対話処理部３２、人物Ｂ対話処理部３３、および人物Ｃ対話処理部３４は、図３および図４を参照して説明したように、ユーザの発話に対応するエージェントの応答を生成する機能を有する。基本対話処理部３１は、エージェントに特化しない汎用の応答を生成し、キャラクターＡ対話処理部３２、人物Ｂ対話処理部３３、および人物Ｃ対話処理部３４は、各エージェントキャラクター（キャラクターＡ、人物Ｂ、人物Ｃ）にそれぞれ特化した応答を生成する。
【０１０５】
（ユーザ管理部３５）
ユーザ管理部３５は、ユーザ情報の管理（登録、変更、更新、削除）を行う。図１６に、本実施形態によるユーザ管理部３５の構成例を示す。図１６に示すように、ユーザ管理部３５は、ログイン管理部３５１、ユーザ情報ＤＢ３５２、顔情報登録部３５３、およびユーザ位置情報登録部３５４を有する。
【０１０６】
ログイン管理部３５１は、クライアント端末１からの要求に応じて、ユーザのログイン認証を行う。具体的には、例えばログイン管理部３５１は、ユーザによりクライアント端末１で入力されたアカウント情報（アカウント名、パスワード）をユーザ情報ＤＢ３５２と参照し、ログイン認証を行う。ユーザ情報ＤＢ３５２は、ユーザＩＤ、アカウント情報、ユーザ属性情報（誕生日、性別、郵便番号等）、顔情報、購入した（ユーザ所有の）エージェントＩＤおよびシナリオＩＤ等を含むユーザ情報を記憶する。これらのユーザ情報は、例えばエージェントサーバ２の音声エージェントＩ／Ｆ２０（図３参照）を介してクライアント端末１から送信され、登録される。
【０１０７】
顔情報登録部３５３は、ユーザの顔情報をユーザ情報ＤＢ５２に登録する。ユーザの顔情報は、例えばクライアント端末１に設けられたカメラにより撮像されたユーザの顔画像を解析した結果であって、クライアント端末１からエージェントサーバ２へ送信され得る。なお、クライアント端末１から顔画像が送信され、顔情報登録部３５３において解析してもよい。
【０１０８】
ユーザ位置情報登録部３５４は、ユーザの現在位置情報をユーザ情報ＤＢ５２に登録する。ユーザの現在位置情報は、例えばクライアント端末１に設けられたＧＰＳ（Global Positioning System）等の位置測位部により測位され、定期的にエージェントサーバ２に送信される。
【０１０９】
（自動発話制御部３６）
自動発話制御部３６は、エージェントによる自動的な発話を制御する機能を有する。図１７に、本実施形態による自動発話制御部３６の構成例を示す。図１７に示すように、自動発話制御部３６は、ユーザ音声抽出部３６１、音素データ取得部３６２、位置情報取得部３６３、フレーズ検索部３６４、フレーズＤＢ３６５、および情報解析部３６６を有する。
【０１１０】
ユーザ音声抽出部３６１は、入力された音声情報を解析し、ユーザ音声を抽出する。かかる音声情報は、例えばクライアント端末１のマイクロホンにより収音され、ネットワークを介してクライアント端末１からエージェントサーバ２に送信される。エージェントサーバ２では、音声エージェントＩ／Ｆ２０により受信した当該音声情報を対話処理部３０ａへ出力する。なおクライアント端末１は、継続的、定期的、または所定のタイミングで周辺の音声情報を収音し、エージェントサーバ２へ送信する。ユーザ音声抽出部３６１は、抽出したユーザ音声をテキスト化し（発話テキストの生成）、音素データ取得部３６２へ出力する。
【０１１１】
位置情報取得部３６３は、ユーザの現在位置情報を取得し、フレーズ検索部３６４へ出力する。ユーザの現在位置情報は、クライアント端末１から送信され得る。
【０１１２】
情報解析部３６６は、クライアント端末１から送信されたユーザ状況を示す種々の情報を解析し、解析結果をフレーズ検索部３６４へ出力する。具体的には、例えば情報解析部３６６は、クライアント端末１から送信された顔情報（撮像画像に基づいて解析された、現在のユーザの顔情報または周囲に居る人物の顔情報）から顔の表情を解析する。また、情報解析部３６６は、クライアント端末１から送信された加速度情報（加速度センサにより検知された情報）からユーザ行動（走っている、ジャンプしている、寝ている等）を解析する。また、情報解析部３６６は、クライアント端末１から送信された音声情報（マイクロホンにより収音された音声情報）から環境音（ユーザ周辺の雑音等）を解析する。また、情報解析部３６６は、クライアント端末１から送信された生体情報（脈拍センサ、心拍センサ、発汗センサ、体温センサ、血圧センサ、脳波センサ等により検知された情報）からユーザ状態（緊張している、怒っている、悲しんでいる、喜んでいる等）を解析する。そして、情報解析部３６６は、解析結果（ユーザまたは周辺人物の状況）をフレーズ検索部３６４へ出力する。
【０１１３】
フレーズ検索部３６４は、位置情報取得部３６３により取得されたユーザ位置、情報解析部３６６により解析されたユーザまたは相手の表情、ユーザ行動、またはユーザ状況等に応じたフレーズ（発話フレーズとも称す）をフレーズＤＢ３６５から検索し、検索結果を音素データ取得部３６２へ出力する。フレーズには、ナレーションや効果音が紐付けられていてもよい。また、フレーズＤＢ３６５は、エージェントキャラクター毎のフレーズデータが格納される。ここで、下記表１に、フレーズＤＢ３６５に格納されるエージェントキャラクター「ヒーロー」のフレーズデータ例を示す。下記表１に示すように、フレーズＤＢ３６５には、状況とフレーズや効果音が対応付けて記憶されている。下記表１に示す例では、一のセンサ種別に「状況」が対応付けられているが、本実施形態はこれに限定されず、複数のセンサの解析結果に基づいて「状況」が総合的に判断されてもよい。また、本実施形態では、複数の状況（場所、表情、時刻、状態等）が条件を満たす場合に対応する「フレーズ、効果音」が対応付けられていてもよい。
【０１１４】
【表１】
0006795028.tif 000002
【０１１５】
音素データ取得部３６２は、音声抽出部３６１から出力された発話テキスト、またはフレーズ検索部３６４から出力されたフレーズ、ナレーションを音声化するための音素データを、対応するエージェントの音素記憶部４０から取得する。例えば音素データ取得部３６２は、ユーザ音声をユーザ指定のエージェントの音声に変換するため、当該エージェントの音素データを発話テキストに応じて取得する。クライアント端末１からは、特定のエージェントキャラクターを選択する選択信号が送信され得る。
【０１１６】
（シナリオ管理部３７）
シナリオ管理部３７は、エージェントキャラクターに紐付けられた各シナリオの管理を行う。図１８に、本実施形態によるシナリオ管理部３７の構成例を示す。図１８に示すように、シナリオ管理部３７は、データ管理部３７１、シナリオ実行部３７２、情報解析部３７３、およびシナリオＤＢ３７４を有する。
【０１１７】
データ管理部３７１は、シナリオＤＢ３７４に格納されているシナリオの登録、変更、更新、削除といった管理を行う。シナリオＤＢ３７４には、各エージェントキャラクターに対応する１以上のシナリオデータが格納されている。シナリオデータには、タイトル、あらすじ、購入金額等が付随情報として付与され、さらに、イベント（シナリオイベントとも称す）に関するデータが含まれる。イベントに関するデータには、イベント発生のトリガとなる状況（場所、ユーザ行動、表情、ユーザ発話等）と、イベントの開催時刻（開催期間）等が含まれる。
【０１１８】
シナリオ実行部３７２は、ユーザが参加中のシナリオに従って、エージェントキャラクターの音声や画像をユーザに提示するよう制御する。具体的には、シナリオ実行部３７２は、シナリオに基づく音声や画像等の提示情報を、音声エージェントＩ／Ｆ２０からネットワークを介してクライアント端末１へ送信するよう制御する。また、シナリオ実行部３７２は、情報解析部３７３による解析結果に基づいて、シナリオに含まれるイベントのトリガ判断を行い、イベントが発生する場合はイベントの音声や画像等の提示情報を、音声エージェントＩ／Ｆ２０からネットワークを介してクライアント端末１へ送信するよう制御する。
【０１１９】
情報解析部３７３は、クライアント端末１から送信されたユーザ状況を示す種々の情報を解析し、解析結果をフレーズ検索部３６４へ出力する。ユーザ状況を示す種々の情報とは、例えば位置情報、顔情報（撮像画像に基づいて解析された、現在のユーザの顔情報または周囲に居る人物の顔情報）、加速度情報、音声情報、生体情報等である。
【０１２０】
ここで、下記表２に、シナリオＤＢ３７４に格納されるシナリオデータに含まれるイベントデータ例を示す。下記表２に示すように、イベントデータでは、トリガ発生の条件、イベント内容、およびアクションが対応付けられている。
【０１２１】
【表２】
0006795028.tif 000003
【０１２２】
以上、本実施形態による対話処理部３０ａの構成について具体的に説明した。続いて、本実施形態による動作処理について図１９〜図４２を参照して具体的に説明する。
【０１２３】
＜４−２．動作処理＞
（４−２−１．エージェント購入処理）
図１９は、本実施形態によるエージェントアプリケーションの購入処理を示すシーケンス図である。ここで、エージェントアプリケーションとは、特定のエージェントキャラクターによる自動対話をクライアント端末１で享受するために使用されるソフトウェアであって、エージェントアプリケーションの購入は、「エージェントの購入」とも言える。以下、アプリケーションを「App」とも称する。
【０１２４】
図１９に示すように、まず、クライアント端末１は、エージェントサーバ２により提供されるアプリケーションショップのＷｅｂサイトから任意の（すなわち、ユーザにより選択された）エージェントAppのダウンロードおよびインストールを行う（ステップＳ２７０）。なお、クライアント端末１とエージェントサーバ２は、ネットワークを介して接続される。エージェントサーバ２のデータの送受信は、音声エージェントＩ／Ｆ２０により行われ得る。
【０１２５】
次いで、クライアント端末１は、エージェントAppを起動（初回起動）する（ステップＳ２７３）。ユーザアカウントが登録済みでない場合（ステップＳ２７６／Ｎｏ）、アカウントの登録処理をエージェントサーバ２に要求する（ステップＳ２７９）。
【０１２６】
次に、エージェントサーバ２のユーザ管理部３５（図１６参照）は、クライアント端末１からの要求に応じて、新規アカウント情報をユーザ情報ＤＢ３５２に登録する（ステップＳ２８２）。新規アカウント情報は、アカウント名やパスワード、ユーザ属性情報（性別、生年月日、ニックネーム）等であって、クライアント端末１においてユーザにより入力され、アカウント登録処理の要求と共に送信される。
【０１２７】
一方、ユーザアカウントが登録済みである場合（ステップＳ２７６／Ｙｅｓ）、クライアント端末１は、ログイン処理をエージェントサーバ２に要求する（ステップＳ２８５）。
【０１２８】
次いで、新規アカウント登録を行った場合若しくはログイン処理要求を受信した場合、エージェントサーバ２のログイン管理部３５１は、ユーザ情報ＤＢ３５２を参照し、アカウントのログイン処理を行う（ステップＳ２８８）。ログイン処理の要求では、クライアント端末１においてユーザにより入力されたアカウント名とパスワードが送信されるので、ログイン管理部３５１はユーザ情報ＤＢ３５２を参照して照合する。
【０１２９】
次に、ログイン処理が正常に完了すると、エージェントサーバ２は、ログイン完了通知を、音声エージェントＩ／Ｆ２０からネットワークを介してクライアント端末１へ送信する（ステップＳ２９１）。
【０１３０】
次いで、クライアント端末１は、クライアント端末１のカメラ（または周辺に存在する通信可能な外部端末に設けられているカメラ）を起動し、ユーザの顔を撮像し、撮像画像（顔画像）から顔情報を取得する（ステップＳ２９４）。顔情報は、撮像画像（顔画像）の解析結果でもよいし、顔画像自体であってもよい。
【０１３１】
次に、クライアント端末１は、顔情報をエージェントサーバ２へ送信し（ステップＳ２９７）、エージェントサーバ２は、顔情報をユーザ情報ＤＢ３５２に登録する（ステップＳ３００）。
【０１３２】
続いて、クライアント端末１は、バックグラウンドでエージェントAppを実行させるか否かのユーザによる選択を受け付け（ステップＳ３０３）、選択内容を設定情報としてエージェントサーバ２へ送信する（ステップＳ３０６）。
【０１３３】
次いで、エージェントサーバ２は、設定情報をユーザ情報ＤＢ３５２に保存する（ステップＳ３０９）。なおかかる設定情報はクライアント端末１の記憶部に保存されていてもよい。
【０１３４】
そして、クライアント端末１は、起動したエージェントAppに従ってメイン画面を表示する（ステップＳ３１２）。
【０１３５】
以上、エージェントApp購入とエージェントApp初回起動時の処理について説明した。ここで、エージェントApp購入とエージェントApp初回起動時におけるクライアント端末１での表示画面例について図２０〜図２２を参照して説明する。
【０１３６】
図２０は、本実施形態によるエージェントアプリケーションの購入時における表示画面例を示す図である。図２０左に示す画面１００には、購入対象の候補となる複数のエージェントAppのタイトルが表示されている。画面１００に示す各エージェントAppのタイトルは、例えばエージェントキャラクターの名称である。例えばエージェントキャラクター「パワフルマン」を購入したい場合、ユーザは、画面１００の「エージェントApp『パワフルマン』」を選択する。この場合、画面１００は図２０中央に示す画面１０１に遷移する。
【０１３７】
画面１０１には、アカウント情報入力欄、アカウント作成ボタン、および「アカウントをお持ちの方はこちら」ボタンが表示されている。アプリケーションショップを利用するためのアカウントを既に登録済みの場合、ユーザは、「アカウントをお持ちの方はこちら」ボタンを選択する。この場合、画面１０１は図２０右に示す画面１０２に遷移する。
【０１３８】
画面１０２には、アカウント名入力欄、パスワード入力欄、およびログインボタンが表示されている。ユーザは、登録済みのアカウント名（ユーザ名／ＩＤ、ログイン名／ＩＤとも称される）およびパスワードを入力し、ログインボタンを選択する。ログインボタンが選択されると、クライアント端末１は、入力されたアカウント名およびパスワードと共に、エージェントサーバ２に対してログイン処理要求を行う。
【０１３９】
一方、アカウントが未登録の場合、画面１０１においてアカウント名等の入力を行い、アカウントの作成をエージェントサーバ２に依頼する。図２１は、本実施形態によるアカウント登録画面例を示す図である。図２１左の画面１０３に示すように、アカウント名等が入力され、「アカウント作成」ボタンが選択されると、クライアント端末１は、入力された情報と共にアカウント登録処理の要求をエージェントサーバ２に対して行う。
【０１４０】
エージェントサーバ２においてアカウント登録処理が正常に完了すると、図２１右に示すように、アカウント作成が完了したことを通知する画面１０４が表示される。画面１０４には、「続いて、お客様の顔情報を登録しますか？」といったテキストが表示され、「はい」ボタンが選択されると、クライアント端末１のカメラが起動し、ユーザの顔の撮像、および顔情報の抽出（解析）が行われる。抽出された顔情報は、エージェントサーバ２へ送信され、ユーザ情報として登録される。
【０１４１】
図２２は、本実施形態によるメイン画面例を示す図である。エージェントAppの初回起動においてログイン処理やアカウント登録処理が終了すると、図２２の左に示すように、エージェントAppを開始するか否かを確認する画面１０５が表示される。開始する場合、ユーザは画面１０５に表示されている「はい」ボタンを選択する。なお画面１０５には、バックグラウンドでの実行可否を設定するためのチェックボックスも表示されている。ユーザは、エージェントAppをバックグラウンドで実行したい場合にはチェックを入れる。クライアント端末１は、当該チェックボックスへのチェックの有無を、バックグラウンドでの実行可否の設定情報としてエージェントサーバ２へ送信する。
【０１４２】
画面１０５の「はい」ボタンが選択されると、エージェントAppのメイン画面１０６が表示される。ここでは、例えばヒーローキャラクターの「パワフルマン」の画像がクライアント端末１の表示部に表示され、さらに「この街は俺が守る！」といった「パワフルマン」の音声やテーマ曲がクライアント端末１のスピーカーから再生される。
【０１４３】
（４−２−２．音声変換処理）
続いて、本実施形態による音声変換処理について図２３〜図２４を参照して説明する。図２３は、本実施形態による音声変換処理について説明する図である。本実施形態では、図２３に示すように、ユーザの発話音声W4をクライアント端末１（またはクライアント端末１と通信接続する周辺に存在するウェアラブル装置）のマイクロホンにより収音すると、これを対話処理部３０ａの自動発話制御部３６により特定のエージェントキャラクターの音声W5に変換してユーザが装着するイヤホン等から再生する。特定のエージェントキャラクターとは、例えばクライアント端末１において起動中のエージェントAppに対応するキャラクターであって、当該エージェントAppを起動する操作が、実質的なユーザによるエージェントキャラクターの選択として認識され、選択信号がエージェントサーバ２へ送信される。このように、ユーザは自分の発話音声がエージェントキャラクターの音声で聞こえることで、エージェントキャラクターに成りきることができる。
【０１４４】
図２４は、本実施形態による音声変換処理を示すシーケンス図である。図２４に示すように、まず、クライアント端末１は、マイクロホンにより音データを収音すると（ステップＳ３２０）、収音した音データをエージェントサーバ２へ送信する（ステップＳ３２３）。この際、クライアント端末１は、ユーザが選択しているエージェントキャラクターを示す選択信号も併せて送信してもよい。これらのデータは、クライアント端末１からネットワーク３を介してエージェントサーバ２へ送信され、エージェントサーバ２の音声エージェントＩ／Ｆ２０（通信部として機能）で受信され得る。
【０１４５】
次いで、エージェントサーバ２は、自動発話制御部３６のユーザ音声抽出部３６１（図１７参照）により、音データを解析し、ユーザ音声の抽出を行う。エージェントサーバ２は、ユーザ音声が抽出できた場合、これをユーザに選択された特定のエージェントキャラクター（ここでは、例えば「ヒーローキャラクター」）の音声に変換する（ステップＳ３２６）。より具体的には、エージェントサーバ２は、対話処理部３０ａのユーザ音声抽出部３６１により抽出、テキスト化したユーザ音声文をエージェントキャラクターの音声で音声化するための音素データを対話処理部３０ａの音素データ取得部３６２により取得する。そして、対話処理部３０ａから出力されたユーザ音声文および対応する特定のエージェントキャラクターの音素データに基づいて、音声エージェントＩ／Ｆ２０により、ユーザ音声文を特定のエージェントキャラクターの音声で音声化し（音声変換）、音声化したデータ（音声データ）を音声エージェントＩ／Ｆ２０からネットワークを介してクライアント端末１へ送信する（ステップＳ３２９）。
【０１４６】
次に、クライアント端末１は、エージェントサーバ２で変換されたヒーローキャラクターの声色の音声データをイヤホン等（スピーカーの一例）から再生する（ステップＳ３３２）。
【０１４７】
以上、音声変換処理について説明したが、本実施形態は、上述したような聴覚的な成りきりに限定されず、視覚的にも成りきり体験を提供することが可能である。以下、図２５を参照して説明する。
【０１４８】
図２５は、本実施形態によるＡＲ（Augmented Reality）変身による視覚的な成りきりについて説明する図である。本実施形態では、図２５に示すように、例えばクライアン端末１に設けられたカメラでユーザ自身の顔を撮像し、撮像したユーザの顔画像に、エージェントキャラクターの顔画像を重畳表示した画面１０７を生成して表示することで、視覚的な成りきり体験を提供することができる。この際、エージェントサーバ２により、撮像した顔画像に基づく顔認識、すなわちユーザ情報ＤＢ３５３２に登録された顔情報と一致するか否かの確認を行い、一致する場合は当該顔画像にエージェントキャラクターの顔画像を重畳表示するようにしてもよい。また、上述した音声変換の聴覚的な成りきり体験と併せて視覚的な成りきり体験を提供するようにしてもよい。
【０１４９】
（４−２−３．自動発話処理）
続いて、ユーザ状況に応じた特定エージェントキャラクターの自動発話処理について図２６Ａ〜図２６Ｄを参照して説明する。ユーザ状況とは、例えばユーザの場所、人物属性や表情、行動状態（行動認識）、および心理状態等が想定される。
【０１５０】
図２６Ａは、本実施形態による場所に応じた自動発話処理を示すシーケンス図である。図２６Ａに示すように、まず、クライアント端末１は、ＧＰＳ等により現在位置情報を取得し（ステップＳ３４０）、エージェントサーバ２へ現在位置情報を送信する（ステップＳ３４２）。このような現在位置情報の取得および送信は、例えばクライアント端末１でエージェントプログラムが起動している際に定期的に行われ得る。
【０１５１】
次に、エージェントサーバ２の自動発話制御部３６は、クライアント端末１から送信され位置情報取得部３６３により取得したクライアント端末１の位置情報（場所）に対応するフレーズを、フレーズ検索部３６４によりフレーズＤＢ３６５を参照して検索する（ステップＳ３４４）。例えば上記表１に示しように、特定の場所（XX都市、Y公園、Z駅等）や一般的な場所（駅、郵便局、公園、海等）に紐付けられたフレーズや効果音が検索される。
【０１５２】
次いで、場所に応じたフレーズが見つかった（すなわち検索がヒットした）場合（ステップＳ３４６／Ｙｅｓ）、自動発話制御部３６は、検索したフレーズをユーザ指定の特定エージェントキャラクター、例えばヒーローキャラクターの声色に変換する（ステップＳ３４８）。具体的には、音素データ取得部３６２によりフレーズを音声化するためのヒーローキャラクターの音素データを音素記憶部４０から取得し、取得された音素データおよびフレーズが音声エージェントＩ／Ｆ２０に出力され、音声エージェントＩ／Ｆ２０によりフレーズの音声化処理（例えば音声合成）が行われる。
【０１５３】
続いて、エージェントサーバ２は、音声エージェントＩ／Ｆ２０により生成した音声データをクライアント端末１へ送信する（ステップＳ３５０）。
【０１５４】
そして、クライアント端末１は、エージェントサーバ２から受信した音声データ、すなわち、所定のフレーズをヒーローキャラクターの声色で音声化された音声データを再生する（ステップＳ３５２）。これにより、ユーザが所定の場所に移動したことをトリガにクライアント端末１のスピーカーから特定のエージェントキャラクターの声色でその場所に対応するフレーズが再生される。
【０１５５】
図２６Ｂは、本実施形態による人物属性や表情に応じた各自動発話処理を示すシーケンス図である。図２６Ｂに示すように、まず、クライアント端末１は、カメラを起動し、撮像画像を取得し（ステップＳ３５４）、エージェントサーバ２へ撮像画像を送信する（ステップＳ３５６）。このようなカメラの起動、撮像、および送信は、例えばクライアント端末１でエージェントプログラムが起動している際に定期的に行われ得る。カメラは、クライアント端末１がユーザの視線方向等ユーザの周辺を撮像する外向きのカメラ（アウトカメラとも称される）と、クライアント端末１を操作するユーザを撮像する内向きのカメラ（インカメラとも称される）とが想定される。
【０１５６】
次に、エージェントサーバ２の自動発話制御部３６は、クライアント端末１から送信された撮像画像がインカメラで撮像されたものであるか否かを判断する（ステップＳ３５８）。インカメラで撮像されたか否かは、例えば撮像画像に付属するメタデータから判断し得る。
【０１５７】
次いで、インカメラである場合（ステップＳ３５８／Ｙｅｓ）、撮像画像にはユーザが写っていると判断され、フレーズ検索部３６４は、情報解析部３６６による顔画像解析結果に基づいて、顔の表情に対応するフレーズをフレーズＤＢ３６５から検索する（ステップＳ３６０）。例えば上記表１に示したように、ユーザが笑顔の場合に対応するフレーズや効果音、若しくはユーザが怒り顔の場合に対応するフレーズや効果音等が検索される。
【０１５８】
一方、インカメラでない場合（ステップＳ３５８／Ｎｏ）、すなわちアウトカメラで撮像されたものである場合、撮像画像にはユーザ周辺の人物（例えばユーザと対面する人物）が写っていると判断され、フレーズ検索部３６４は、情報解析部３６６による顔画像解析結果に基づいて、対面する人物の属性（年齢、性別、雰囲気等）や表情に対応するフレーズをフレーズＤＢ３６５から検索する（ステップＳ３６２）。例えば上記表１に示したように、対面する相手が女性である場合に対応するフレーズや効果音等が検索される。
【０１５９】
次いで、人物属性や表情に応じたフレーズが見つかった（すなわち検索がヒットした）場合（ステップＳ３６４／Ｙｅｓ）、自動発話制御部３６は、検索したフレーズをユーザ指定の特定エージェントキャラクター、例えばヒーローキャラクターの声色に変換する（ステップＳ３６６）。特定エージェントキャラクターへの変換処理は、上記ステップＳ３４８で説明した処理と同様である。
【０１６０】
続いて、エージェントサーバ２は、音声エージェントＩ／Ｆ２０により生成した音声データをクライアント端末１へ送信する（ステップＳ３６８）。
【０１６１】
そして、クライアント端末１は、エージェントサーバ２から受信した音声データ、すなわち、所定のフレーズをヒーローキャラクターの声色で音声化された音声データを再生する（ステップＳ３７０）。これにより、ユーザの表情、または対面する相手の属性や表情をトリガにクライアント端末１のスピーカーから特定のエージェントキャラクターの声色でその時の表情や属性に対応するフレーズが再生される。
【０１６２】
図２６Ｃは、本実施形態によるユーザ行動に応じた各自動発話処理を示すシーケンス図である。図２６Ｃに示すように、まず、クライアント端末１は、加速度センサにより加速度センサ情報を取得し（ステップＳ３７２）、エージェントサーバ２へ加速度センサ情報を送信する（ステップＳ３７４）。加速度センサ情報の送信は、例えばクライアント端末１でエージェントプログラムが起動している際に定期的に行われ得る。
【０１６３】
次に、エージェントサーバ２の自動発話制御部３６は、クライアント端末１から送信された加速度センサ情報に基づいて情報解析部３６６により行動認識処理を行い、行動認識結果で示される行動状態に対応するフレーズをフレーズ検索部３６４によりフレーズＤＢ３６５を参照して検索する（ステップＳ３７６）。例えば上記表１に示しように、走っている状態や寝ている状態に紐付けられたフレーズや効果音が検索される。なお、行動認識処理に用いるセンサデータとしてここでは加速度センサ情報を用いているが、本実施形態は当然これに限定されず、加速度センサの他、ジャイロセンサ、地磁気センサ等、様々なセンサにより検知されたデータを用いてもよい。
【０１６４】
次いで、行動状態に応じたフレーズが見つかった（すなわち検索がヒットした）場合（ステップＳ３７８／Ｙｅｓ）、自動発話制御部３６は、検索したフレーズをユーザ指定の特定エージェントキャラクター、例えばヒーローキャラクターの声色に変換する（ステップＳ３８０）。
【０１６５】
続いて、エージェントサーバ２は、音声エージェントＩ／Ｆ２０により生成した音声データをクライアント端末１へ送信する（ステップＳ３８２）。
【０１６６】
そして、クライアント端末１は、エージェントサーバ２から受信した音声データ、すなわち、所定のフレーズをヒーローキャラクターの声色で音声化された音声データを再生する（ステップＳ３８４）。これにより、ユーザが所定の行動状態になったことをトリガにクライアント端末１のスピーカーから特定のエージェントキャラクターの声色でその時の行動状態に対応するフレーズが再生される。
【０１６７】
図２６Ｄは、本実施形態による心理状態に応じた各自動発話処理を示すシーケンス図である。図２６Ｄに示すように、まず、クライアント端末１は、生体センサによりユーザの生体情報を検知し（ステップＳ３８６）、エージェントサーバ２へ生体情報を送信する（ステップＳ３８８）。生体情報の送信は、例えばクライアント端末１でエージェントプログラムが起動している際に定期的に行われ得る。
【０１６８】
次に、エージェントサーバ２の自動発話制御部３６は、クライアント端末１から送信された生体情報を情報解析部３６６により解析し、解析により得られたユーザの心理状態（すなわち感情）に対応するフレーズを、フレーズ検索部３６４によりフレーズＤＢ３６５を参照して検索する（ステップＳ３９０）。例えば上記表１に示しように、脈拍が速く緊張した状態に紐付けられたフレーズや効果音が検索される。生体センサは、例えば脈拍、、心拍、血圧、発汗量、呼吸、脳波、または筋電等を検知する各種センサである。情報解析部３６６は、このような生体情報に基づいて、ユーザの心理状態、すなわち、喜び、怒り、悲しみ、緊張、興奮等の感情を解析する。
【０１６９】
次いで、心理状態に応じたフレーズが見つかった（すなわち検索がヒットした）場合（ステップＳ３９２／Ｙｅｓ）、自動発話制御部３６は、検索したフレーズをユーザ指定の特定エージェントキャラクター、例えばヒーローキャラクターの声色に変換する（ステップＳ３９４）。
【０１７０】
続いて、エージェントサーバ２は、音声エージェントＩ／Ｆ２０により生成した音声データをクライアント端末１へ送信する（ステップＳ３９６）。
【０１７１】
そして、クライアント端末１は、エージェントサーバ２から受信した音声データ、すなわち、所定のフレーズをヒーローキャラクターの声色で音声化された音声データを再生する（ステップＳ３９８）。これにより、ユーザの心理状態をトリガにクライアント端末１のスピーカーから特定のエージェントキャラクターの声色でその時の心理状態に対応するフレーズが再生される。
【０１７２】
以上、ユーザ状況に応じたエージェントの自動発話制御処理について説明した。なお、本実施形態による自動発話制御処理は上述した例に限定されず、例えば場所、表情、行動、感情、ユーザ発話、日時等のうち少なくとも１以上のユーザ状況に対応するフレーズを検索してもよいし、複数のユーザ状況のうち例えば所定の順序（優先度の高い順等）にフレーズ検索を行ってもよい。
【０１７３】
（４−２−４．シナリオ取得処理）
続いて、本実施形態によるシナリオモードについて説明する。本実施形態による対話処理部３０ａは、上述したようなユーザ音声のエージェントキャラクター音声への変換、およびユーザ状況に応じたエージェントキャラクターの自動発話の他、さらにユーザがエージェントキャラクターに成りきってシナリオ（物語）へ参加する体験を提供することができる。このような体験を提供する際に用いられるシナリオプログラムの取得について、以下図２７〜図２９を参照して説明する。
【０１７４】
図２７は、本実施形態によるシナリオ取得処理を示すシーケンス図である。図２７に示すように、まず、クライアント端末１の表示部に表示されたメニュー画面から「シナリオ一覧」が選択されると（ステップＳ４１０）、クライアント端末１は、エージェントサーバ２に対してシナリオ一覧の取得要求を行う（ステップＳ４１３）。ここでは、例えばユーザが購入したエージェントキャラクター「ヒーローキャラクター『パワフルマン』」のシナリオ一覧の取得要求が行われる。
【０１７５】
次いで、エージェントサーバ２のシナリオ管理部３７は、ヒーローキャラクターに紐づくシナリオの一覧をシナリオＤＢ３７４から取得し（ステップＳ４１６）、クライアント端末１へ音声エージェントＩ／Ｆ２０からネットワークを介して送信する（ステップＳ４１９）。
【０１７６】
次に、クライアント端末１は、エージェントサーバ２から受信したシナリオ一覧を表示部に表示し（ステップＳ４２２）、ユーザによるシナリオの選択を受け付ける（ステップＳ４２５）。
【０１７７】
次いで、クライアント端末１は、ユーザが選択したシナリオを示す選択情報をエージェントサーバ２へ送信する（ステップＳ４２８）。
【０１７８】
次に、エージェントサーバ２のシナリオ管理部３７は、ユーザにより選択されたシナリオが購入済みであるか否かを判断し（ステップＳ４３１）、未購入の場合（ステップＳ４３１／Ｙｅｓ）、クライアント端末１に対して当該シナリオの購入画面の表示指示を行う（ステップＳ４３４）。
【０１７９】
次いで、クライアント端末１は、シナリオ購入画面を表示する（ステップＳ４３７）。ユーザは、例えばシナリオ購入画面に表示された購入ボタンをタップしてシナリオの購入を決定する。
【０１８０】
続いて、シナリオの購入が決定された場合（ステップＳ４４０／Ｙｅｓ）、クライアント端末１は、エージェントサーバ２に対してシナリオの購入依頼を行う（ステップＳ４４３）。
【０１８１】
そして、エージェントサーバ２は、シナリオ購入処理を行う（ステップＳ４４６）。シナリオ購入処理は、例えばクレジットカードや電子マネーを用いた決済処理（アプリケーション内の課金処理）により行われ得る。また、ユーザによるシナリオの購入は、ユーザ管理部３５によりユーザ情報ＤＢ３５２にユーザ情報として登録される。
【０１８２】
なお、シナリオ購入画面が表示された後、購入を見合わせる場合（ステップＳ４４０／Ｎｏ）、例えばユーザは戻るボタン等をタップしてメニュー一覧画面に戻り、他のシナリオの取得を検討してもよい。
【０１８３】
ここで、図２８および図２９に、シナリオ購入までのクライアント端末１における画面表示例を示す。例えば、図２８左には、ユーザがあるヒーローキャラクターを購入した際のメイン画面１１０を示す。ユーザがメイン画面１１０に表示されているメニューボタン１１１を選択すると、図２８中央に示すように、メニュー画面１１２ａが表示される。そして、メニュー画面１１２ａに表示されているメニューに含まれる「シナリオ一覧」の項目を選択すると、図２８右に示すように、シナリオ一覧画面１１３が表示される。シナリオ一覧画面１１３には、参加可能なシナリオが並び、ユーザは購入したいシナリオを選択する。なお参加期間が既に終了しているシナリオや売り切れのシナリオは、グレーアウト表示され選択できない。例えば画面１１３では、選択可能なシナリオとしてシナリオ１１３ａ、１１３ｂが表示され、選択できないシナリオとしてシナリオ１１３ｃがグレーアウト表示されている。
【０１８４】
次いで、ユーザが例えばシナリオ１１３ａ「XX都市でバトル」を選択した場合、図２９の左に示すような購入画面１１４が表示される。購入画面１１４には、シナリオのタイトル、あらすじ、購入金額、購入ボタン１１４ａ、シナリオへの参加場所および期間が表示され、ユーザはシナリオの内容や金額、参加場所、期間等を確認する。シナリオには例えば複数のイベントが用意されていて、それらを全てクリアすることでシナリオをクリアすることが目標となる。「参加場所」とは、イベントが発動するトリガとなる場所であって、その場所に居なくてもシナリオに参加することは可能であるが、発動するイベントが少なく、シナリオをクリアすることが困難となる。
【０１８５】
そして、ユーザが購入ボタン１１４ａを選択すると、図２９右に示す購入決定画面１１５が表示され、「はい」ボタンを選択すると購入処理（決算処理）がエージェントサーバ２により行われ、シナリオ購入が完了する。
【０１８６】
続いて、シナリオへの参加登録処理について図３０を参照して説明する。図３０は、本実施形態によるシナリオ参加登録処理を示すシーケンス図である。なお図３０に示す処理は、上記ステップＳ４３１で、ユーザに選択されたシナリオが購入済みの場合に引き続き行われる処理である。
【０１８７】
エージェントサーバ２のシナリオ管理部３７は、ユーザに選択されたシナリオにおいて、ユーザが購入した特定のエージェントキャラクター、例えばヒーローキャラクターが未登録のシナリオを検索する（ステップＳ４５０）。ここで、本実施形態によるシナリオ構成について図３１を参照して説明する。
【０１８８】
図３１は、本実施形態によるシナリオ構成について説明する図である。本実施形態によるシナリオには１以上のキャラクターが登場し、１つのキャラクターには一人のユーザが登録される。しかしながら、複数のユーザが同じキャラクターのエージェントプログラムを購入している状態も想定されるため、図３１に示すように、シナリオ毎に複数の参加グループを設定し、参加グループ毎にユーザ登録を行う。例えば、シナリオ#1には、参加グループ#1-1、#1-2、#1-3…と複数の参加グループが紐付けされ、参加グループ内においてキャラクターが重複しないようユーザの振り分けが行われる。具体的には、現在、シナリオ#1の参加グループ#1-1には「キャラクターＡ」と「キャラクターＢ」にそれぞれ成りきるユーザの登録が行われているが、「キャラクターＣ」は空位の状態である。また、同シナリオの参加グループ#1-2では、「キャラクターＡ」が空位の状態である。また、同シナリオの参加グループ#1-3では、「キャラクターＡ」、「キャラクターＢ」、「キャラクターＣ」が空位の状態である。シナリオ管理部３７は、ユーザがシナリオ#1の選択を行った際に、同シナリオの参加グループにおけるユーザ登録状態を把握し、ユーザが購入したキャラクターが未登録（空位）の参加グループを検索する。例えばユーザのキャラクターが「キャラクターＡ」の場合、参加グループ#1-2を検索し、「キャラクターＢ」の場合、参加グループ#1-3を検索し、「キャラクターＣ」の場合、参加グループ#1-1を検索する。なお、ユーザが同キャラクターで異なるシナリオ（例えばシナリオ#1とシナリオ#2）に同時に参加登録することは可能である。
【０１８９】
次いで、シナリオ管理部３７は、検索した参加グループのシナリオ情報をクライアント端末１に送信する（ステップＳ４５３）。
【０１９０】
次に、クライアント端末１は、受信したシナリオ情報を表示部に表示する（ステップＳ４５６）。シナリオ情報の表示画面には、シナリオのあらすじや参加場所、日時の詳細と共に、参加ボタンが表示されている。ここで、図３２に本実施形態によるシナリオ参加画面の一例を示す。図３２左に示す画面１１６は、シナリオ一覧画面１１３（図２８参照）で選択したシナリオ、若しくはシナリオの購入決定画面１１５（図２９参照）で購入を決定し購入処理が完了したシナリオへ参加登録するための操作を受け付ける画面である。画面１１６には、例えば選択されたシナリオのタイトル、あらすじ、シナリオ購入済みの表示、参加場所、参加期間情報、および参加ボタン１１６ａが表示されている。ユーザは参加ボタン１１６ａを選択することで本シナリオへの参加意思を入力することができる。
【０１９１】
次いで、参加ボタンが選択されユーザの参加意思が入力された場合（ステップＳ４５９／Ｙｅｓ）、クライアント端末１はエージェントサーバ２に対して本シナリオ（の参加グループ）への参加依頼を行う（ステップＳ４６２）。
【０１９２】
次に、エージェントサーバ２のシナリオ管理部３７は、クライアント端末１からの要求に応じて、ユーザのシナリオへの参加登録処理を行う（ステップＳ４６５）。各シナリオの参加グループに登場するキャラクーへのユーザ登録の情報は、シナリオＤＢ３７４（図１８参照）に登録されていてもよいし、ユーザ情報ＤＢ３５２（図１６参照）に登録されていてもよい。
【０１９３】
次に、シナリオ管理部３７は、ユーザが参加登録しているシナリオが開始時刻前である場合（ステップＳ４６８／Ｙｅｓ）、開始時刻をユーザへ通知し（ステップＳ４７１）、クライアント端末１ではシナリオの開始時刻を表示画面等を介してユーザに通知する（ステップＳ４７４）。表示画面例としては、例えば図３２の右上に示す画面１１７が挙げられる。画面１７には、シナリオタイトルと共に、参加予約済みである旨、およびシナリオ開催開始時刻までのカウントダウンが表示されている。
【０１９４】
続いて、シナリオの開催開始時刻になった場合（ステップＳ４７７／Ｙｅｓ）、若しくは参加登録したシナリオが既に開催開始時刻後であって（ステップＳ４６８／Ｎｏ）かつシナリオ開催中の場合（ステップＳ４６９／Ｙｅｓ）、シナリオ管理部３７は、シナリオの開催開始通知をユーザに通知する（ステップＳ４８０）。例えば、参加登録したシナリオが既に開始時刻後である場合（すなわちシナリオ開催中の場合）、図３２に示すように、参加ボタン１１６ａをタップした際に、図３２右下に示す画面１１８のように、シナリオタイトルと共に「参加中！」の旨が表示され、直ちにシナリオが開始される。また、既に参加登録しているシナリオの開催開始時刻に達した際、例えば図３３または図３４に示すような開催開始通知が行われる。なお、シナリオの開催期間が終了している場合（ステップＳ４６９／Ｎｏ）、シナリオへの参加はできないため参加登録処理は終了する。
【０１９５】
図３３は、本実施形態によるエージェントAppがフォアグラウンドで起動中の場合におけるシナリオ開催開始通例例を示す図である。図３３左に示すように、エージェントAppの画面１２０（例えばメイン画面）が表示されている際に、シナリオの開催開始時刻に達すると、図３３右に示すように、エージェントAppの画面１２０上に、シナリオが開始されることを示すポップアップ表示１２０ａが表示される。ユーザが通知内容を確認の上、「ＯＫ」ボタンを押すと、ポップアップ表示１２０ａが閉じる。
【０１９６】
図３４は、本実施形態によるエージェントAppが非起動の場合におけるシナリオ開催開始通例例を示す図である。図３４左に示すように、エージェントAppが非起動の場合（例えばホーム画面１２２が表示されている場合）に、シナリオの開催開始時刻に達すると、ホーム画面１２２上にシナリオが開始されることを示すポップアップ表示１２２ａ（Push通知）が表示される。ユーザが通知内容を確認の上、「開く」ボタンを押すと、エージェントAppが起動し、図３４右に示すようにエージェントAppのメイン画面１２３が表示される。
【０１９７】
次いで、クライアント端末１は、シナリオが開始されることを表示画面等を介してユーザに通知する（ステップＳ４８３）。
【０１９８】
そして、シナリオ管理部３７は、シナリオ実行処理を開始する（ステップＳ４８６）。
【０１９９】
例えば「XX都市でバトル」といったシナリオが開始された場合、例えばクライアント端末１の表示部には、エージェントキャラクター（例えばヒーローキャラクター）の画像が表示され、さらにナレーションとヒーローキャラクターの音声がイヤホン等から以下のように出力される。
・シナリオ音声
ナレーション「2015年10月12日、舞台はXX都市。繰り広げられる激しいバトルに戦士たちは疲弊していた…」
ヒーローキャラ「XX都市が俺を待ってるぜ！」
ナレーション「そのXX都市で8人の敵を倒すことが使命である。」
【０２００】
次いで、シナリオが進行している通常時は、クライアント端末１にヒーローキャラクターが表示され、ユーザの状況に応じてヒーローキャラクターが自動発話したり、対応する効果音が流れたりする。状況に応じた自動発話は、図２６Ａ〜図２６Ｄを参照して説明した処理と同様である。
・自動発話音声
ユーザ状況：位置情報の解析により、ユーザがXX都市に移動したことを認識。
ヒーローキャラ「ここがXX都市か。敵はどこだ！？」
【０２０１】
続いて、ある条件により、事前にシナリオに用意されたイベントが発生する。イベントが発生した場合は、ヒーローキャラクターまたはナレーションによりイベントが発生した旨と、イベントクリアのために必要なアクションが通知される。ユーザがそのアクションを正しく行うことで、イベントクリアとなる。このような条件に応じたイベント発生といったシナリオ実行処理について、以下詳細に説明する。
【０２０２】
（４−２−５．シナリオ実行処理）
本実施形態によるシナリオ管理部３７は、シナリオ実行部３７２により、ユーザの発話や移動場所、アクション（行動）等をトリガとしてシナリオイベント（本実施形態では「イベント」と称される）を発生させ、イベントクリアのための所定のアクションをユーザに指示する等の処理を行う。以下、図３５〜図４２を参照して具体的に説明する。
【０２０３】
・ユーザ音声をトリガとしたイベントの発生
図３５は、本実施形態によるユーザ音声をトリガとしたイベントの実行処理を示すシーケンス図である。図３５に示すように、まず、クライアント端末１は、マイクにより周辺の音データを収音し（ステップＳ４９０）、収音した音データをエージェントサーバ２へ送信する（ステップＳ４９３）。
【０２０４】
次に、エージェントサーバ２のシナリオ管理部３７は、情報解析部３７３により、音データの解析を行い、ユーザ音声の抽出を行う。ユーザ音声ができた場合、シナリオ実行部３７２は、ユーザが参加中のシナリオからユーザの発話に対応するイベントを検索する（ステップＳ４９６）。イベントの検索は、シナリオＤＢ３７４に格納されている、ユーザが参加中のシナリオのシナリオデータを参照して行う。上述したように、各シナリオには、１以上のイベントが含まれ、イベント発生のトリガ（条件）とイベント内容とイベントクリアのためのアクションとが対応付けられたデータがシナリオデータとしてシナリオＤＢ３７４に格納されている。シナリオデータの具体例は、上記表２に示した通りである。シナリオ管理部３７は、表２に示したようなイベントデータを参照して、ユーザ音声（すなわち発話内容）をトリガ（発生条件）とするイベントを検索する。
【０２０５】
次いで、シナリオ実行部３７２は、検索したイベントの情報をシナリオデータから抽出し（ステップＳ４９９）、対応する指定のアクション（イベントクリアのための指定のアクション）に関する情報をクライアント端末１へ送信する（ステップＳ５０２）。なお、対応するイベントが検索できなかった場合、シナリオ実行部３７２は特にクライアント端末１への情報送信は行わないようにしてもよいし、イベント発生のためのヒント（トリガの示唆）を出すようにしてもよい。また、クライアント端末１による音データの収音およびエージェントサーバ２への送信は、シナリオ開催期間中に定期的に行われ得る。
【０２０６】
次に、クライアント端末１は、イベントクリアのための指定のアクションを行うよう、表示出力や音声出力等によりユーザに指示する（ステップＳ５０５）。ここで、図３６を参照してイベント発生時における表示画面の具体例について説明する。
【０２０７】
図３６は、本実施形態によるイベント発生時における表示画面例を示す図である。図３６左に示すように、例えばユーザのある発話音声W6が上述した音声変換機能によりエージェントキャラクターの音声W7に変換されると共に、当該発話音声W6が特定の発話であって対応するイベントが検索された場合、当該イベントをクリアするためのアクションが指示される。例えば図３６右に示すように、「上にジャンプするんだ！今すぐ！」といったエージェントの発話音声W8がイヤホン等から出力されたり、「ジャンプだ！」といったテキストとエージェントの画像を含む画面１２４がクライアント端末１の表示部に表示されたりする。これにより、ユーザは、イベントに対応する指定のアクションを実行することができる。
【０２０８】
続いて、クライアント端末１は、ユーザの行動等を検知する各センサからの出力結果を取得し（ステップＳ５０８）、各センサの出力結果をエージェントサーバ２へ送信する（ステップＳ５１１）。ユーザの行動等を検知する各センサとは、例えば加速度センサ、ジャイロセンサ、地磁気センサ、カメラ等である。
【０２０９】
次いで、エージェントサーバ２は、情報解析部３６６により、各センサからの出力結果を解析し（例えば行動認識の解析）、解析結果に基づいてシナリオ実行部３７２により指定のアクションが行われたか否かを判断する（ステップＳ５１４）。
【０２１０】
次に、指定のアクションが行われたと判断された場合（ステップＳ５１４／Ｙｅｓ）、シナリオ実行部３７２は、対応するイベントがクリアされたと判断し（ステップＳ５１７）、クライアント端末１に対して、イベントをクリアした旨を送信する（ステップＳ５２０）。また、シナリオ実行部３７２は、イベントクリアの情報をシナリオＤＢ３７４に登録（更新）する。
【０２１１】
そして、クライアント端末１は、イベントをクリアした旨を表示出力や音声出力等によりユーザに通知する（ステップＳ５２３）。
【０２１２】
このように、本実施形態では、ユーザの特定の発話をトリガとして所定のイベントを発生させ、所定のアクションをユーザに行うよう促し、アクションが検知された場合に当該イベントをクリアしたとしてシナリオを進行させることができる。
【０２１３】
・移動場所（ユーザの位置）をトリガとしたイベントの発生
図３７は、本実施形態によるユーザの位置をトリガとしたイベントの実行処理を示すシーケンス図である。図３７に示すように、まず、クライアント端末１は、ＧＰＳ等により現在位置情報を取得し（ステップＳ５３０）、取得した現在位置情報をエージェントサーバ２へ送信する（ステップＳ５３３）。
【０２１４】
次に、エージェントサーバ２のシナリオ管理部３７は、情報解析部３７３により、位置情報の解析を行い、位置情報で示される場所を特定する。例えば情報解析部３７３は、ランドマーク情報が紐付けられた地図データを参照して、ユーザが現在居る場所の名称（地名、都市名、建物名、公園名等）や種別（駅、公園、海辺、郵便局等）を取得する。場所が特定できた場合、シナリオ実行部３７２は、ユーザが参加中のシナリオから特定した場所に対応するイベントを検索する（ステップＳ５３６）。イベントの検索は、シナリオＤＢ３７４に格納されている、ユーザが参加中のシナリオのシナリオデータを参照して行う。シナリオ管理部３７は、上記表２に示したようなイベントデータを参照して、ユーザの現在居る場所（すなわち移動場所）をトリガとするイベントを検索する。
【０２１５】
次いで、シナリオ実行部３７２は、検索したイベントの情報をシナリオデータから抽出し（ステップＳ５３９）、対応する指定のアクション（イベントクリアのための指定のアクション）に関する情報をクライアント端末１へ送信する（ステップＳ５４２）。なお、クライアント端末１による現在位置情報の取得およびエージェントサーバ２への送信は、シナリオ開催期間中に定期的に行われ得る。
【０２１６】
次に、クライアント端末１は、イベントクリアのための指定のアクションを行うよう、表示出力や音声出力等によりユーザに指示する（ステップＳ５４５）。
【０２１７】
続いて、クライアント端末１は、ユーザの行動等を検知する各センサからの出力結果を取得し（ステップＳ５４８）、各センサの出力結果をエージェントサーバ２へ送信する（ステップＳ５５１）。
【０２１８】
次いで、エージェントサーバ２は、情報解析部３６６により、各センサからの出力結果を解析し（例えば行動認識の解析）、解析結果に基づいてシナリオ実行部３７２により指定のアクションが行われたか否かを判断する（ステップＳ５５４）。
【０２１９】
次に、指定のアクションが行われたと判断された場合（ステップＳ５５４／Ｙｅｓ）、シナリオ実行部３７２は、対応するイベントがクリアされたと判断し（ステップＳ５５７）、クライアント端末１に対して、イベントをクリアした旨を送信する（ステップＳ５６０）。また、シナリオ実行部３７２は、イベントクリアの情報をシナリオＤＢ３７４に登録（更新）する。
【０２２０】
そして、クライアント端末１は、イベントをクリアした旨を表示出力や音声出力等によりユーザに通知する（ステップＳ５６３）。
【０２２１】
このように、本実施形態では、ユーザの位置をトリガとして所定のイベントを発生させ、所定のアクションをユーザに行うよう促し、アクションが検知された場合に当該イベントをクリアしたとしてシナリオを進行させることができる。
【０２２２】
・複数ユーザが出会うこと（複数ユーザの位置）をトリガとしたイベントの発生
図３８は、本実施形態による複数ユーザの位置をトリガとしたイベントの実行処理を示すシーケンス図である。図３８に示すように、まず、クライアント端末１は、ＧＰＳ等により現在位置情報を取得し（ステップＳ５７０）、取得した現在位置情報をエージェントサーバ２へ送信する（ステップＳ５７２）。
【０２２３】
次いで、エージェントサーバ２のシナリオ管理部３７は、同じシナリオに参加している他のキャラクターをエージェントとしている他ユーザがユーザの近くにいるか否かを判断する（ステップＳ５７３）。シナリオに参加している各ユーザの位置情報は、定期的にクライアント端末１から送信され、エージェントサーバ２側で管理されている。また、シナリオ管理部３７は、ユーザが特定の場所に移動した際に近辺に居る他のキャラクターのユーザを検索するようにしてもよい。また、シナリオ管理部３７は、同じシナリオに参加している不特定の他のキャラクターのユーザを検索するようにしてもよい。
【０２２４】
次に、近くに他のキャラクターをエージェントとする他ユーザが居ると判断された場合（ステップＳ５７３／Ｙｅｓ）、シナリオ管理部３７は、対応するイベントを検索する（ステップＳ５７６）。シナリオ管理部３７は、例えば上記表２に示したようなイベントデータを参照して、「同じシナリオに参加する他のキャラクターが近くに居る」場合をトリガとするイベント（例えば、「オーバーレイ表示」）を検索する。
【０２２５】
次いで、シナリオ実行部３７２は、検索したイベントの情報をシナリオデータから抽出し（ステップＳ５７９）、イベントの実行処理を行う。ここでは、例えば「オーバーレイ表示」というイベントである場合、シナリオ実行部３７２は、近くに居る人の顔画像の取得要求をクライアント端末１に対して行う（ステップＳ５８２）。
【０２２６】
次に、クライアント端末１は、エージェントサーバ２からの要求に応じて、カメラを起動し、ユーザに対して近くの人にカメラをかざすよう指示する（ステップＳ５８５）。ここでは、カメラを起動して近くの人にかざす行動が、イベントクリアのための指定のアクションとなる。
【０２２７】
続いて、クライアント端末１は、近くの人の顔をカメラにより撮像して撮像画像を取得し（ステップＳ５８８）、撮像画像をエージェントサーバ２に送信する（ステップＳ５９１）。
【０２２８】
次いで、エージェントサーバ２のシナリオ管理部３７は、情報解析部３６６により、撮像画像を解析し、ユーザの近辺に居る人物の顔認識を行う（ステップＳ５９４）。さらに、シナリオ実行部３７２は、上記ステップＳ５７３で位置情報に基づいてユーザの近辺に居ると判断された他ユーザの顔情報と、撮像画像に基づく顔認識結果とを参照して、近辺に居る人物の顔認証を行ってもよい。
【０２２９】
次に、近辺に居る人物の顔認識ができた場合（ステップＳ５９４／Ｙｅｓ）、シナリオ実行部３７２は、上記ステップＳ５７３で判断した近辺に居る他のキャラクターの情報をシナリオＤＢ３７４から取得し（ステップＳ５９７）、クライアント端末１へ送信する（ステップＳ６００）。キャラクター情報には、キャラクターの画像が含まれる。
【０２３０】
続いて、クライアント端末１は、ユーザが近くの人物（相手ユーザ）にクライアント端末１のカメラをかざしてスルー画像が表示部に表示されている際に、エージェントサーバ２から送信されたキャラクター情報に基づいて、相手が成りきっているエージェントキャラクターの画像をスルー画像上で相手にオーバーレイ表示する（ステップＳ６０３）。これにより、ユーザは、現実空間で同シナリオに登場する他のキャラクターと出会うことができる。なお、エージェントサーバ２は、相手のキャラクター画像を相手のスルー画像に重畳表示するのみならず、例えば相手の発話音声を相手のキャラクターの音声に変換してユーザのイヤホン等から再生するようにしてもよい。また、相手ユーザのクライアント端末１においても同様にユーザのスルー画像にユーザのキャラクターを重畳表示させたり、ユーザの音声をユーザのキャラクターの音声に変換して再生したりするようにしてもよい。これにより、両ユーザは、同シナリオに登場するキャラクター同士として出会い、会話することができる。
【０２３１】
ここで、図３９Ａおよび図３９Ｂを参照して本実施形態による他のキャラクターのオーバーレイ表示の具体例について説明する。図３９Ａは、本実施形態によるカメラをかざす行動をユーザに促す表示画面例を示す図である。図示された画面１２５は、上記ステップＳ５８５でクライアント端末１の表示部に表示される誘導画面であって、エージェントキャラクターの画像およびカメラ起動ボタン１２５ａが含まれる。また、エージェントキャラクターの声色で、「カメラを起動して近くの人にかざしてみるんだ！」といった発話音声W9が再生されてもよい。これによりユーザは、エージェントキャラクターの誘導に従ってカメラ起動ボタン１２５ａをタップしてカメラを起動し、近くの人物にかざすといったイベントクリアのための指定のアクションを取ることができる。
【０２３２】
図３９Ｂは、本実施形態による他のキャラクターのオーバーレイ表示について説明する図である。図３９Ｂに示すように、ユーザがクライアント端末１を近くにいる人物にかざすと、クライアント端末１の表示部に、クライアント端末１のカメラで撮像したスルー画像が表示され、さらにスルー画像に写る相手ユーザに相手のキャラクター画像がリアルタイムで重畳された画像１２６が表示される。この際、クライアント端末１は、エージェントサーバ２により相手ユーザの発話音声が相手ユーザのキャラクター音声に変換された音声や、状況に応じて自動発話される相手ユーザのキャラクターの所定フレーズ音声W10をイヤホン等から再生してもよい。
【０２３３】
次いで、シナリオ実行部３７２は、対応するイベントがクリアされたと判断し（ステップＳ６０６）、クライアント端末１に対して、イベントをクリアした旨を送信する（ステップＳ６０９）。また、シナリオ実行部３７２は、イベントクリアの情報をシナリオＤＢ３７４に登録（更新）する。
【０２３４】
そして、クライアント端末１は、イベントをクリアした旨を表示出力や音声出力等によりユーザに通知する（ステップＳ６１２）。
【０２３５】
このように、本実施形態では、複数ユーザの位置に基づいて、同じシナリオに参加するキャラクター同士が現実空間で出会うことをトリガとして所定のイベントを発生させることができる。
【０２３６】
・各センサからの出力結果をトリガとしたイベントの発生
図４０は、本実施形態による各センサからの出力結果をトリガとしたイベントの実行処理を示すシーケンス図である。図４０に示すように、まず、クライアント端末１は、各センサからの出力結果を取得し（ステップＳ６２０）、エージェントサーバ２へ送信する（ステップＳ６２３）。各センサとは、例えば加速度センサ、ジャイロセンサ、地磁気センサ、カメラ等であってクライアント端末１や、クライアント端末１と通信接続するウェアラブル端末（例えばスマートバンド、スマートウォッチ、スマートアイグラス）等に設けられ、ユーザの行動を認識する。
【０２３７】
次に、エージェントサーバ２のシナリオ管理部３７は、情報解析部３７３により、各センサの出力結果の解析を行い、ユーザの行動を特定する。ユーザの行動（寝ている、起きた、走った、歩いた、電車／自転車／自動車に乗った等）が特定できた場合、シナリオ実行部３７２は、ユーザが参加中のシナリオからユーザの行動に対応するイベントを検索する（ステップＳ６２６）。イベントの検索は、シナリオＤＢ３７４に格納されている、ユーザが参加中のシナリオのシナリオデータを参照して行う。シナリオ管理部３７は、上記表２に示したようなイベントデータを参照して、ユーザの行動をトリガとするイベントを検索する。
【０２３８】
次いで、シナリオ実行部３７２は、検索したイベントの情報をシナリオデータから抽出し（ステップＳ６２９）、対応する指定のアクション（イベントクリアのための指定のアクション）に関する情報をクライアント端末１へ送信する（ステップＳ６３２）。なお、クライアント端末１による各センサからの出力結果の取得およびエージェントサーバ２への送信は、シナリオ開催期間中に定期的に行われ得る。
【０２３９】
次に、クライアント端末１は、イベントクリアのための指定のアクションを行うよう、表示出力や音声出力等によりユーザに指示する（ステップＳ６３５）。
【０２４０】
続いて、クライアント端末１は、ユーザの行動等を検知する各センサからの出力結果を取得し（ステップＳ６３８）、各センサの出力結果をエージェントサーバ２へ送信する（ステップＳ６４１）。
【０２４１】
次いで、エージェントサーバ２は、情報解析部３６６により、各センサからの出力結果を解析し（例えば行動認識の解析）、解析結果に基づいてシナリオ実行部３７２により指定のアクションが行われたか否かを判断する（ステップＳ６４４）。
【０２４２】
次に、指定のアクションが行われたと判断された場合（ステップＳ６４４／Ｙｅｓ）、シナリオ実行部３７２は、対応するイベントがクリアされたと判断し（ステップＳ６４７）、クライアント端末１に対して、イベントをクリアした旨を送信する（ステップＳ６５０）。また、シナリオ実行部３７２は、イベントクリアの情報をシナリオＤＢ３７４に登録（更新）する。
【０２４３】
そして、クライアント端末１は、イベントをクリアした旨を表示出力や音声出力等によりユーザに通知する（ステップＳ６５３）。
【０２４４】
このように、本実施形態では、ユーザの行動をトリガとして所定のイベントを発生させ、所定のアクションをユーザに行うよう促し、アクションが検知された場合に当該イベントをクリアしたとしてシナリオを進行させることができる。
【０２４５】
以上、本実施形態によるシナリオイベントの実行処理について具体的に説明した。なお、本実施形態によるシナリオイベントの発生トリガは、上述した発話（ユーザ音声）、移動場所（位置情報）、複数ユーザが出会うこと（複数ユーザの位置情報）、各センサの出力結果（ユーザ行動）、若しくはユーザの表情（撮像画像）、日時等のうち、少なくともいずれか１以上を含む条件としてもよい。例えば、ある特定の場所で、ある発話を行うことを条件としたり、ある特定の時刻にある場所に移動することを条件としてもよい。また、上述したトリガのうち、所定の順（予め設定された順序、優先度の高い順序等）にイベント発生有無を判断してもよい。
【０２４６】
また、上述したイベントは、エージェントAppが非起動時（バッググラウンドで実行中）にも発生し得る。イベント発生時は、例えばプッシュ通知でその旨が知らされ（「エージェントApp通知  イベントが発生！」等）、エージェントAppを起動することでその内容を確認することができる。
【０２４７】
・シナリオクリア
１つのシナリオには例えば複数のイベントが含まれ、シナリオ開催期間中に全てのイベントをクリアすることが求められる。以下、図４１〜図４２を参照して本実施形態によるシナリオクリアの一例について説明する。
【０２４８】
図４１は、本実施形態によるシナリオクリアの判断処理を示すシーケンス図である。図４１に示すように、まず、エージェントサーバ２のシナリオ管理部３７は、ユーザが参加中のシナリオにおける全てのイベントがクリアされたか否かを判断する（ステップＳ６６０）。
【０２４９】
次いで、全てのイベントがクリアされたと判断した場合（ステップＳ６６０／Ｙｅｓ）、シナリオ実行部３７２は、当該シナリオがクリアされたと判断し（ステップＳ６６３）、クライアント端末１に対して、シナリオをクリアした旨を送信する（ステップＳ６６６）。また、シナリオ実行部３７２は、シナリオクリアの情報をシナリオＤＢ３７４に登録（更新）する。
【０２５０】
そして、クライアント端末１は、シナリオをクリアした旨を表示出力や音声出力等によりユーザに通知する（ステップＳ６６９）。ここで、図４２に、本実施形態によるシナリオクリア時の通知画面例を示す。
【０２５１】
図示された例では、画面１２８に、「シナリオ＃１  『XX都市でバトル』をクリアしました！！」といった通知と、ＯＫボタンが表示される。これによりユーザは、参加中のシナリオ＃１の全てのイベントをクリアしたことが分かる。また、ＯＫボタンをタップすると当該通知の表示画面が閉じられ、例えばエージェントAppのメイン画面に戻る。
【０２５２】
＜＜５．まとめ＞＞
上述したように、本開示の実施形態による通信制御システムでは、エージェントを通してエージェントのキャラクターをユーザ自身が体験できるようにすることでエージェントシステムの娯楽性をさらに高めることが可能となる。
【０２５３】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本技術はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２５４】
例えば、上述したクライアント端末１、またはエージェントサーバ２に内蔵されるＣＰＵ、ＲＯＭ、およびＲＡＭ等のハードウェアに、クライアント端末１、またはエージェントサーバ２の機能を発揮させるためのコンピュータプログラムも作成可能である。また、当該コンピュータプログラムを記憶させたコンピュータ読み取り可能な記憶媒体も提供される。
【０２５５】
また、上述した実施形態では、クライアント端末１とインターネットを介して接続するエージェントサーバ２で各種機能が実現される構成を示したが、本実施形態はこれに限定されない。例えば、図３、図１５〜図１８に示すエージェントサーバ２の各構成のうち少なくとも一部が、クライアント端末１（スマートフォンやウェアラブル端末等）にあってもよい。また、図３、図１５〜図１８に示すエージェントサーバ２の構成全てがクライアント端末１に設けられ、クライアント端末１で全ての処理を行えるようにしてもよい。
【０２５６】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０２５７】
なお、本技術は以下のような構成も取ることができる。
（１）
複数種類のキャラクターに対応する音素データベースと発話フレーズデータベースを記憶するエージェント記憶部と、
ユーザのクライアント端末を介して特定のキャラクターを選択する選択信号を受信すると共に、当該特定のキャラクターの前記発話フレーズデータベースに応じた発話フレーズを送信する通信部と、
前記通信部を介して受信した前記ユーザのメッセージに基づいて、前記特定のキャラクターに対応する前記音素データベースを用いて前記特定のキャラクターの音声に変換した変換メッセージを生成し；
さらに前記ユーザのメッセージに対応する前記特定のキャラクターの発話フレーズを、前記発話フレーズデータベースを用いて生成し；
前記生成した変換メッセージおよび発話フレーズを前記クライアント端末に返送するよう制御する制御部と、
を備える、情報処理システム。
（２）
前記制御部は、前記通信部を介して受信した前記ユーザのコンテキストと、前記発話フレーズデータベースに基づいて、前記ユーザのメッセージに対応する発話フレーズを生成する、前記（１）に記載の情報処理システム。
（３）
前記ユーザのコンテキストは、前記ユーザの位置、顔認識、加速度情報、または生体センサ情報の少なくともいずれかである、前記（２）に記載の情報処理システム。
（４）
前記ユーザのメッセージは、ユーザの発話音声または当該発話音声をテキスト化したものである、前記（２）または（３）に記載の情報処理システム。
（５）
前記情報処理システムは、前記ユーザがキャラクターとして参加可能な複数のシナリオを記憶するシナリオ記憶部をさらに備え、
前記制御部は；
前記通信部を介して受信した前記ユーザからのシナリオ選択信号に応じて、前記シナリオ記憶部に記憶されるシナリオを選択し；
前記通信部を介して受信した前記ユーザのコンテキストが、前記選択したシナリオに記述されているイベント発生条件に一致すると、所定のイベントの発生を前記ユーザに通知するよう制御する、前記（１）〜（４）のいずれか１項に記載の情報処理システム。
（６）
前記所定のイベント発生時に前記ユーザに通知される内容には、特定のアクションを示す情報が含まれ、
前記制御部は、前記通信部を介して新たに受信した前記ユーザのコンテキストに基づいて、前記特定のアクションが実行された否かを判定し、実行されたと判定すると、イベントクリアを示す通知を前記ユーザに送信するよう制御する、前記（５）に記載の情報処理システム。
（７）
前記イベント発生条件の判断に用いられる前記ユーザのコンテキストは、前記ユーザの位置、発話、加速度情報、または生体センサ情報の少なくともいずれかである、前記（５）または（６）に記載の情報処理システム。
（８）
前記制御部は、前記選択されたシナリオに参加している各ユーザのクライアント端末の位置を示す各位置情報を前記通信部により受信し、前記ユーザの周辺に同一の前記シナリオに参加する他のユーザが存在すると判断した場合、前記通信部を介して前記ユーザにイベント発生の通知を行うよう制御する、前記（５）〜（７）のいずれか１項に記載の情報処理システム。
（９）
前記制御部は、前記通信部を介して受信した前記クライアント端末の撮像部により撮像された撮像画像に人物の顔を認識すると、当該顔に重畳表示するための前記他のユーザのキャラクターの画像を前記クライアント端末に送信するよう制御する、前記（８）に記載の情報処理システム。
（１０）
前記制御部は、前記通信部を介して受信した前記クライアント端末の収音部により収音された音声から他のユーザの発話音声を認識すると、当該発話音声を前記他のユーザのキャラクターの音声に変換した変換メッセージと、前記発話フレーズデータベースに基づく対応するフレーズを生成し、前記クライアント端末に送信するよう制御する、前記（８）または（９）に記載の情報処理システム。
（１１）
プロセッサが、
複数種類のキャラクターに対応する音素データベースと発話フレーズデータベースをエージェント記憶部に記憶することと、
ユーザのクライアント端末を介して特定のキャラクターを選択する選択信号を受信すると共に、当該特定のキャラクターの前記発話フレーズデータベースに応じた発話フレーズを通信部により送信することと、
前記通信部を介して受信した前記ユーザのメッセージに基づいて、前記特定のキャラクターに対応する前記音素データベースを用いて前記特定のキャラクターの音声に変換した変換メッセージを生成し；
さらに前記ユーザのメッセージに対応する前記特定のキャラクターの発話フレーズを、前記発話フレーズデータベースを用いて生成し；
前記生成した変換メッセージおよび発話フレーズを前記クライアント端末に返送するよう制御部により制御することと、
を含む、情報処理方法。
【符号の説明】
【０２５８】
１    クライアント端末
２    エージェントサーバ
３０  対話処理部
３００  対話処理部
３１０  質問文検索部
３２０  回答文生成部
３３０    会話ＤＢ
３４０    音素データ取得部
３０ａ  対話処理部
３１  基本対話処理部
３２  キャラクターＡ対話処理部
３３  人物Ｂ対話処理部
３４  人物Ｃ対話処理部
３５  ユーザ管理部
３５１  ログイン管理部
３５２  ユーザ情報ＤＢ
３５３  顔情報登録部
３５４  ユーザ位置情報登録部
３６    自動発話制御部
３６１  ユーザ音声抽出部
３６２  音素データ取得部
３６３  位置情報取得部
３６４  フレーズ検索部
３６５  フレーズＤＢ
３６６  情報解析部
３７    シナリオ管理部
３７１  データ管理部
３７２  シナリオ実行部
３７３  情報解析部
３７４  シナリオＤＢ
４０  音素記憶部
４１  基本用音素ＤＢ
４２    キャラクターＡ音素ＤＢ
４３    人物Ｂ音素ＤＢ
４４    人物Ｃ音素ＤＢ
５０    会話ＤＢ生成部
６０    音素ＤＢ生成部
７０    広告挿入処理部
７２    広告ＤＢ
８０  フィードバック取得処理部
３    ネットワーク
１０    エージェント
【図１】
0006795028.tif 000004
【図２】
0006795028.tif 000005
【図３】
0006795028.tif 000006
【図４】
0006795028.tif 000007
【図５】
0006795028.tif 000008
【図６】
0006795028.tif 000009
【図７】
0006795028.tif 000010
【図８】
0006795028.tif 000011
【図９】
0006795028.tif 000012
【図１０】
0006795028.tif 000013
【図１１】
0006795028.tif 000014
【図１２】
0006795028.tif 000015
【図１３】
0006795028.tif 000016
【図１４】
0006795028.tif 000017
【図１５】
0006795028.tif 000018
【図１６】
0006795028.tif 000019
【図１７】
0006795028.tif 000020
【図１８】
0006795028.tif 000021
【図１９】
0006795028.tif 000022
【図２０】
0006795028.tif 000023
【図２１】
0006795028.tif 000024
【図２２】
0006795028.tif 000025
【図２３】
0006795028.tif 000026
【図２４】
0006795028.tif 000027
【図２５】
0006795028.tif 000028
【図２６Ａ】
0006795028.tif 000029
【図２６Ｂ】
0006795028.tif 000030
【図２６Ｃ】
0006795028.tif 000031
【図２６Ｄ】
0006795028.tif 000032
【図２７】
0006795028.tif 000033
【図２８】
0006795028.tif 000034
【図２９】
0006795028.tif 000035
【図３０】
0006795028.tif 000036
【図３１】
0006795028.tif 000037
【図３２】
0006795028.tif 000038
【図３３】
0006795028.tif 000039
【図３４】
0006795028.tif 000040
【図３５】
0006795028.tif 000041
【図３６】
0006795028.tif 000042
【図３７】
0006795028.tif 000043
【図３８】
0006795028.tif 000044
【図３９Ａ】
0006795028.tif 000045
【図３９Ｂ】
0006795028.tif 000046
【図４０】
0006795028.tif 000047
【図４１】
0006795028.tif 000048
【図４２】
0006795028.tif 000049