(57)【特許請求の範囲】
【請求項１】
ユーザの状態に基づいて行動を決定するための決定情報を記憶する行動情報記憶部と、
ユーザの状態を認識するユーザ状態認識部と、
前記ユーザ状態認識部が認識した前記ユーザの状態と、前記決定情報とに基づいて、実行する行動を決定する行動決定部と、
前記行動決定部が決定した行動を実行したことに対する前記ユーザの反応を認識する反応認識部と、
前記ユーザ状態認識部が認識した前記ユーザの状態、前記行動決定部が決定した行動、及び前記反応認識部が認識した前記ユーザの反応を、外部のサーバに送信する送信部と、
前記行動決定部が前記ユーザの状態と前記決定情報とに基づいて実行する行動を決定できなかった場合に、前記ユーザ状態認識部が認識した前記ユーザの状態に適した行動を、前記サーバから受信する受信部と、
前記受信部が前記サーバから受信した行動に基づいて、前記決定情報を更新する行動情報更新部と
を備える行動制御システム。
【請求項２】
前記ユーザ状態認識部が認識した前記ユーザの状態に基づいて、前記システムの現在の感情を示す感情値を決定する感情決定部と、
前記感情決定部が決定した前記感情値に基づいて、前記行動決定部が決定した行動の実行形態を決定する行動制御部と
を更に備える請求項１に記載の行動制御システム。
【請求項３】
前記送信部は更に、前記ユーザの属性を前記サーバに送信し、
前記受信部は、前記行動決定部が前記ユーザの状態と前記決定情報とに基づいて実行する行動を決定できなかった場合に、前記ユーザ状態認識部が認識した前記ユーザの状態及び前記ユーザの属性に適した行動を、前記サーバから受信する
請求項１または２に記載の行動制御システム。
【請求項４】
前記決定情報は、前記行動を行う場合に満たされるべきユーザの状態を示す条件と、前記条件に対応付けられた行動とを示す情報を含み、
前記行動制御システムは、
前記ユーザ状態認識部が認識した前記ユーザの状態に基づいて、前記決定情報に含まれる前記条件が満たされているか否かを判断する条件判断部
を更に備え、
前記受信部は、前記条件判断部によって前記決定情報に含まれるいずれの条件も満たされていないことが判断された場合に、前記ユーザ状態認識部が認識した前記ユーザの状態に適した行動を、前記サーバから受信する
請求項１から３のいずれか１項に記載の行動制御システム。
【請求項５】
前記決定情報は、１以上の前記行動のそれぞれの適正度を示す情報を含み、
前記行動決定部は、前記決定情報に含まれる情報のうち前記条件判断部によって満たされたことが判断された条件に対応付けられた前記１以上の行動のうち、前記決定情報に含まれる適正度が予め定められた値より高い行動を、実行する行動として決定し、
前記受信部は、前記条件判断部によって満たされたことが判断された前記条件に対応付けられた前記１以上の行動の適正度が、いずれも前記予め定められた値以下である場合に、前記ユーザ状態認識部が認識した前記ユーザの状態に適した行動を、前記サーバから受信する
請求項４に記載の行動制御システム。
【請求項６】
前記行動情報更新部は、前記条件判断部によって満たされたことが判断された前記条件に対応付けて、前記受信部が前記サーバから受信した行動を前記決定情報に追加する
請求項５に記載の行動制御システム。
【請求項７】
前記行動情報更新部は、前記反応認識部が認識した前記ユーザの反応が不良であった場合に、前記条件判断部によって満たされたことが判断された前記条件及び前記行動決定部が決定した行動に対応付けて前記決定情報に記憶されている適正度を低下させる
請求項５または６に記載の行動制御システム。
【請求項８】
コンピュータを、請求項１から７のいずれか１項に記載の行動制御システムとして機能させるためのプログラム。
【請求項９】
請求項１から７のいずれか１項に記載の複数の行動制御システムと、
前記サーバと
を備えるシステム。
【請求項１０】
第１の行動制御システムにおいて認識されたユーザの状態、前記第１の行動制御システムにおいて当該ユーザの状態に基づいて決定された行動、及び当該行動が実行されたことに対する当該ユーザの反応を、前記第１の行動制御システムから受信するユーザ反応受信部と、
前記ユーザ反応受信部が受信した前記ユーザの状態、前記行動、及び前記ユーザの反応を対応づけて記憶する行動結果記憶部と、
第２の行動制御システムにおいて認識されたユーザの状態を、前記第２の行動制御システムから受信するユーザ状態受信部と、
前記ユーザ状態受信部が受信した前記ユーザの状態に合致する状態に対応付けて前記行動結果記憶部が記憶している前記ユーザの反応に基づいて、前記ユーザ状態受信部が受信した前記ユーザの状態に合致する状態に対応付けて前記行動結果記憶部が記憶している前記行動の中から、前記ユーザ状態受信部が受信した前記ユーザの状態に適した行動を選択する行動選択部と、
前記行動選択部が選択した行動を、前記第２の行動制御システムに送信する送信部と
を備えるサーバ。
【請求項１１】
コンピュータを、請求項１０記載のサーバとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、行動制御システム、システム及びプログラムに関する。
【背景技術】
【０００２】
ユーザと通話相手との会話を学習してユーザの問いかけに対する通話相手の返答を返答テーブルに蓄積する端末が知られていた（例えば、特許文献１参照）。
［先行技術文献］
［特許文献］
［特許文献１］特開２０１１−２５３３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ユーザの状態に対して適切な行動を決定できない場合がある。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、ユーザの状態に基づいて行動を決定するための決定情報を記憶する行動情報記憶部と、ユーザの状態を認識するユーザ状態認識部と、ユーザ状態認識部が認識したユーザの状態と、決定情報とに基づいて、実行する行動を決定する行動決定部と、行動決定部が決定した行動を実行したことに対するユーザの反応を認識する反応認識部と、ユーザ状態認識部が認識したユーザの状態、行動決定部が決定した行動、及び反応認識部が認識したユーザの反応を、外部のサーバに送信する送信部と、行動決定部がユーザの状態と決定情報とに基づいて実行する行動を決定できなかった場合に、ユーザ状態認識部が認識したユーザの状態に適した行動を、サーバから受信する受信部と、受信部がサーバから受信した行動に基づいて、決定情報を更新する行動情報更新部とを備える行動制御システムが提供される。
【０００５】
ユーザ状態認識部が認識したユーザの状態に基づいて、システムの現在の感情を示す感情値を決定する感情決定部と、感情決定部が決定した感情値に基づいて、行動決定部が決定した行動の実行形態を決定する行動制御部とを更に備えてよい。
【０００６】
送信部は更に、ユーザの属性をサーバに送信し、受信部は、行動決定部がユーザの状態と決定情報とに基づいて実行する行動を決定できなかった場合に、ユーザ状態認識部が認識したユーザの状態及びユーザの属性に適した行動を、サーバから受信してよい。
【０００７】
決定情報は、行動を行う場合に満たされるべきユーザの状態を示す条件と、条件に対応付けられた行動とを示す情報を含み、行動制御システムは、ユーザ状態認識部が認識したユーザの状態に基づいて、決定情報に含まれる条件が満たされているか否かを判断する条件判断部を更に備え、受信部は、条件判断部によって決定情報に含まれるいずれの条件も満たされていないことが判断された場合に、ユーザ状態認識部が認識したユーザの状態に適した行動を、サーバから受信してよい。
【０００８】
決定情報は、１以上の行動のそれぞれの適正度を示す情報を含み、行動決定部は、決定情報に含まれる情報のうち条件判断部によって満たされたことが判断された条件に対応付けられた１以上の行動のうち、決定情報に含まれる適正度が予め定められた値より高い行動を、実行する行動として決定し、受信部は、条件判断部によって満たされたことが判断された条件に対応付けられた１以上の行動の適正度が、いずれも予め定められた値以下である場合に、ユーザ状態認識部が認識したユーザの状態に適した行動を、サーバから受信してよい。
【０００９】
行動情報更新部は、条件判断部によって満たされたことが判断された条件に対応付けて、受信部がサーバから受信した行動を決定情報に追加してよい。
【００１０】
行動情報更新部は、反応認識部が認識したユーザの反応が不良であった場合に、条件判断部によって満たされたことが判断された条件及び行動決定部が決定した行動に対応付けて決定情報に記憶されている適正度を低下させてよい。
【００１１】
本発明の第２の態様においては、コンピュータを、上記の行動制御システムとして機能させるためのプログラムが提供される。
【００１２】
本発明の第３の態様においては、上記の複数の行動制御システムと、サーバとを備えるシステムが提供される。
【００１３】
本発明の第４の態様においては、第１の行動制御システムにおいて認識されたユーザの状態、第１の行動制御システムにおいて当該ユーザの状態に基づいて決定された行動、及び当該行動が実行されたことに対する当該ユーザの反応を、第１の行動制御システムから受信するユーザ反応受信部と、ユーザ反応受信部が受信したユーザの状態、行動、及びユーザの反応を対応づけて記憶する行動結果記憶部と、第２の行動制御システムにおいて認識されたユーザの状態を、第２の行動制御システムから受信するユーザ状態受信部と、ユーザ状態受信部が受信したユーザの状態に合致する状態に対応付けて行動結果記憶部が記憶しているユーザの反応に基づいて、ユーザ状態受信部が受信したユーザの状態に合致する状態に対応付けて行動結果記憶部が記憶している行動の中から、ユーザ状態受信部が受信したユーザの状態に適した行動を選択する行動選択部と、行動選択部が選択した行動を、第２の行動制御システムに送信する送信部とを備えるサーバが提供される。
【００１４】
本発明の第５の態様においては、コンピュータを、上記のサーバとして機能させるためのプログラムが提供される。
【００１５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係るシステム５の一例を概略的に示す。
【図２】ロボット１００がユーザ１０に対して実行する行動を概略的に示す。
【図３】ロボット１００がデータの記録を実行する場面を概略的に示す。
【図４】ロボット１００の機能構成を概略的に示す。
【図５】サーバ２００の機能構成を概略的に示す。
【図６】知覚処理部４１６が知覚する情報を概略的に示す。
【図７】意味理解部４１８が理解する情報を概略的に示す。
【図８】反応ルール４２１に含まれる情報をテーブル形式で示す。
【図９】反応ルールに基づく処理を概略的に示す。
【図１０】ロボット１００による動作フローの一例を概略的に示す。
【図１１】サーバ２００が格納している反応ルール統計情報５２２の一例を示す。
【図１２】サーバ２００に記録させる情報に付帯するラベルを決定するために実行する行動を概略的に示す。
【図１３】記録形式を切り換えるための記録形式切換ルール４７１の一例を示す。
【図１４】記録形式の切り換えに関する動作フローの一例を概略的に示す。
【発明を実施するための形態】
【００１７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１８】
図１は、本実施形態に係るシステム５の一例を概略的に示す。システム５は、ロボット１００、ロボット１０１、ロボット１０２、及びサーバ２００を備える。ユーザ１０ａ、ユーザ１０ｂ、ユーザ１０ｃ、及びユーザ１０ｄは、ロボット１００のユーザである。ユーザ１１ａ、ユーザ１１ｂ及びユーザ１１ｃは、ロボット１０１のユーザである。ユーザ１２ａ及びユーザ１２ｂは、ロボット１０２のユーザである。なお、本実施形態の説明において、ユーザ１０ａ、ユーザ１０ｂ、ユーザ１０ｃ、及びユーザ１０ｄを、ユーザ１０と総称する場合がある。また、ユーザ１１ａ、ユーザ１１ｂ及びユーザ１１ｃを、ユーザ１１と総称する場合がある。また、ユーザ１２ａ及びユーザ１２ｂを、ユーザ１２と総称する場合がある。ロボット１０１及びロボット１０２は、ロボット１００と略同一の機能を有する。そのため、ロボット１００の機能を主として取り上げてシステム５を説明する。
【００１９】
ロボット１００は、ユーザ１０と会話を行ったり、ユーザ１０に映像を提供したりする。このとき、ロボット１００は、通信網２０を介して通信可能なサーバ２００等と連携して、ユーザ１０との会話や、ユーザ１０への映像等の提供を行う。例えば、ロボット１００は、自身で適切な会話を学習するだけでなく、サーバ２００と連携して、ユーザ１０とより適切に会話を進められるように学習を行う。また、ロボット１００は、撮影したユーザ１０の映像データ等をサーバ２００に記録させ、必要に応じて映像データ等をサーバ２００に要求して、ユーザ１０に提供する。
【００２０】
また、ロボット１００は、自身の感情の種類を表す感情値を持つ。例えば、ロボット１００は、「喜」、「怒」、「哀」、「楽」、「快」、「不快」、「安心」、「不安」、「悲しみ」、「興奮」、「心配」、「安堵」、「充実感」、「虚無感」及び「普通」のそれぞれの感情の強さを表す感情値を持つ。ロボット１００は、例えば興奮の感情値が大きい状態でユーザ１０と会話するときは、早いスピードで音声を発する。このように、ロボット１００は、自己の感情を行動で表現することができる。
【００２１】
また、ロボット１００は、ユーザ１０の感情を認識する機能を有する。ロボット１００は、カメラ機能で取得したユーザ１０の顔画像や、マイク機能で取得したユーザ１０の音声を解析することによって、ユーザ１０の感情を認識する。ロボット１００は、認識したユーザ１０の感情等に基づいて、ロボット１００が実行する行動を決定する。例えば、ロボット１００は、ユーザ１０が寂しそうだと認識した場合に、ユーザ１０に対して声をかける等の行動を実行する。
【００２２】
ロボット１００は、ユーザ１０の感情や自己の感情等に基づいてロボット１００が実行する行動を定めたルールを記憶しており、ルールに従って各種の行動を行う。図２及び図３等に関連して、ルールに基づく行動の一例を概略的に説明する。
【００２３】
図２は、ロボット１００がユーザ１０に対して実行する行動を概略的に示す。ロボット１００には、ユーザ１０の感情に基づいて行動を決定するための反応ルールを有している。図示された反応ルールによると、ロボット１００の感情が「普通」であり、ユーザの状態が「１人、寂しそう」という条件が満たされた場合に、ロボット１００の感情が「心配になる」という感情の変化内容と、「声をかける」の行動を実行できることが定められている。ここで、行動には、ユーザ１０の思いやりの強さを表す思いやりポイントが対応付けられている。
【００２４】
ロボット１００は、反応ルールに基づいて、ロボット１００の現在の感情が「普通」であり、かつ、ユーザ１０が１人で寂しそうな状態にあると認識した場合、ロボット１００の「心配」の感情値を増大させる。また、ロボット１００は、反応ルールで定められた「声をかける」という行動を、ユーザ１０に対して実行する行動として選択する。例えば、ロボット１００は、「声をかける」という行動を選択した場合に、心配していることを表す「どうしたの？」という言葉を、心配そうな音声に変換して出力する。
【００２５】
ロボット１００は、ユーザ１０に音声を出力した後に、ユーザ１０の感情の変化を認識する。例えば、ロボット１００が「どうしたの？」という音声を出力した後に、ユーザ１０が「ありがとう。大丈夫だよ！」と返答すると、ロボット１００は、ユーザ１０の返答を音声解析することによって、ユーザ１０の感情が好転したと認識する。ロボット１００は、「声をかける」という行動によって、ユーザ１０の感情が好転したことから、「声をかける」という行動が思いやり度の高い行動であったと判断して、「声をかける」という行動の思いやりポイントを高める。これにより、ロボット１００は、ユーザ１０にとって適正な行動を学習していくことができる。
【００２６】
また、ロボット１００は、この行動によって、ユーザ１０からポジティブな反応が得られたことを示すユーザ反応情報を、サーバ２００に送信する。ユーザ反応情報には、例えば、「一人、寂しそう」という条件、「声をかける」という行動、ユーザ１０の反応がポジティブであったこと、及びユーザ１０の属性が含まれる。
【００２７】
サーバ２００は、ロボット１００から受信したユーザ反応情報を記憶する。なお、サーバ２００は、ロボット１００だけでなく、ロボット１０１及びロボット１０２のそれぞれからもユーザ反応情報を受信して記憶する。そして、サーバ２００は、ロボット１００、ロボット１０１及びロボット１０２からのユーザ反応情報を解析して、推奨される反応ルールを生成する。
【００２８】
ロボット１００は、推奨される反応ルールをサーバ２００に問い合わせることにより、推奨される反応ルールをサーバ２００から受信する。ロボット１００は、推奨される反応ルールを、ロボット１００が記憶している反応ルールに組み込む。これにより、ロボット１００は、ロボット１０１やロボット１０２等が獲得した反応ルールを、自身の反応ルールに組み込むことができる。
【００２９】
図３は、ロボット１００がサーバ２００に記録させるデータの記録形式の切り換えを実行する場面を概略的に示す。ロボット１００には、ユーザ１０の感情に基づいて記録形式の切り換えを行うための記録形式切換ルールを有している。図示された記録形式切換ルールによると、「一定人数以上の家族がいる」及び「一定数以上、家族の笑顔が検出された」という条件が満たされた場合に、データの記録形式を「低圧縮形式に切り換える」という行動が定められている。
【００３０】
ロボット１００は、この記録形式切換ルールの条件が満されていない期間には、ユーザ１０の骨格データ等の高圧縮データを連続的にサーバ２００に送信して、サーバ２００に記録させる。なお、骨格データは、ユーザの形状を表現する形状データの一例である。ロボット１００は、記録形式切換ルールの条件が満たされたと判断すると、フルＨＤの映像データ及び音声データの送信を開始して、骨格データに加えて、フルＨＤの映像データ及び音声データを含む低圧縮データをサーバ２００に記録させる。
【００３１】
そして、ロボット１００は、ユーザ１０に何か楽しい映像を提供する場合に、サーバ２００にフルＨＤの映像データ及び音声データを送信するよう要求して、サーバ２００から受信した映像データをユーザ１０に提供する。これにより、ロボット１００は、ユーザ１０が強く思い出に残るようなシーンに遭遇した場合に、そのシーンの高画質な映像データをサーバ２００に蓄積することができる。
【００３２】
図４は、ロボット１００の機能構成を概略的に示す。ロボット１００は、センサ部４００と、センサモジュール部４１０と、格納部４２０と、ユーザ状態認識部４３０と、条件判断部４３４と、ユーザ反応認識部４３２と、行動決定部４４０と、感情決定部４４２と、ルール更新部４２２と、通信処理部４８０と、記録データ生成部４７０と、切換制御部４７７と、ラベル生成部４７８と、制御対象４５２とを有する。
【００３３】
制御対象４５２は、表示装置、スピーカ及び目部のＬＥＤ、並びに、腕、手及び足等を駆動するモータ等を含む。ロボット１００の姿勢や仕草は、腕、手及び足等のモータを制御することにより制御される。ロボット１００の感情の一部は、これらのモータを制御することにより表現できる。また、ロボット１００の目部のＬＥＤの発光状態を制御することによっても、ロボット１００の感情の一部を表現できる。なお、ロボット１００の姿勢、仕草及び表情は、ロボット１００の態度の一例である。
【００３４】
センサ部４００は、マイク４０１と、３Ｄ深度センサ４０２と、２Ｄカメラ４０３と、距離センサ４０４とを含む。マイク４０１は、音声を連続的に検出して音声データを出力する。なお、マイク４０１は、ロボット１００の頭部に設けられ、バイノーラル録音を行う機能を有してよい。３Ｄ深度センサ４０２は、赤外線パターンを連続的に照射して、赤外線カメラで連続的に撮影された赤外線画像から赤外線パターンを解析することによって、物体の輪郭を検出する。２Ｄカメラ４０３は、イメージセンサの一例である。２Ｄカメラ４０３は、可視光によって撮影して、可視光の映像情報を生成する。距離センサは、例えばレーザや超音波等を照射して物体までの距離を検出する。なお、センサ部４００は、この他にも、時計、ジャイロセンサ、タッチセンサ、モータフィードバック用のセンサ等を含んでよい。
【００３５】
なお、図４に示すロボット１００の構成要素のうち、制御対象４５２及びセンサ部４００を除く構成要素は、ロボット１００が有する行動制御システムが有する構成要素の一例である。ロボット１００の行動制御システムは、制御対象４５２を制御の対象とする。
【００３６】
格納部４２０は、反応ルール４２１と、知覚確認ルール４１７と、意味理解ルール４１９と、記録形式切換ルール４７１と、人物ＤＢ４２４とを含む。格納部４２０の少なくとも一部は、メモリ等の記憶媒体によって実装される。人物ＤＢ４２４は、ユーザ１０の顔画像、ユーザ１０の属性情報等を格納する。なお、図４に示すロボット１００の構成要素のうち、制御対象４５２、センサ部４００及び格納部４２０を除く構成要素の機能は、ＣＰＵがプログラムに基づいて動作することによって実現できる。例えば、基本ソフトウエア（ＯＳ）及びＯＳ上で動作するプログラムによって、これらの構成要素の機能をＣＰＵの動作として実装できる。
【００３７】
センサモジュール部４１０は、音声感情認識部４１１と、発話理解部４１２と、表情認識部４１３と、顔認識部４１４とを含む。センサモジュール部４１０には、センサ部４００で検出された情報が入力される。センサモジュール部４１０は、センサ部４００で検出された情報を解析して、解析結果をユーザ状態認識部４３０に出力する。
【００３８】
センサモジュール部４１０の音声感情認識部４１１は、マイク４０１で検出されたユーザ１０の音声を解析して、ユーザ１０の感情を認識する。例えば、音声感情認識部４１１は、音声の周波数成分等の特徴量を抽出して、抽出した特徴量に基づいて、ユーザ１０の感情を認識する。発話理解部４１２は、マイク４０１で検出されたユーザ１０の音声を解析して、ユーザ１０の発話内容を表す文字情報を出力する。
【００３９】
表情認識部４１３は、２Ｄカメラ４０３で撮影されたユーザ１０の画像から、ユーザ１０の表情及びユーザ１０の感情を認識する。例えば、表情認識部４１３は、目及び口の形状、位置関係等に基づいて、ユーザ１０の表情及び感情を認識する。
【００４０】
顔認識部４１４は、ユーザ１０の顔を認識する。顔認識部４１４は、人物ＤＢ４２４に格納されている顔画像と、２Ｄカメラ４０３によって撮影されたユーザ１０の顔画像とをマッチングすることによって、ユーザ１０を認識する。
【００４１】
ユーザ状態認識部４３０は、ユーザ１０の状態を認識する。ユーザ状態認識部４３０は、知覚処理部４１６及び意味理解部４１８を含む。センサモジュール部４１０で解析された情報は、知覚処理部４１６に出力される。知覚処理部４１６は、センサモジュール部４１０の解析結果及び格納部４２０の知覚確認ルール４１７を用いて、主として知覚に関する処理を行う。例えば、知覚処理部４１６は、「パパが１人です。」、「パパが笑顔でない確率９０％です。」等の知覚情報を生成する。
【００４２】
意味理解部４１８は、知覚処理部４１６で生成された知覚情報の意味を、格納部４２０の意味理解ルール４１９を用いて理解する処理を行う。例えば、意味理解部４１８は、「パパが１人、寂しそうです。」等の意味情報を生成する。なお、知覚情報や意味情報は、ユーザ１０の状態を表す情報の一例である。ここで、ユーザ１０の状態を表す情報とは、ユーザ１０の感情を表す情報を含んでよい。
【００４３】
意味理解部４１８によって生成された意味情報は、条件判断部４３４、ユーザ反応認識部４３２及びラベル生成部４７８に出力される。
【００４４】
条件判断部４３４は、意味情報と、格納部４２０の反応ルール４２１に基づいて、反応ルール４２１で定められている条件が満たされたことを判断する。なお、反応ルール４２１は、ロボット１００の行動を決定するための決定情報の一例である。上述したように、反応ルール４２１によって、複数の行動及び複数の行動のそれぞれの思いやりポイントが対応付けられる。また、反応ルール４２１には、ロボット１００における感情を示す感情値及びユーザ１０の状態に基づいて行動を決定するための情報が含まれる。このように、格納部４２０は、ユーザの状態に基づいて行動を決定するための情報を記憶する行動情報記憶部の一例として機能する。
【００４５】
条件判断部４３４は、反応ルール４２１によって記憶されている条件が満たされたことを判断する。行動決定部４４０は、条件判断部４３４によって満たされたことが判断された条件に対応付けて反応ルール４２１で記憶されている複数の行動の中から、実行する行動を決定する。具体的には、行動決定部４４０は、条件判断部４３４によって満たされたことが判断された条件に対応付けて反応ルール４２１によって記憶されている複数の行動のそれぞれの思いやりポイントに基づいて、実行する行動を決定する。このように、行動決定部４４０は、ユーザ状態認識部４３０が認識したユーザ１０の状態と、反応ルール４２１の情報とに基づいて、実行する行動を決定する。
【００４６】
感情決定部４４２は、意味理解部４１８によって生成された意味情報に基づいて、ロボット１００の現在の感情を示す感情値を決定する。このように、感情決定部４４２は、ユーザ状態認識部４３０が認識したユーザの状態に基づいて、ロボット１００の現在の感情を示す感情値を決定する。
【００４７】
行動制御部４５０は、行動決定部４４０が決定した行動に基づいて、制御対象４５２を制御する。例えば、行動制御部４５０は、行動決定部４４０が発話することを決定した場合に、制御対象４５２に含まれるスピーカから音声を出力させる。このとき、行動制御部４５０は、感情決定部４４２が更新した感情値に基づいて、音声の発声速度を決定する。例えば、行動制御部４５０は、興奮の感情値が大きいほど、速い発生速度を決定する。このように、行動制御部４５０は、感情決定部４４２が決定した感情値に基づいて、行動決定部４４０が決定した行動の実行形態を決定する。
【００４８】
ユーザ反応認識部４３２は、行動決定部４４０が決定した行動を実行したことに対するユーザ１０の感情の変化を認識する。なお、ユーザ１０の感情の変化は、ユーザ１０の反応の一例である。すなわち、ユーザ反応認識部４３２は、行動決定部４４０が決定した行動を実行したことに対するユーザ１０の反応を認識する。なお、ユーザ反応認識部４３２は、ユーザ１０の音声や表情に基づいて感情の変化を認識してよい。その他、ユーザ反応認識部４３２は、センサ部４００に含まれるタッチセンサで衝撃が検出されたことに基づいて、ユーザ１０の感情の変化を認識してよい。例えば、ユーザ反応認識部４３２は、センサ部４００に含まれるタッチセンサで衝撃が検出された場合に、ユーザ１０の感情が悪くなったと認識してよい。
【００４９】
ユーザ反応認識部４３２によって認識されたユーザ１０の反応を示す情報は、感情決定部４４２、通信処理部４８０及びラベル生成部４７８に出力される。上述したように、感情決定部４４２は、ユーザ状態認識部４３０によってユーザ１０が寂しそうと認識された場合、反応ルール４２１に従って、悲しさの感情値を増大させてよい。また、ユーザ反応認識部４３２によって、ユーザ１０が笑顔になったと認識された場合、反応ルール４２１によって、喜び感情値を増大させてよい。このように、感情決定部４４２は、ユーザ状態認識部４３０が認識したユーザの状態及び行動決定部４４０が決定した行動を実行したことに対するユーザの反応の少なくとも一方に基づいて、感情値を更新する。
【００５０】
また、ルール更新部４２２は、ユーザ反応認識部４３２が認識したユーザ１０の感情の変化に基づいて、行動決定部４４０が決定した行動に対応づけて反応ルール４２１によって記憶されている思いやりポイントを変更する。具体的には、ルール更新部４２２は、ユーザ反応認識部４３２が認識したユーザ１０の感情の変化に基づいて、条件判断部４３４によって満たされたことが判断された条件に対応付けて反応ルール４２１によって記憶されている複数の行動の思いやりポイントのうち、行動決定部４４０が決定した行動の思いやりポイントを変更する。例えば、ルール更新部４２２は、ユーザ反応認識部４３２によってユーザ１０の感情が良くなったことが認識された場合に、条件判断部４３４によって満たされたことが判断された条件及び行動決定部４４０が決定した行動に対応付けて反応ルール４２１によって記憶されている思いやりポイントを大きくする。一方、ルール更新部４２２は、ユーザ反応認識部４３２によってユーザ１０の感情が悪くなったことが認識された場合に、条件判断部４３４によって満たされたことが判断された条件及び行動決定部４４０が決定した行動に対応付けて反応ルール４２１によって記憶されている思いやりポイントを小さくする。
【００５１】
通信処理部４８０は、サーバ２００との通信を担う。上述したように、通信処理部４８０は、ユーザ反応情報をサーバ２００に送信する。このように、通信処理部４８０は、ユーザ状態認識部４３０が認識したユーザ１０の状態、行動決定部４４０が決定した行動、及びユーザ反応認識部４３２が認識したユーザ１０の反応を、サーバ２００に送信する。また、通信処理部４８０は、行動決定部４４０がユーザ１０の状態と反応ルール４２１とに基づいて実行する行動を決定できなかった場合に、推奨される反応ルールをサーバ２００から受信する。このように、通信処理部４８０は、行動決定部４４０がユーザ１０の状態と反応ルール４２１とに基づいて実行する行動を決定できなかった場合に、ユーザ状態認識部４３０が認識したユーザ１０の状態に適した行動を、サーバ２００から受信する。
【００５２】
ルール更新部４２２は、通信処理部４８０がサーバ２００から受信した、推奨される反応ルールに基づいて、反応ルール４２１を更新する。このように、ルール更新部４２２は、通信処理部４８０がサーバ２００から受信した行動に基づいて、反応ルール４２１を更新する。
【００５３】
なお、感情決定部４４２は、ユーザ状態認識部４３０が認識したユーザ１０の状態に基づいて行動決定部４４０がユーザに対する行動を決定できなかった場合に、悲しさの強さを表す感情値を、より大きい悲しさの強さを表す値に変更してよい。
【００５４】
記録データ生成部４７０は、センサ部４００によって検出された情報に基づいて、サーバ２００に記録させるデータを生成する。通信処理部４８０は、記録データ生成部４７０が生成した情報を、外部のサーバに送信してサーバに記録させる。
【００５５】
例えば、記録データ生成部４７０は、３Ｄ深度センサ４０２により連続的に検出された骨格情報に基づいて、記録用の骨格データを連続的に生成する。また、記録データ生成部４７０は、２Ｄカメラ４０３によって撮影された映像情報に基づいて、記録用の映像データを生成する。例えば、記録データ生成部４７０は、フルＨＤの映像データを生成する。また、記録データ生成部４７０は、マイク４０１により連続的に検出された音声情報に基づいて、記録用の音声データを生成する。
【００５６】
ここで、映像データは、例えばフルＨＤの映像データであり、骨格データより情報量が多い。したがって、骨格データは、高圧縮データとみなすことができ、映像データは、低圧縮データとみなすことができる。このように、骨格データは、第１記録形式の情報の一例であり、映像データは、第１記録形式の情報より情報量が多い第２記録形式の情報の一例である。このように、記録データ生成部４７０は、ユーザ１０を連続的に検出するセンサによって検出された情報の少なくとも一部を連続的に処理して、第１記録形式の情報又は第１記録形式の情報より情報量が多い第２記録形式の情報を生成する。
【００５７】
ここで、知覚処理部４１６は、センサ部４００によって検出された情報の少なくとも一部に基づいて、認識された家族の数及び笑顔が検出された家族の数を知覚する。上述したように、知覚処理部４１６は、センサ部４００によって検出されたユーザ１０の画像及びユーザ１０の音声の少なくとも一方に基づいて、笑っているユーザを知覚する。ここで、笑顔は、ユーザ１０の感情の強さを表す情報の一例である。したがって、笑顔が検出された家族の数は、複数のユーザ１０のそれぞれの感情の強さの合計値の一例である。このように、知覚処理部４１６は、センサ部４００によって検出された情報の少なくとも一部に基づいて、ユーザの感情の強さを検出する。
【００５８】
そして、知覚処理部４１６は、記録形式切換ルール４７１に基づいて、一定数以上の家族が認識され、かつ、一定数以上の家族の笑顔が検出されたか否かを知覚する。そして、切換制御部４７７は、記録データ生成部４７０に骨格データを生成させている場合に、知覚処理部４１６によって一定数以上の家族が認識され、かつ、一定数以上の家族の笑顔が検出されたことに応じて、記録データ生成部４７０に映像データの生成を開始させる。このように、切換制御部４７７は、記録データ生成部４７０に第１記録形式の情報を生成させている場合に、複数のユーザ１０の数が予め定められた人数を超え、かつ、検出された感情の強さの合計値が予め定められた閾値を超えたことに応じて、記録データ生成部４７０に生成させる情報の記録形式を、第１記録形式から、第１記録形式の情報より情報量が多い第２記録形式に切り換える。
【００５９】
ラベル生成部４７８は、記録データに付帯されて記録されるラベルを生成する。ラベルは、記録データに付帯される付帯情報の一例である。ラベル生成部４７８は、例えば「ヨシコちゃんのお誕生日」、「ヨシコちゃんの誕生パーティー」等の言葉を含むラベルを生成する。ラベルの他の例としては、「進学祝い」、「クリスマス」及び「正月」等を例示できる。ラベル生成部４７８は、日時情報や、ユーザ１０への質問に対してユーザ反応認識部４３２で認識された返答内容に基づいて、誕生日であることや誕生パーティーをしている等の状況を判断して、判断した状況に基づいてラベルを生成する。このように、ラベル生成部４７８は、センサ部４００サで検出された情報の少なくとも一部に基づいて、現在の状況を表す１以上の言葉を含むラベルを生成する。通信処理部４８０は、記録データ生成部４７０が生成した記録データにラベル生成部４７８が生成したラベルを対応付けて、サーバ２００に送信してサーバ２００に記録させる。
【００６０】
図５は、サーバ２００の機能構成を概略的に示す。サーバ２００は、格納部５２０と、反応ルール生成部５３０と、反応ルール検索部５４０と、統計情報制御部５５０と、アクセス制御部５６０と、通信処理部５８０とを有する。
【００６１】
格納部５２０には、反応ルール５２１、反応ルール統計情報５２２及び記録データ５６１が格納される。反応ルール５２１は、反応ルール４２１と同様の情報を含む。反応ルール統計情報５２２は、反応ルール４２１と同様の情報に加えて、ユーザ１０、ユーザ１１及びユーザ１２の属性情報と、ポジティブな反応が得られた割合の情報を含む。記録データ５６１は、上述した骨格データ、映像データ及び音声データ等の、記録用のデータである。
【００６２】
通信処理部５８０は、ロボット１００、ロボット１０１及びロボット１０２とサーバ２００との間の通信を担う。通信処理部５８０は、ロボット１００から送信されたユーザ反応情報を受信する。上述したように、ロボット１０１及びロボット１０２も、ロボット１００が有する機能と同様の機能を有する。したがって、例えばロボット１０１は、ユーザ１１に対して実行した行動に対する反応を含むユーザ反応情報を、サーバ２００に送信する。通信処理部５８０は、ロボット１０１から送信されたユーザ反応情報及びロボット１０２から送信されたユーザ反応情報を受信する。このように、通信処理部５８０は、ロボット１０１において認識されたユーザ１１の状態、ロボット１０１においてユーザ１１の状態に基づいて決定された行動、及び当該行動が実行されたことに対するユーザ１１の反応を、ロボット１０１から受信する。
【００６３】
統計情報制御部５５０は、格納部５２０の反応ルール統計情報５２２として、通信処理部５８０が受信したユーザ反応情報を蓄積する。このように、格納部５２０には、通信処理部５８０が受信したユーザの状態、行動、及びユーザの反応を対応づけて記憶される。統計情報制御部５５０に蓄積されるユーザ反応情報は、ユーザ１０に関するユーザ反応情報、ユーザ１１に関するユーザ反応情報及びユーザ１２に関するユーザ反応情報を含む。
【００６４】
反応ルール生成部５３０は、反応ルール統計情報５２２に蓄積されているユーザ反応情報に基づいて、推奨される反応ルールを生成して、反応ルール５２１として格納する。反応ルール統計情報５２２に含まれる情報に基づいて、ポジティブな反応が得られた行動を含む反応ルールを、推奨される反応ルールとして生成する。
【００６５】
ここで、ロボット１００が、推奨される反応ルールをサーバ２００に問い合わせた場合の動作を説明する。ロボット１００は、ロボット１００において認識されたユーザ１０の状態をサーバ２００に送信することによって、推奨される反応ルールをサーバ２００に問い合わせる。この場合、反応ルール検索部５４０は、通信処理部５８０が受信したユーザ１０の状態によって満たされる条件を有する反応ルールを、反応ルール５２１及び反応ルール統計情報５２２の少なくとも一方から検索する。通信処理部５８０は、反応ルール検索部５４０によって検索された反応ルールを、推奨される反応ルールとしてロボット１００に送信する。
【００６６】
このように、反応ルール検索部５４０は、通信処理部５８０が受信したユーザ１０の状態に合致する状態に対応付けて行動結果記憶部が記憶しているユーザ１０の反応に基づいて、通信処理部５８０が受信したユーザの状態に合致する状態に対応付けて反応ルール統計情報５２２に記憶されている行動の中から、通信処理部５８０が受信したユーザ１０の状態に適した行動を選択する。通信処理部５８０は、反応ルール検索部５４０が選択した行動を、ロボット１００に送信する。
【００６７】
アクセス制御部５６０は、通信処理部５８０がロボット１００、ロボット１０１及びロボット１０２からそれぞれ受信した記録データを、格納部５２０の記録データ５６１に格納する。また、アクセス制御部５６０は、記録データの送信要求を通信処理部５８０が受信した場合、要求された記録データを記録データ５６１から読み出して、通信処理部５８０に送信させる。
【００６８】
なお、図５に示すロボット１００の構成要素のうち、格納部４２０を除く構成要素の機能は、ＣＰＵがプログラムに基づいて動作することによって実現できる。例えば、基本ソフトウエア（ＯＳ）及びＯＳ上で動作するプログラムによって、これらの構成要素の機能をＣＰＵの動作として実装できる。
【００６９】
図６は、知覚処理部４１６が知覚する情報を概略的に示す。知覚処理部４１６は、３Ｄ深度センサ４０２による人物検出情報６０１、顔認識部４１４による顔検出情報６０２及びユーザ認識情報６０３が入力されると、人物検出情報６０１、顔検出情報６０２及びユーザ認識情報６０３を統合して、知覚情報６１１、知覚情報６１２及び知覚情報６１３を生成する。続いて、表情認識部４１３からの笑顔検出情報６０４が入力されると、笑顔検出情報６０４を変換して、知覚情報６１４を生成する。また、知覚処理部４１６は、知覚情報６１４で知覚した笑顔でない確率の高さに基づいて、「パパもしかして寂しい？」と知覚する（知覚情報６１５）。
【００７０】
ここで、知覚確認ルール４１７には、「もしかして寂しい？」と知覚した場合の知覚確認ルールとして、「誰かが１人」かつ「笑顔である確率が２０％以下」という条件部と、「マイクから３０秒、発話がないか確認する」という結論部とを持つ知覚確認ルール６３０が含まれている。知覚処理部４１６は、知覚情報６１３及び笑顔検出情報６０４から、知覚確認ルール６３０の条件部が満たされると判断して、知覚確認ルール６３０の結論部に基づいて、マイク４０１による検出結果の確認を実行する。具体的には、知覚処理部４１６は、マイク４０１から出力される音声を発話理解部４１２に解析させる。
【００７１】
ここで、発話理解部４１２は、マイク４０１によって音声が３０秒間検出されなかった場合に、発話が３０秒間検出されなかったことを示すタイムアウト情報を出力する。知覚処理部４１６は、発話理解部４１２からのタイムアウト情報６０５が入力されると、タイムアウト情報６０５を「パパは何も話しません。」という知覚情報６１６に変換する。
【００７２】
このようにして、知覚処理部４１６は、知覚情報６１１、知覚情報６１２、知覚情報６１３、知覚情報６１４、知覚情報６１５及び知覚情報６１６を含む知覚履歴６１０を生成する。知覚処理部４１６は、生成した知覚情報を、意味理解部４１８に出力する。
【００７３】
図７は、意味理解部４１８が理解する情報を概略的に示す。意味理解部４１８には、知覚処理部４１６が生成した知覚履歴６１０が入力される。意味理解部４１８は、知覚情報６１１、知覚情報６１２、知覚情報６１３、知覚情報６１４及び知覚情報６１５から、それぞれ意味情報７１１、意味情報７１２、意味情報７１３、意味情報７１４及び意味情報７１５を生成する。
【００７４】
なお、知覚情報６１４から意味情報７１４を生成する場合、意味理解部４１８は、意味理解部４１８は、知覚情報６１４に含まれる「確率９０％」という数値情報を、「あまり〜でない」という情報に曖昧化する。これにより、意味理解部４１８は、知覚情報６１４を曖昧化した意味情報７１４を生成する。
【００７５】
ここで、意味理解ルール４１９には、「もしかして寂しい？」と理解した場合の意味確認ルールとして、「誰かが１人」かつ「あまり笑顔でない」かつ「何も話さない」という条件部と、「誰かが１人、寂しそう」と理解するという結論部とを持つ意味理解ルール７３０が含まれる。意味理解部４１８は、意味理解ルール７３０に基づいて、意味情報７１３、意味情報７１４及び知覚情報６１６が意味理解ルール７３０の条件部を満たすと判断すると、「パパが１人、寂しそうです。」という意味情報７１７を生成する。このように、意味理解部４１８は、意味理解ルール７３０を用いて、意味情報７１４及び知覚情報６１６を統合して意味情報７１７を生成する。
【００７６】
このようにして、意味理解部４１８は、意味情報７１１、意味情報７１２、意味情報７１３、意味情報７１４、意味情報７１５及び意味情報７１７を含む意味履歴７１０を生成する。意味理解部４１８が生成した意味情報は、条件判断部４３４、ユーザ反応認識部４３２及びラベル生成部４７８に出力される。
【００７７】
図６及び図７等に関連して説明したように、知覚処理部４１６及び意味理解部４１８においては、知覚結果の正確性を失いながらも、知覚結果の意味を、パターン化した言語を用いて曖昧に記憶する。
【００７８】
図８は、反応ルール４２１に含まれる情報をテーブル形式で示す。反応ルール４２１は、「自己感情」及び「ユーザ状態」の条件を含む条件部と、「感情変化」及び「行動」を含む結論部と、「思いやりポイント」及び「褒められポイント」を含む「付属情報」とを含む。
【００７９】
「自己感情」の条件は、ロボット１００の自己の感情に関する条件である。「ユーザ状態」は、ユーザ１０の状態に関する条件である。「感情変化」は、ロボット１００の感情をどのように変更させるかを示す。「行動」は、ロボット１００が実行できる行動を表す。「思いやりポイント」は、ユーザ１０に対する思いやりの度合いを示す。「思いやりポイント」は、適正度の一例である。
【００８０】
図示されるように、反応ルール４２１の条件部は、「普通である」という「自己感情」の条件と、「誰かが一人、寂しそう」という「ユーザ状態」とを含む。この条件部に対応する結論部には、「心配になる」という感情変化を表す「感情変化」が含まれている。また、この条件部に対応する結論部として、「声をかける」、「心配そうな仕草だけ返す」及び「挨拶をする」という行動を示す「行動」が含まれている。また、「付属情報」によって、これらの「声をかける」、「心配そうな仕草だけ返す」及び「挨拶をする」という行動に対する「思いやりポイント」として、それぞれ３０ポイント、２０ポイント及び１０ポイントが対応付けられている。また、「付属情報」によって、これらの「声をかける」、「心配そうな仕草だけ返す」及び「挨拶をする」という行動に対する「褒められポイント」として、それぞれ５０ポイント、３０ポイント及び３０ポイントが対応付けられている。
【００８１】
このように、反応ルール４２１は、満たされるべきユーザの状態を示す条件と、条件に対応付けられた行動とを示す情報を含む。また、反応ルール４２１は、満たされるべきロボット１００の感情を示す条件と、条件に対応付けられた行動とを示す情報を含む。また、反応ルール４２１は、ロボット１００の感情値及びユーザ１０の状態に基づいて感情値を変更するための感情変更情報を含む。そして、感情決定部４４２は、感情決定部４４２によって決定された感情値及びユーザ状態認識部４３０が認識したユーザ１０の状態に対応付けて反応ルール４２１によって記憶されている感情変更情報に基づいて、感情値を更新する。
【００８２】
図９は、反応ルール４２１に基づく処理を概略的に示す。条件判断部４３４は、意味理解部４１８から「パパが一人、寂しそう」という意味情報７１７が入力されると、「パパが一人、寂しそう」というユーザ１０の状態と、現在のロボット１００の感情である「普通」の感情とによって満たされる条件部を、反応ルール４２１から検索する。
【００８３】
条件判断部４３４は、「パパが一人、寂しそう」というユーザ１０の状態と、「普通」の感情とが、反応ルール４２１内の反応ルール８１０の条件部を満たすと判断する。これにより、行動決定部４４０は、反応ルール８１０で定められた「声をかける」、「心配そうな仕草だけ返す」及び「挨拶をする」を、行動の候補９１０として特定する。そして、行動決定部４４０は、特定した行動の候補９１０の中から、実際に実行する行動を選択する。例えば、行動決定部４４０は、思いやりポイントの大きさに応じた選択確率で、１つの行動を選択する。ここでは、行動決定部４４０は、「声をかける」という行動を選択したとする。
【００８４】
また、感情決定部４４２は、反応ルール８１０で定められた「心配になる」という感情の変化内容に基づいて、感情値を更新する。例えば、感情決定部４４２は、心配さの強さを表す「心配」の感情値を増大させる。このように、感情決定部４４２は、反応ルール４２１に基づいて、ユーザ状態認識部４３０が認識したユーザ１０の状態に基づいて、感情値を更新する。例えば、感情決定部４４２は、ユーザ状態認識部４３０によってユーザ１０が寂しさを感じている状態にあると認識された場合に、心配の強さを表す感情値を、より大きい心配の強さを表す値に変更する。
【００８５】
続いて、行動制御部４５０は、「どうしたの？」という発話内容の音声を、制御対象４５２のスピーカから出力させる。このとき、行動制御部４５０は、現在の感情値に基づいて、心配そうな感情を表す音声特性を持つ音声を出力させる。例えば、スピードが比較的に遅い音声を生成させる。なお、行動制御部４５０は、「心配になる」という感情に基づいて、「どうしたの？」という発話内容を決定してよい。
【００８６】
続いて、ユーザ反応認識部４３２は、ユーザ１０の反応が検出されるのを待つ。例えば、「大丈夫だよ。ありがとう！」という音声や、そのときのユーザ１０の顔の表情に基づいて、「パパは少し笑顔です。」という意味情報９４０が意味理解部４１８から出力されると、ユーザ反応認識部４３２は、ユーザ１０が「寂しそう」な感情から「楽しそう」な感情に変化したと判断する。これにより、ルール更新部４２２は、「声をかける」という行動によってユーザ１０の感情が良くなったと判断する。これにより、「声をかける」という行動の思いやりポイントを、３０ポイントから４０ポイントに増加させる。また、ルール更新部４２２は、褒められポイントを５０ポイントから６０ポイントに増加させる。
【００８７】
また、感情決定部４４２は、ロボット１００が実行した行動によってユーザ１０の感情が良くなったことから、喜びの感情値を増大させる。また、行動制御部４５０は、増大させた喜びの感情値に基づいて、喜ばしい感情になったことを動作で表現する。例えば、行動制御部４５０は、喜びを表す仕草を行わせる。
【００８８】
また、通信処理部４８０は、反応ルール８１０に含まれる情報のうち「思いやりポイント」及び「褒められポイント」を除く情報と、ユーザ１０の反応がポジティブであったことを示す情報と、「パパ」として認識されたユーザ１０の属性とを含むユーザ反応情報９６０を、サーバ２００に送信する。
【００８９】
このように、行動決定部４４０は、感情決定部４４２によって決定された感情値、ユーザ状態認識部４３０が認識したユーザの状態及び反応ルール４２１に基づいて、実行される行動を決定する。具体的には、行動決定部４４０は、条件判断部４３４によって満たされたことが判断された条件に対応付けて反応ルール４２１によって記憶されている複数の行動の中から、条件判断部４３４によって満たされたことが判断された条件に対応付けて反応ルール４２１によって記憶されている思いやりポイントがより高い行動を、実行する行動としてより高い頻度で決定する。なお、行動決定部４４０は、思いやりポイントが最大の行動を、実際に実行する行動として選択してよい。この場合において、思いやりポイントが最大の行動が複数存在する場合、行動決定部４４０は、思いやりポイントが最大の複数の行動の中から、実際に実行する１つの行動をランダムに選択してよい。この場合に、行動決定部４４０は、褒められポイントに応じた選択確率で、実際に実行する１つの行動を選択してもよい。
【００９０】
図１０は、ロボット１００において行動を決定する動作に関する動作フローの一例を概略的に示す。図１０に示す動作フローは、例えば、ユーザ１０の感情を含む意味情報が入力された場合に開始される。なお、動作フロー中の「Ｓ」は、実行されるステップを表す。
【００９１】
条件判断部４３４は、反応ルール４２１が含む条件部のうち、ロボット１００の感情と、入力された意味情報とによって満される条件部を検索する（Ｓ１００２）。条件判断部４３４は、条件部が満たされた反応ルールの有無を判断する（Ｓ１００４）。条件部が満たされた反応ルールが存在すると判断した場合、行動決定部４４０は、検索された反応ルールの結論部で定められた行動の中から、ユーザ１０に対して実行する１つの行動を選択する（Ｓ１００６）。また、感情決定部４４２は、検索された反応ルールの結論部で定められた感情変化に基づいて、感情値を更新する（Ｓ１００８）。
【００９２】
続いて、行動制御部４５０は、Ｓ１００６で選択された行動を実行するよう、制御対象４５２を制御する（Ｓ１０１０）。このとき、行動制御部４５０は、Ｓ１００８で更新された後の感情値に基づいて、制御対象４５２を制御する。例えば、「心配」の感情を表す場合、行動制御部４５０は、ロボット１００の姿勢が心配そうな姿勢になるように、制御対象４５２を制御する。
【００９３】
続いて、ユーザ反応認識部４３２は、ユーザ１０の反応を表す意味情報が入力されるのを監視する（Ｓ１０１２）。ユーザ１０の反応を表す意味情報が入力されると、ユーザ反応認識部４３２は、入力された意味情報に基づいて、ユーザの反応がポジティブであるか否かを判断する（Ｓ１０１６）。
【００９４】
Ｓ１０１６の判断において、反応がポジティブであると判断した場合、感情決定部４４２は、「喜び」の感情値を増加させる（Ｓ１０１８）。また、ルール更新部４２２は、実行した行動に対応する思いやりポイント及び褒められポイントを増大させる。一方、Ｓ１０１６の判断において、ネガティブな反応が得られた場合、感情決定部４４２は、「悲しみ」の感情値を増加させる（Ｓ１０２２）。また、ルール更新部４２２は、実行した行動に対応する思いやりポイント及び褒められポイントを減少させる（Ｓ１０２４）。
【００９５】
このように、ルール更新部４２２は、ユーザ反応認識部４３２が認識したユーザの反応が不良でなかった場合に、条件判断部４３４によって満たされたことが判断された条件及び行動決定部４４０が決定した行動に対応付けて反応ルール４２１によって記憶されている思いやりポイントを増大させる。一方、ユーザ反応認識部４３２が認識したユーザの反応が不良であった場合、ルール更新部４２２は、条件判断部４３４によって満たされたことが判断された条件及び行動決定部４４０が決定した行動に対応付けて反応ルール４２１によって記憶されている思いやりポイントを減少させる。
【００９６】
また、行動制御部４５０は、行動決定部４４０が決定した行動を感情に応じて決定した実行形態で実行した後、感情決定部４４２は、当該行動が実行されたことに対するユーザの反応に基づいて、感情値を更に変化させる。具体的には、感情決定部４４２は、行動決定部４４０が決定した行動を行動制御部４５０が決定した実行形態でユーザに対して行ったことに対するユーザの反応が不良でなかった場合に、喜びの強さを表す感情値を、より大きい喜びの強さを表す値に変更する。また、感情決定部４４２は、行動決定部４４０が決定した行動を行動制御部４５０が決定した実行形態でユーザに対して行ったことに対するユーザの反応が不良であった場合に、悲しさの強さを表す感情値を、より大きい悲しさの強さを表す値に変更する。
【００９７】
行動制御部４５０は、Ｓ１０１８又はＳ１０２２で決定した感情値に基づいて、ロボット１００の感情を表現する（Ｓ１０２６）。例えば、行動制御部４５０は、「喜び」の感情値を増加させた場合、制御対象４５２を制御して、ロボット１００に喜んだ仕草を行わせる。また、行動制御部４５０は、「悲しみ」の感情値を増加させた場合、ロボット１００の姿勢がうなだれた姿勢になるように、制御対象４５２を制御する。続いて、通信処理部４８０は、ユーザ反応情報をサーバ２００に送信し（Ｓ１０２８）、ロボット１００の動作の決定に関する動作を終了する。
【００９８】
なお、Ｓ１００４の判断において、条件部が満たされた反応ルールが存在しなかったと判断された場合、通信処理部４８０は、サーバ２００に対して、推奨される反応ルールの問い合わせを行う。例えば、ロボット１００の感情を示す情報、入力された意味情報で表されるユーザの状態を示す情報、及び、ユーザ１０の属性を示す情報を、サーバ２００に送信する（Ｓ１０３０）。サーバ２００からは、問い合わせで送信した情報に適した反応ルールが、推奨される反応ルールとしてロボット１００に送信される。通信処理部４８０がサーバ２００から推奨される反応ルールを受信すると、ルール更新部４２２は、推奨される反応ルールを反応ルール４２１に組み込んで（Ｓ１０３２）、Ｓ１００６に移行する。この場合、Ｓ１００６及びＳ１００８では、サーバ２００から受信した反応ルールに基づいて、行動の選択及び感情値の更新を行う。このように、通信処理部４８０は、条件判断部４３４によって反応ルール４２１に含まれるいずれの条件も満たされていないことが判断された場合に、ユーザ状態認識部４３０が認識したユーザの状態に適した行動を、サーバ２００から受信する。
【００９９】
なお、本動作フローによれば、条件部が満たされた反応ルールが存在しなかった場合に、推奨される反応ルールの問い合わせを行う。なお、条件部が満たされた反応ルールが存在した場合でも、どの行動に対応付けられている思いやりポイントも予め定められた値より小さい場合には、行動を決定できないと判断してよい。この場合に、通信処理部４８０は、推奨される反応ルールの問い合わせを行ってよい。すなわち、行動決定部４４０は、決定情報に含まれる情報のうち条件判断部４３４によって満たされたことが判断された条件に対応付けられた１以上の行動のうち、決定情報に含まれる思いやりポイントが予め定められた値より高い行動を、実行する行動として決定する。通信処理部４８０は、条件判断部４３４によって満たされたことが判断された条件に対応付けられた１以上の行動の思いやりポイントが、いずれも予め定められた値以下である場合に、ユーザ状態認識部４３０が認識したユーザ１０の状態に適した行動を、サーバ２００から受信してよい。そして、ルール更新部４２２は、条件判断部４３４によって満たされたことが判断された条件に対応付けて、通信処理部４８０がサーバ２００から受信した行動を反応ルールに追加してよい。
【０１００】
なお、推奨される反応ルールの問い合わせは、行動決定部４４０が行動を決定できない場合の他に、バッチ処理等で定期的に行ってもよい。また、推奨される反応ルールの問い合わせは、ユーザ１０が睡眠していると判断した場合や、ロボット１００がアイドル状態またはスリープ状態に遷移した場合に行ってよい。その他、ロボット１００が行動しようとする任意のタイミングで、推奨される反応ルールの問い合わせを行ってよい。
【０１０１】
また、反応ルール４２１は、ユーザ１０に対して実行するべき行動が検索されなかった場合の行動を定めたルールを有してよい。例えば、反応ルール４２１は、「ユーザ１０に対して実行するべき行動が検索されなかった」という条件を定めた条件部と、「推奨される反応ルールをサーバ２００に問い合わせる」という行動を定めた結論部とを含むルールを有してよい。これにより、行動決定部４４０は、反応ルール４２１に従って、推奨される反応ルールをサーバ２００に問い合わせすることを決定してよい。
【０１０２】
図１１は、サーバ２００が格納している反応ルール統計情報５２２の一例を示す。反応ルール統計情報５２２は、「反応ルール」、「属性」、「人数」及び「反応結果」を含む。「反応ルール」は、「条件部」、「結論部」及び「思いやりポイント」を含む。反応ルール統計情報５２２の「条件部」、「結論部」及び「思いやりポイント」には、反応ルール４２１の「条件部」、「結論部」及び「思いやりポイント」に対応する情報が格納される。
【０１０３】
反応ルール統計情報５２２の「属性」には、ユーザ１０の属性が格納される。ユーザ１０の属性には、年齢層、性別、又は家庭内での役割、住んでいる地域の情報等を含む。「人数」には、反応ルール統計情報５２２に蓄積されている情報に寄与した人の数が格納される。「反応結果」には、ポジティブな反応があった回数と、ポジティネガティブな反応があった回数とを示す情報が格納される。
【０１０４】
通信処理部５８０がロボット１００からユーザ反応情報を受信した場合、統計情報制御部５５０は、ユーザ反応情報に含まれる属性に合致する属性に対応付けて、ユーザ反応情報に含まれる反応ルールの「条件部」及び「結論部」を、反応ルール統計情報５２２に格納する。また、統計情報制御部５５０は、ユーザ反応情報に含まれる反応の良否情報に基づいて、「ポジティブ回数」の値又は「ネガティブ回数」の値をインクリメントする。また、統計情報制御部５５０は、必要に応じて「人数」の値をインクリメントする。例えば、今回受信したユーザ反応情報が、過去において反応ルール統計情報５２２の同一レコードにユーザ反応情報を反映したことがあるユーザのユーザ反応情報である場合、「人数」の値をインクリメントしない。
【０１０５】
また、統計情報制御部５５０は、推奨される思いやりポイントを算出して、「反応ルール」の「思いやりポイント」に格納する。例えば、統計情報制御部５５０は、「ポジティブ回数」の値が大きいほど、推奨される思いやりポイントとしてより大きい値を算出する。具体的には、統計情報制御部５５０は、「ネガティブ回数」の値に対する「ポジティブ回数」の値の比が大きいほど、推奨される思いやりポイントとしてより大きい値を算出してよい。
【０１０６】
通信処理部５８０がロボット１００から推奨される反応ルールの問い合わせを受信した場合、反応ルール検索部５４０は、反応ルール５２１に格納されている反応ルールの中から、推奨される反応ルールを検索する。例えば、反応ルール検索部５４０は、反応ルール５２１から、問い合わせに含まれる「条件部」に合致する「条件部」を有する反応ルールを検索する。反応ルール検索部５４０によって検索された反応ルールは、問い合わせに対する応答として、通信処理部５８０からロボット１００に送信される。
【０１０７】
なお、反応ルール検索部５４０は、反応ルール統計情報５２２に格納されている反応ルールの中から、推奨される反応ルールを検索してよい。具体的には、反応ルール検索部５４０は、反応ルール統計情報５２２に格納されている反応ルールのうち、問い合わせに含まれる「条件部」に合致する「条件部」を有し、かつ、問い合わせに含まれる「属性」に合致する「属性」を有する反応ルールを検索してよい。これにより、サーバ２００は、ユーザ１０の属性に適した行動をロボット１００に提供できる。
【０１０８】
なお、図１２の例では、反応ルール統計情報５２２では、ユーザの属性毎に反応結果が集計されている。反応ルール統計情報の他の例としては、反応結果がユーザ別に集計されていてよい。
【０１０９】
図１２は、記録データに付帯されるラベルを決定するためにロボット１００が実行する行動を概略的に示す。行動決定部４４０は、日時情報及びユーザ１０の属性情報に基づいて、ユーザ１０の誕生日であることが判断された場合、誕生日であるか否かをユーザ１０に確認するために質問することを決定する。この場合、行動制御部４５０は、例えば「○○さん、今日は誕生日だね。お誕生日おめでとう！」という発話内容の音声を、制御対象４５２のスピーカから出力させる。
【０１１０】
その後、ユーザ反応認識部４３２は、ユーザ１０の発話内容から、ユーザ１０の反応が肯定的であったか否定的であったかを認識する。例えば、ユーザ１０が「ありがとう、嬉しいよ！」という返答をした場合、ユーザ反応認識部４３２は、ユーザ１０の反応が肯定的であったと認識する。認識されたユーザ１０の名前が「ヨシコちゃん」であった場合、ラベル生成部４７８は、「ヨシコちゃんの誕生日」というラベルを生成する。
【０１１１】
ラベル生成部４７８は、認識されたユーザ１０の名前を示す情報と、「ヨシコちゃんの誕生日」という情報とを含むラベルを、記録データに付帯するラベルとして生成する。通信処理部４８０は、３Ｄ深度センサ４０２で取得された骨格情報に基づく骨格データに、ラベル生成部４７８が生成したラベルを付帯した記録データを、サーバ２００に連続的に送信する。サーバ２００においては、ロボット１００から受信した記録データを、格納部５２０の記録データ５６１に格納する。
【０１１２】
意味理解部４１８において、３Ｄ深度センサ４０２から取得された骨格情報に基づく現在の骨格データによって、現在認識されている人数を算出する。また、過去の同じ時間帯に取得された骨格データをサーバ２００から取得して、過去の同じ時間帯に同じ室内で認識された人数の平均値を算出する。ここで、意味理解部４１８は、現在認識されている人数が、過去の同じ時間帯に同じ室内で認識された人数の平均値より予め定められた閾値以上多いと認識した場合に、いつもと違う状況であると認識する。また、意味理解部４１８は、過去の同じ時間帯に取得された骨格データに付帯されたラベルと、現在認識されているユーザ１０とを比較して、いつもは家にいないユーザ１０が現在認識されていると判断した場合に、いつもと違う状況であると認識する。なお、行動制御部４５０は、いつもと違う状況であると認識した場合、センサ部４００やセンサモジュール部４１０を制御して、より詳細な検出動作を行うように制御してよい。例えば、行動制御部４５０は、発話理解部４１２に対して、より高い精度で発話内容を認識するよう制御してよい。また、音声感情認識部４１１に対して、より高い精度で感情を認識するよう制御してよい。また、表情認識部４１３に対して、より高い精度で表情を認識するよう制御してよい。
【０１１３】
意味理解部４１８によっていつもと違う状況であると認識された場合、行動決定部４４０は、ユーザ１０に状況を確認するために質問することを決定する。例えば、「ヨシコちゃんの誕生日」というラベルが決定されている場合において、沢山の人が認識されていると判断した場合には、行動制御部４５０は、「ヨシコちゃんの誕生パーティーをするの？」という発話内容の音声を、制御対象４５２のスピーカから出力させる。
【０１１４】
この場合に、ユーザ反応認識部４３２は、ユーザ１０の発話内容から、ユーザ１０の反応が肯定的であったか否定的であったかを認識する。例えば、ユーザ１０が「そうだよ！」という返答をした場合、ユーザ反応認識部４３２は、ユーザ１０の反応が肯定的であったと認識する。この場合、ラベル生成部４７８は、「ヨシコちゃんの誕生パーティー」というラベルを生成する。なお、「ヨシコちゃんの誕生日」や「ヨシコちゃんの誕生パーティー」というラベルは、ユーザ１０の現在の状況を表すラベルの一例である。
【０１１５】
このように、ロボット１００は、センサ部４００で検出された情報の少なくとも一部に基づいて、現在の状況を確認するためにユーザ１０と対話を行う。そして、ラベル生成部４７８は、ユーザ１０との対話結果に基づいて、ユーザ１０の現在の状況を決定して、決定した情報に基づいて、ユーザ１０の現在の状況を表す１以上の文字情報を含むラベルを生成する。
【０１１６】
図１３は、記録形式切換ルール４７１の一例を示す。記録形式切換ルール４７１は、「一定数以上の家族が前にいる」かつ「一定数以上、家族の笑顔が検出された」という条件を定めた条件部と、「低圧縮の記録形式に切り換える」という行動を定めた結論部とを有するルール１３００が含まれる。また、記録形式切換ルール４７１には、「前にいる家族が一定数未満になった」かつ「一定数以上、家族の怒りが検出された」という条件を定めた条件部と、「高圧縮の記録形式に切り換える」という行動を定めた結論部とを有するルールが含まれる。
【０１１７】
なお、「一定数」の値は、１つの家族に属する人数が多いほど、大きくてよい。例えば、４人家族である場合、「一定数」の値は３であってよい。５人家族である場合、「一定数」の値は４であってよい。また、「一定数」の値には、意味理解部４１８で認識されるユーザ１０の数の履歴に基づいて決定されてよい。例えば、５人家族であっても、意味理解部４１８で４人しか認識されないことが多い場合は、「一定数」の値として３を決定してよい。
【０１１８】
図１４は、記録形式の切り換えに関する動作フローの一例を概略的に示す。本動作フローは、記録データ生成部４７０が高圧縮形式の記録データの生成を開始した場合に開始される。
【０１１９】
Ｓ１４０２において、知覚処理部４１６は、センサ部４００及びセンサモジュール部４１０が出力する情報に基づいて、特定の家族に属するユーザ１０の数と、笑顔度が予め定められた値を超えているユーザ１０の数の検出とを開始する。ここで、知覚処理部４１６は、センサ部４００及びセンサモジュール部４１０が出力する情報に基づいて存在が認識されたユーザのうち、人物ＤＢ４２４に家族として登録されているユーザ１０の数を数える。また、知覚処理部４１６は、笑顔度が予め定められた値を超えているユーザのうち、人物ＤＢ４２４に家族として登録されているユーザ１０の数を数える。
【０１２０】
Ｓ１４０４において、切換制御部４７７は、記録形式を低圧縮形式に切り換えることを定めたルール１３００の条件部が満たされたか否かを判断する。ルール１３００の条件部が満たされたと判断された場合、行動制御部４５０は、「楽しそうだから撮っておきますね！」という発話内容の音声を制御対象４５２のスピーカから出力させる（Ｓ１４０６）。これにより、映像を記録することをユーザ１０に通知する。
【０１２１】
Ｓ１４０８において、切換制御部４７７は、ユーザ１０から否定的な反応があったか否かを判断する。例えば、切換制御部４７７は、ユーザ１０の音声から否定的な語句が認識されなかった場合に、ユーザ１０から否定的な反応がなかったと判断する。ユーザ１０から否定的な反応がなかったと判断した場合、切換制御部４７７は、記録データ生成部４７０を制御して、骨格データに加えて、フルＨＤの映像データ及び音声データの生成を開始させる（Ｓ１４１０）。このようにして、切換制御部４７７は、記録形式を高圧縮形式から低圧縮形式に切り換わる。Ｓ１４０８の判断において、ユーザ１０から否定的な反応があったと判断した場合、予め定められたウェイト時間が経過してから（Ｓ１４２０）、Ｓ１４０４に処理を移行する。
【０１２２】
Ｓ１４１０で低圧縮形式に切り換えた後、Ｓ１４１２において、高圧縮形式に切り換えることを定めたルール１３１０の条件部が満たされたか否かを判断する。ルール１３１０の条件部が満たされたと判断された場合、切換制御部４７７は、記録形式を低圧縮形式から高圧縮形式に切り換える（Ｓ１４１４）。Ｓ１４１２の判断において、ルール１３１０の条件部が満たされていないと判断された場合、ルール１３１０の条件部が満たされるまで、Ｓ１４１２の判断を繰り返す。
【０１２３】
なお、Ｓ１４１２のルール１３１０に基づく判断の他、「記録を終了して」等のように、低圧縮形式による記録の停止を指示する発話が認識された場合にも、記録形式を低圧縮形式から高圧縮形式に切り換えてよい。また、記録形式を低圧縮形式に切り換えた後、予め定められた最大記録時間が経過した場合に、記録形式を低圧縮形式から高圧縮形式に切り換えてもよい。
【０１２４】
なお、切換制御部４７７は、笑顔の数に限らず、ユーザ１０の感情の強さが激しく変化したことに応じて、記録形式を切り換えてよい。例えば、切換制御部４７７は、センサ部４００に含まれるタッチセンサで予め定められた値より強い衝撃が検出された場合に、記録形式を低圧縮形式に切り換えてよい。
【０１２５】
なお、ロボット１００は、行動制御システムを備える電子機器の一例である。行動制御システムの適用対象は、ロボット１００に限られず、様々な電子機器に行動制御システムを適用できる。また、サーバ２００の機能は、１以上のコンピュータによって実装されてよい。サーバ２００の少なくとも一部の機能は、仮想マシンによって実装されてよい。また、サーバ２００の機能の少なくとも一部は、クラウドで実装されてよい。
【０１２６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１２７】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１２８】
５  システム
１０、１１、１２  ユーザ
２０  通信網
１００、１０１、１０２  ロボット
２００  サーバ
４００  センサ部
４０１  マイク
４０２  ３Ｄ深度センサ
４０３  ２Ｄカメラ
４０４  距離センサ
４１０  センサモジュール部
４１１  音声感情認識部
４１２  発話理解部
４１３  表情認識部
４１４  顔認識部
４１６  知覚処理部
４１７  知覚確認ルール
４１８  意味理解部
４１９  意味理解ルール
４２０  格納部
４２１  反応ルール
４２２  ルール更新部
４２４  人物ＤＢ
４３０  ユーザ状態認識部
４３２  ユーザ反応認識部
４３４  条件判断部
４４０  行動決定部
４４２  感情決定部
４５０  行動制御部
４５２  制御対象
４７０  記録データ生成部
４７１  記録形式切換ルール
４７７  切換制御部
４７８  ラベル生成部
４８０  通信処理部
５２０  格納部
５２１  反応ルール
５２２  反応ルール統計情報
５３０  反応ルール生成部
５４０  反応ルール検索部
５５０  統計情報制御部
５６０  アクセス制御部
５６１  記録データ
５８０  通信処理部
６０１  人物検出情報
６０２  顔検出情報
６０３  ユーザ認識情報
６０４  笑顔検出情報
６０５  タイムアウト情報
６１０  知覚履歴
６１１、６１２、６１３、６１４、６１５、６１６  知覚情報
６３０  知覚確認ルール
７１０  意味履歴
７１１、７１２、７１３、７１４、７１５、７１７  意味情報
７３０  意味理解ルール
８１０  反応ルール
９１０  候補
９４０  意味情報
９６０  ユーザ反応情報
１３００、１３１０  ルール
【図１】
0006053847.tif 000002
【図２】
0006053847.tif 000003
【図３】
0006053847.tif 000004
【図４】
0006053847.tif 000005
【図５】
0006053847.tif 000006
【図６】
0006053847.tif 000007
【図７】
0006053847.tif 000008
【図８】
0006053847.tif 000009
【図９】
0006053847.tif 000010
【図１０】
0006053847.tif 000011
【図１１】
0006053847.tif 000012
【図１２】
0006053847.tif 000013
【図１３】
0006053847.tif 000014
【図１４】
0006053847.tif 000015