(58)【調査した分野】(Int.Cl.,DB名)
前記行動情報更新部は、前記反応認識部が認識した前記ユーザの反応が不良であった場合に、前記条件判断部によって満たされたことが判断された前記条件及び前記行動決定部が決定した行動に対応付けて前記決定情報に記憶されている適正度を低下させる
請求項5または6に記載の行動制御システム。
第1の行動制御システムにおいて認識されたユーザの状態、前記第1の行動制御システムにおいて当該ユーザの状態に基づいて決定された行動、及び当該行動が実行されたことに対する当該ユーザの反応を、前記第1の行動制御システムから受信するユーザ反応受信部と、
前記ユーザ反応受信部が受信した前記ユーザの状態、前記行動、及び前記ユーザの反応を対応づけて記憶する行動結果記憶部と、
第2の行動制御システムにおいて認識されたユーザの状態を、前記第2の行動制御システムから受信するユーザ状態受信部と、
前記ユーザ状態受信部が受信した前記ユーザの状態に合致する状態に対応付けて前記行動結果記憶部が記憶している前記ユーザの反応に基づいて、前記ユーザ状態受信部が受信した前記ユーザの状態に合致する状態に対応付けて前記行動結果記憶部が記憶している前記行動の中から、前記ユーザ状態受信部が受信した前記ユーザの状態に適した行動を選択する行動選択部と、
前記行動選択部が選択した行動を、前記第2の行動制御システムに送信する送信部と
を備えるサーバ。
【発明を実施するための形態】
【0017】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0018】
図1は、本実施形態に係るシステム5の一例を概略的に示す。システム5は、ロボット100、ロボット101、ロボット102、及びサーバ200を備える。ユーザ10a、ユーザ10b、ユーザ10c、及びユーザ10dは、ロボット100のユーザである。ユーザ11a、ユーザ11b及びユーザ11cは、ロボット101のユーザである。ユーザ12a及びユーザ12bは、ロボット102のユーザである。なお、本実施形態の説明において、ユーザ10a、ユーザ10b、ユーザ10c、及びユーザ10dを、ユーザ10と総称する場合がある。また、ユーザ11a、ユーザ11b及びユーザ11cを、ユーザ11と総称する場合がある。また、ユーザ12a及びユーザ12bを、ユーザ12と総称する場合がある。ロボット101及びロボット102は、ロボット100と略同一の機能を有する。そのため、ロボット100の機能を主として取り上げてシステム5を説明する。
【0019】
ロボット100は、ユーザ10と会話を行ったり、ユーザ10に映像を提供したりする。このとき、ロボット100は、通信網20を介して通信可能なサーバ200等と連携して、ユーザ10との会話や、ユーザ10への映像等の提供を行う。例えば、ロボット100は、自身で適切な会話を学習するだけでなく、サーバ200と連携して、ユーザ10とより適切に会話を進められるように学習を行う。また、ロボット100は、撮影したユーザ10の映像データ等をサーバ200に記録させ、必要に応じて映像データ等をサーバ200に要求して、ユーザ10に提供する。
【0020】
また、ロボット100は、自身の感情の種類を表す感情値を持つ。例えば、ロボット100は、「喜」、「怒」、「哀」、「楽」、「快」、「不快」、「安心」、「不安」、「悲しみ」、「興奮」、「心配」、「安堵」、「充実感」、「虚無感」及び「普通」のそれぞれの感情の強さを表す感情値を持つ。ロボット100は、例えば興奮の感情値が大きい状態でユーザ10と会話するときは、早いスピードで音声を発する。このように、ロボット100は、自己の感情を行動で表現することができる。
【0021】
また、ロボット100は、ユーザ10の感情を認識する機能を有する。ロボット100は、カメラ機能で取得したユーザ10の顔画像や、マイク機能で取得したユーザ10の音声を解析することによって、ユーザ10の感情を認識する。ロボット100は、認識したユーザ10の感情等に基づいて、ロボット100が実行する行動を決定する。例えば、ロボット100は、ユーザ10が寂しそうだと認識した場合に、ユーザ10に対して声をかける等の行動を実行する。
【0022】
ロボット100は、ユーザ10の感情や自己の感情等に基づいてロボット100が実行する行動を定めたルールを記憶しており、ルールに従って各種の行動を行う。
図2及び
図3等に関連して、ルールに基づく行動の一例を概略的に説明する。
【0023】
図2は、ロボット100がユーザ10に対して実行する行動を概略的に示す。ロボット100には、ユーザ10の感情に基づいて行動を決定するための反応ルールを有している。図示された反応ルールによると、ロボット100の感情が「普通」であり、ユーザの状態が「1人、寂しそう」という条件が満たされた場合に、ロボット100の感情が「心配になる」という感情の変化内容と、「声をかける」の行動を実行できることが定められている。ここで、行動には、ユーザ10の思いやりの強さを表す思いやりポイントが対応付けられている。
【0024】
ロボット100は、反応ルールに基づいて、ロボット100の現在の感情が「普通」であり、かつ、ユーザ10が1人で寂しそうな状態にあると認識した場合、ロボット100の「心配」の感情値を増大させる。また、ロボット100は、反応ルールで定められた「声をかける」という行動を、ユーザ10に対して実行する行動として選択する。例えば、ロボット100は、「声をかける」という行動を選択した場合に、心配していることを表す「どうしたの?」という言葉を、心配そうな音声に変換して出力する。
【0025】
ロボット100は、ユーザ10に音声を出力した後に、ユーザ10の感情の変化を認識する。例えば、ロボット100が「どうしたの?」という音声を出力した後に、ユーザ10が「ありがとう。大丈夫だよ!」と返答すると、ロボット100は、ユーザ10の返答を音声解析することによって、ユーザ10の感情が好転したと認識する。ロボット100は、「声をかける」という行動によって、ユーザ10の感情が好転したことから、「声をかける」という行動が思いやり度の高い行動であったと判断して、「声をかける」という行動の思いやりポイントを高める。これにより、ロボット100は、ユーザ10にとって適正な行動を学習していくことができる。
【0026】
また、ロボット100は、この行動によって、ユーザ10からポジティブな反応が得られたことを示すユーザ反応情報を、サーバ200に送信する。ユーザ反応情報には、例えば、「一人、寂しそう」という条件、「声をかける」という行動、ユーザ10の反応がポジティブであったこと、及びユーザ10の属性が含まれる。
【0027】
サーバ200は、ロボット100から受信したユーザ反応情報を記憶する。なお、サーバ200は、ロボット100だけでなく、ロボット101及びロボット102のそれぞれからもユーザ反応情報を受信して記憶する。そして、サーバ200は、ロボット100、ロボット101及びロボット102からのユーザ反応情報を解析して、推奨される反応ルールを生成する。
【0028】
ロボット100は、推奨される反応ルールをサーバ200に問い合わせることにより、推奨される反応ルールをサーバ200から受信する。ロボット100は、推奨される反応ルールを、ロボット100が記憶している反応ルールに組み込む。これにより、ロボット100は、ロボット101やロボット102等が獲得した反応ルールを、自身の反応ルールに組み込むことができる。
【0029】
図3は、ロボット100がサーバ200に記録させるデータの記録形式の切り換えを実行する場面を概略的に示す。ロボット100には、ユーザ10の感情に基づいて記録形式の切り換えを行うための記録形式切換ルールを有している。図示された記録形式切換ルールによると、「一定人数以上の家族がいる」及び「一定数以上、家族の笑顔が検出された」という条件が満たされた場合に、データの記録形式を「低圧縮形式に切り換える」という行動が定められている。
【0030】
ロボット100は、この記録形式切換ルールの条件が満されていない期間には、ユーザ10の骨格データ等の高圧縮データを連続的にサーバ200に送信して、サーバ200に記録させる。なお、骨格データは、ユーザの形状を表現する形状データの一例である。ロボット100は、記録形式切換ルールの条件が満たされたと判断すると、フルHDの映像データ及び音声データの送信を開始して、骨格データに加えて、フルHDの映像データ及び音声データを含む低圧縮データをサーバ200に記録させる。
【0031】
そして、ロボット100は、ユーザ10に何か楽しい映像を提供する場合に、サーバ200にフルHDの映像データ及び音声データを送信するよう要求して、サーバ200から受信した映像データをユーザ10に提供する。これにより、ロボット100は、ユーザ10が強く思い出に残るようなシーンに遭遇した場合に、そのシーンの高画質な映像データをサーバ200に蓄積することができる。
【0032】
図4は、ロボット100の機能構成を概略的に示す。ロボット100は、センサ部400と、センサモジュール部410と、格納部420と、ユーザ状態認識部430と、条件判断部434と、ユーザ反応認識部432と、行動決定部440と、感情決定部442と、ルール更新部422と、通信処理部480と、記録データ生成部470と、切換制御部477と、ラベル生成部478と、制御対象452とを有する。
【0033】
制御対象452は、表示装置、スピーカ及び目部のLED、並びに、腕、手及び足等を駆動するモータ等を含む。ロボット100の姿勢や仕草は、腕、手及び足等のモータを制御することにより制御される。ロボット100の感情の一部は、これらのモータを制御することにより表現できる。また、ロボット100の目部のLEDの発光状態を制御することによっても、ロボット100の感情の一部を表現できる。なお、ロボット100の姿勢、仕草及び表情は、ロボット100の態度の一例である。
【0034】
センサ部400は、マイク401と、3D深度センサ402と、2Dカメラ403と、距離センサ404とを含む。マイク401は、音声を連続的に検出して音声データを出力する。なお、マイク401は、ロボット100の頭部に設けられ、バイノーラル録音を行う機能を有してよい。3D深度センサ402は、赤外線パターンを連続的に照射して、赤外線カメラで連続的に撮影された赤外線画像から赤外線パターンを解析することによって、物体の輪郭を検出する。2Dカメラ403は、イメージセンサの一例である。2Dカメラ403は、可視光によって撮影して、可視光の映像情報を生成する。距離センサは、例えばレーザや超音波等を照射して物体までの距離を検出する。なお、センサ部400は、この他にも、時計、ジャイロセンサ、タッチセンサ、モータフィードバック用のセンサ等を含んでよい。
【0035】
なお、
図4に示すロボット100の構成要素のうち、制御対象452及びセンサ部400を除く構成要素は、ロボット100が有する行動制御システムが有する構成要素の一例である。ロボット100の行動制御システムは、制御対象452を制御の対象とする。
【0036】
格納部420は、反応ルール421と、知覚確認ルール417と、意味理解ルール419と、記録形式切換ルール471と、人物DB424とを含む。格納部420の少なくとも一部は、メモリ等の記憶媒体によって実装される。人物DB424は、ユーザ10の顔画像、ユーザ10の属性情報等を格納する。なお、
図4に示すロボット100の構成要素のうち、制御対象452、センサ部400及び格納部420を除く構成要素の機能は、CPUがプログラムに基づいて動作することによって実現できる。例えば、基本ソフトウエア(OS)及びOS上で動作するプログラムによって、これらの構成要素の機能をCPUの動作として実装できる。
【0037】
センサモジュール部410は、音声感情認識部411と、発話理解部412と、表情認識部413と、顔認識部414とを含む。センサモジュール部410には、センサ部400で検出された情報が入力される。センサモジュール部410は、センサ部400で検出された情報を解析して、解析結果をユーザ状態認識部430に出力する。
【0038】
センサモジュール部410の音声感情認識部411は、マイク401で検出されたユーザ10の音声を解析して、ユーザ10の感情を認識する。例えば、音声感情認識部411は、音声の周波数成分等の特徴量を抽出して、抽出した特徴量に基づいて、ユーザ10の感情を認識する。発話理解部412は、マイク401で検出されたユーザ10の音声を解析して、ユーザ10の発話内容を表す文字情報を出力する。
【0039】
表情認識部413は、2Dカメラ403で撮影されたユーザ10の画像から、ユーザ10の表情及びユーザ10の感情を認識する。例えば、表情認識部413は、目及び口の形状、位置関係等に基づいて、ユーザ10の表情及び感情を認識する。
【0040】
顔認識部414は、ユーザ10の顔を認識する。顔認識部414は、人物DB424に格納されている顔画像と、2Dカメラ403によって撮影されたユーザ10の顔画像とをマッチングすることによって、ユーザ10を認識する。
【0041】
ユーザ状態認識部430は、ユーザ10の状態を認識する。ユーザ状態認識部430は、知覚処理部416及び意味理解部418を含む。センサモジュール部410で解析された情報は、知覚処理部416に出力される。知覚処理部416は、センサモジュール部410の解析結果及び格納部420の知覚確認ルール417を用いて、主として知覚に関する処理を行う。例えば、知覚処理部416は、「パパが1人です。」、「パパが笑顔でない確率90%です。」等の知覚情報を生成する。
【0042】
意味理解部418は、知覚処理部416で生成された知覚情報の意味を、格納部420の意味理解ルール419を用いて理解する処理を行う。例えば、意味理解部418は、「パパが1人、寂しそうです。」等の意味情報を生成する。なお、知覚情報や意味情報は、ユーザ10の状態を表す情報の一例である。ここで、ユーザ10の状態を表す情報とは、ユーザ10の感情を表す情報を含んでよい。
【0043】
意味理解部418によって生成された意味情報は、条件判断部434、ユーザ反応認識部432及びラベル生成部478に出力される。
【0044】
条件判断部434は、意味情報と、格納部420の反応ルール421に基づいて、反応ルール421で定められている条件が満たされたことを判断する。なお、反応ルール421は、ロボット100の行動を決定するための決定情報の一例である。上述したように、反応ルール421によって、複数の行動及び複数の行動のそれぞれの思いやりポイントが対応付けられる。また、反応ルール421には、ロボット100における感情を示す感情値及びユーザ10の状態に基づいて行動を決定するための情報が含まれる。このように、格納部420は、ユーザの状態に基づいて行動を決定するための情報を記憶する行動情報記憶部の一例として機能する。
【0045】
条件判断部434は、反応ルール421によって記憶されている条件が満たされたことを判断する。行動決定部440は、条件判断部434によって満たされたことが判断された条件に対応付けて反応ルール421で記憶されている複数の行動の中から、実行する行動を決定する。具体的には、行動決定部440は、条件判断部434によって満たされたことが判断された条件に対応付けて反応ルール421によって記憶されている複数の行動のそれぞれの思いやりポイントに基づいて、実行する行動を決定する。このように、行動決定部440は、ユーザ状態認識部430が認識したユーザ10の状態と、反応ルール421の情報とに基づいて、実行する行動を決定する。
【0046】
感情決定部442は、意味理解部418によって生成された意味情報に基づいて、ロボット100の現在の感情を示す感情値を決定する。このように、感情決定部442は、ユーザ状態認識部430が認識したユーザの状態に基づいて、ロボット100の現在の感情を示す感情値を決定する。
【0047】
行動制御部450は、行動決定部440が決定した行動に基づいて、制御対象452を制御する。例えば、行動制御部450は、行動決定部440が発話することを決定した場合に、制御対象452に含まれるスピーカから音声を出力させる。このとき、行動制御部450は、感情決定部442が更新した感情値に基づいて、音声の発声速度を決定する。例えば、行動制御部450は、興奮の感情値が大きいほど、速い発生速度を決定する。このように、行動制御部450は、感情決定部442が決定した感情値に基づいて、行動決定部440が決定した行動の実行形態を決定する。
【0048】
ユーザ反応認識部432は、行動決定部440が決定した行動を実行したことに対するユーザ10の感情の変化を認識する。なお、ユーザ10の感情の変化は、ユーザ10の反応の一例である。すなわち、ユーザ反応認識部432は、行動決定部440が決定した行動を実行したことに対するユーザ10の反応を認識する。なお、ユーザ反応認識部432は、ユーザ10の音声や表情に基づいて感情の変化を認識してよい。その他、ユーザ反応認識部432は、センサ部400に含まれるタッチセンサで衝撃が検出されたことに基づいて、ユーザ10の感情の変化を認識してよい。例えば、ユーザ反応認識部432は、センサ部400に含まれるタッチセンサで衝撃が検出された場合に、ユーザ10の感情が悪くなったと認識してよい。
【0049】
ユーザ反応認識部432によって認識されたユーザ10の反応を示す情報は、感情決定部442、通信処理部480及びラベル生成部478に出力される。上述したように、感情決定部442は、ユーザ状態認識部430によってユーザ10が寂しそうと認識された場合、反応ルール421に従って、悲しさの感情値を増大させてよい。また、ユーザ反応認識部432によって、ユーザ10が笑顔になったと認識された場合、反応ルール421によって、喜び感情値を増大させてよい。このように、感情決定部442は、ユーザ状態認識部430が認識したユーザの状態及び行動決定部440が決定した行動を実行したことに対するユーザの反応の少なくとも一方に基づいて、感情値を更新する。
【0050】
また、ルール更新部422は、ユーザ反応認識部432が認識したユーザ10の感情の変化に基づいて、行動決定部440が決定した行動に対応づけて反応ルール421によって記憶されている思いやりポイントを変更する。具体的には、ルール更新部422は、ユーザ反応認識部432が認識したユーザ10の感情の変化に基づいて、条件判断部434によって満たされたことが判断された条件に対応付けて反応ルール421によって記憶されている複数の行動の思いやりポイントのうち、行動決定部440が決定した行動の思いやりポイントを変更する。例えば、ルール更新部422は、ユーザ反応認識部432によってユーザ10の感情が良くなったことが認識された場合に、条件判断部434によって満たされたことが判断された条件及び行動決定部440が決定した行動に対応付けて反応ルール421によって記憶されている思いやりポイントを大きくする。一方、ルール更新部422は、ユーザ反応認識部432によってユーザ10の感情が悪くなったことが認識された場合に、条件判断部434によって満たされたことが判断された条件及び行動決定部440が決定した行動に対応付けて反応ルール421によって記憶されている思いやりポイントを小さくする。
【0051】
通信処理部480は、サーバ200との通信を担う。上述したように、通信処理部480は、ユーザ反応情報をサーバ200に送信する。このように、通信処理部480は、ユーザ状態認識部430が認識したユーザ10の状態、行動決定部440が決定した行動、及びユーザ反応認識部432が認識したユーザ10の反応を、サーバ200に送信する。また、通信処理部480は、行動決定部440がユーザ10の状態と反応ルール421とに基づいて実行する行動を決定できなかった場合に、推奨される反応ルールをサーバ200から受信する。このように、通信処理部480は、行動決定部440がユーザ10の状態と反応ルール421とに基づいて実行する行動を決定できなかった場合に、ユーザ状態認識部430が認識したユーザ10の状態に適した行動を、サーバ200から受信する。
【0052】
ルール更新部422は、通信処理部480がサーバ200から受信した、推奨される反応ルールに基づいて、反応ルール421を更新する。このように、ルール更新部422は、通信処理部480がサーバ200から受信した行動に基づいて、反応ルール421を更新する。
【0053】
なお、感情決定部442は、ユーザ状態認識部430が認識したユーザ10の状態に基づいて行動決定部440がユーザに対する行動を決定できなかった場合に、悲しさの強さを表す感情値を、より大きい悲しさの強さを表す値に変更してよい。
【0054】
記録データ生成部470は、センサ部400によって検出された情報に基づいて、サーバ200に記録させるデータを生成する。通信処理部480は、記録データ生成部470が生成した情報を、外部のサーバに送信してサーバに記録させる。
【0055】
例えば、記録データ生成部470は、3D深度センサ402により連続的に検出された骨格情報に基づいて、記録用の骨格データを連続的に生成する。また、記録データ生成部470は、2Dカメラ403によって撮影された映像情報に基づいて、記録用の映像データを生成する。例えば、記録データ生成部470は、フルHDの映像データを生成する。また、記録データ生成部470は、マイク401により連続的に検出された音声情報に基づいて、記録用の音声データを生成する。
【0056】
ここで、映像データは、例えばフルHDの映像データであり、骨格データより情報量が多い。したがって、骨格データは、高圧縮データとみなすことができ、映像データは、低圧縮データとみなすことができる。このように、骨格データは、第1記録形式の情報の一例であり、映像データは、第1記録形式の情報より情報量が多い第2記録形式の情報の一例である。このように、記録データ生成部470は、ユーザ10を連続的に検出するセンサによって検出された情報の少なくとも一部を連続的に処理して、第1記録形式の情報又は第1記録形式の情報より情報量が多い第2記録形式の情報を生成する。
【0057】
ここで、知覚処理部416は、センサ部400によって検出された情報の少なくとも一部に基づいて、認識された家族の数及び笑顔が検出された家族の数を知覚する。上述したように、知覚処理部416は、センサ部400によって検出されたユーザ10の画像及びユーザ10の音声の少なくとも一方に基づいて、笑っているユーザを知覚する。ここで、笑顔は、ユーザ10の感情の強さを表す情報の一例である。したがって、笑顔が検出された家族の数は、複数のユーザ10のそれぞれの感情の強さの合計値の一例である。このように、知覚処理部416は、センサ部400によって検出された情報の少なくとも一部に基づいて、ユーザの感情の強さを検出する。
【0058】
そして、知覚処理部416は、記録形式切換ルール471に基づいて、一定数以上の家族が認識され、かつ、一定数以上の家族の笑顔が検出されたか否かを知覚する。そして、切換制御部477は、記録データ生成部470に骨格データを生成させている場合に、知覚処理部416によって一定数以上の家族が認識され、かつ、一定数以上の家族の笑顔が検出されたことに応じて、記録データ生成部470に映像データの生成を開始させる。このように、切換制御部477は、記録データ生成部470に第1記録形式の情報を生成させている場合に、複数のユーザ10の数が予め定められた人数を超え、かつ、検出された感情の強さの合計値が予め定められた閾値を超えたことに応じて、記録データ生成部470に生成させる情報の記録形式を、第1記録形式から、第1記録形式の情報より情報量が多い第2記録形式に切り換える。
【0059】
ラベル生成部478は、記録データに付帯されて記録されるラベルを生成する。ラベルは、記録データに付帯される付帯情報の一例である。ラベル生成部478は、例えば「ヨシコちゃんのお誕生日」、「ヨシコちゃんの誕生パーティー」等の言葉を含むラベルを生成する。ラベルの他の例としては、「進学祝い」、「クリスマス」及び「正月」等を例示できる。ラベル生成部478は、日時情報や、ユーザ10への質問に対してユーザ反応認識部432で認識された返答内容に基づいて、誕生日であることや誕生パーティーをしている等の状況を判断して、判断した状況に基づいてラベルを生成する。このように、ラベル生成部478は、センサ部400サで検出された情報の少なくとも一部に基づいて、現在の状況を表す1以上の言葉を含むラベルを生成する。通信処理部480は、記録データ生成部470が生成した記録データにラベル生成部478が生成したラベルを対応付けて、サーバ200に送信してサーバ200に記録させる。
【0060】
図5は、サーバ200の機能構成を概略的に示す。サーバ200は、格納部520と、反応ルール生成部530と、反応ルール検索部540と、統計情報制御部550と、アクセス制御部560と、通信処理部580とを有する。
【0061】
格納部520には、反応ルール521、反応ルール統計情報522及び記録データ561が格納される。反応ルール521は、反応ルール421と同様の情報を含む。反応ルール統計情報522は、反応ルール421と同様の情報に加えて、ユーザ10、ユーザ11及びユーザ12の属性情報と、ポジティブな反応が得られた割合の情報を含む。記録データ561は、上述した骨格データ、映像データ及び音声データ等の、記録用のデータである。
【0062】
通信処理部580は、ロボット100、ロボット101及びロボット102とサーバ200との間の通信を担う。通信処理部580は、ロボット100から送信されたユーザ反応情報を受信する。上述したように、ロボット101及びロボット102も、ロボット100が有する機能と同様の機能を有する。したがって、例えばロボット101は、ユーザ11に対して実行した行動に対する反応を含むユーザ反応情報を、サーバ200に送信する。通信処理部580は、ロボット101から送信されたユーザ反応情報及びロボット102から送信されたユーザ反応情報を受信する。このように、通信処理部580は、ロボット101において認識されたユーザ11の状態、ロボット101においてユーザ11の状態に基づいて決定された行動、及び当該行動が実行されたことに対するユーザ11の反応を、ロボット101から受信する。
【0063】
統計情報制御部550は、格納部520の反応ルール統計情報522として、通信処理部580が受信したユーザ反応情報を蓄積する。このように、格納部520には、通信処理部580が受信したユーザの状態、行動、及びユーザの反応を対応づけて記憶される。統計情報制御部550に蓄積されるユーザ反応情報は、ユーザ10に関するユーザ反応情報、ユーザ11に関するユーザ反応情報及びユーザ12に関するユーザ反応情報を含む。
【0064】
反応ルール生成部530は、反応ルール統計情報522に蓄積されているユーザ反応情報に基づいて、推奨される反応ルールを生成して、反応ルール521として格納する。反応ルール統計情報522に含まれる情報に基づいて、ポジティブな反応が得られた行動を含む反応ルールを、推奨される反応ルールとして生成する。
【0065】
ここで、ロボット100が、推奨される反応ルールをサーバ200に問い合わせた場合の動作を説明する。ロボット100は、ロボット100において認識されたユーザ10の状態をサーバ200に送信することによって、推奨される反応ルールをサーバ200に問い合わせる。この場合、反応ルール検索部540は、通信処理部580が受信したユーザ10の状態によって満たされる条件を有する反応ルールを、反応ルール521及び反応ルール統計情報522の少なくとも一方から検索する。通信処理部580は、反応ルール検索部540によって検索された反応ルールを、推奨される反応ルールとしてロボット100に送信する。
【0066】
このように、反応ルール検索部540は、通信処理部580が受信したユーザ10の状態に合致する状態に対応付けて行動結果記憶部が記憶しているユーザ10の反応に基づいて、通信処理部580が受信したユーザの状態に合致する状態に対応付けて反応ルール統計情報522に記憶されている行動の中から、通信処理部580が受信したユーザ10の状態に適した行動を選択する。通信処理部580は、反応ルール検索部540が選択した行動を、ロボット100に送信する。
【0067】
アクセス制御部560は、通信処理部580がロボット100、ロボット101及びロボット102からそれぞれ受信した記録データを、格納部520の記録データ561に格納する。また、アクセス制御部560は、記録データの送信要求を通信処理部580が受信した場合、要求された記録データを記録データ561から読み出して、通信処理部580に送信させる。
【0068】
なお、
図5に示すロボット100の構成要素のうち、格納部420を除く構成要素の機能は、CPUがプログラムに基づいて動作することによって実現できる。例えば、基本ソフトウエア(OS)及びOS上で動作するプログラムによって、これらの構成要素の機能をCPUの動作として実装できる。
【0069】
図6は、知覚処理部416が知覚する情報を概略的に示す。知覚処理部416は、3D深度センサ402による人物検出情報601、顔認識部414による顔検出情報602及びユーザ認識情報603が入力されると、人物検出情報601、顔検出情報602及びユーザ認識情報603を統合して、知覚情報611、知覚情報612及び知覚情報613を生成する。続いて、表情認識部413からの笑顔検出情報604が入力されると、笑顔検出情報604を変換して、知覚情報614を生成する。また、知覚処理部416は、知覚情報614で知覚した笑顔でない確率の高さに基づいて、「パパもしかして寂しい?」と知覚する(知覚情報615)。
【0070】
ここで、知覚確認ルール417には、「もしかして寂しい?」と知覚した場合の知覚確認ルールとして、「誰かが1人」かつ「笑顔である確率が20%以下」という条件部と、「マイクから30秒、発話がないか確認する」という結論部とを持つ知覚確認ルール630が含まれている。知覚処理部416は、知覚情報613及び笑顔検出情報604から、知覚確認ルール630の条件部が満たされると判断して、知覚確認ルール630の結論部に基づいて、マイク401による検出結果の確認を実行する。具体的には、知覚処理部416は、マイク401から出力される音声を発話理解部412に解析させる。
【0071】
ここで、発話理解部412は、マイク401によって音声が30秒間検出されなかった場合に、発話が30秒間検出されなかったことを示すタイムアウト情報を出力する。知覚処理部416は、発話理解部412からのタイムアウト情報605が入力されると、タイムアウト情報605を「パパは何も話しません。」という知覚情報616に変換する。
【0072】
このようにして、知覚処理部416は、知覚情報611、知覚情報612、知覚情報613、知覚情報614、知覚情報615及び知覚情報616を含む知覚履歴610を生成する。知覚処理部416は、生成した知覚情報を、意味理解部418に出力する。
【0073】
図7は、意味理解部418が理解する情報を概略的に示す。意味理解部418には、知覚処理部416が生成した知覚履歴610が入力される。意味理解部418は、知覚情報611、知覚情報612、知覚情報613、知覚情報614及び知覚情報615から、それぞれ意味情報711、意味情報712、意味情報713、意味情報714及び意味情報715を生成する。
【0074】
なお、知覚情報614から意味情報714を生成する場合、意味理解部418は、意味理解部418は、知覚情報614に含まれる「確率90%」という数値情報を、「あまり〜でない」という情報に曖昧化する。これにより、意味理解部418は、知覚情報614を曖昧化した意味情報714を生成する。
【0075】
ここで、意味理解ルール419には、「もしかして寂しい?」と理解した場合の意味確認ルールとして、「誰かが1人」かつ「あまり笑顔でない」かつ「何も話さない」という条件部と、「誰かが1人、寂しそう」と理解するという結論部とを持つ意味理解ルール730が含まれる。意味理解部418は、意味理解ルール730に基づいて、意味情報713、意味情報714及び知覚情報616が意味理解ルール730の条件部を満たすと判断すると、「パパが1人、寂しそうです。」という意味情報717を生成する。このように、意味理解部418は、意味理解ルール730を用いて、意味情報714及び知覚情報616を統合して意味情報717を生成する。
【0076】
このようにして、意味理解部418は、意味情報711、意味情報712、意味情報713、意味情報714、意味情報715及び意味情報717を含む意味履歴710を生成する。意味理解部418が生成した意味情報は、条件判断部434、ユーザ反応認識部432及びラベル生成部478に出力される。
【0077】
図6及び
図7等に関連して説明したように、知覚処理部416及び意味理解部418においては、知覚結果の正確性を失いながらも、知覚結果の意味を、パターン化した言語を用いて曖昧に記憶する。
【0078】
図8は、反応ルール421に含まれる情報をテーブル形式で示す。反応ルール421は、「自己感情」及び「ユーザ状態」の条件を含む条件部と、「感情変化」及び「行動」を含む結論部と、「思いやりポイント」及び「褒められポイント」を含む「付属情報」とを含む。
【0079】
「自己感情」の条件は、ロボット100の自己の感情に関する条件である。「ユーザ状態」は、ユーザ10の状態に関する条件である。「感情変化」は、ロボット100の感情をどのように変更させるかを示す。「行動」は、ロボット100が実行できる行動を表す。「思いやりポイント」は、ユーザ10に対する思いやりの度合いを示す。「思いやりポイント」は、適正度の一例である。
【0080】
図示されるように、反応ルール421の条件部は、「普通である」という「自己感情」の条件と、「誰かが一人、寂しそう」という「ユーザ状態」とを含む。この条件部に対応する結論部には、「心配になる」という感情変化を表す「感情変化」が含まれている。また、この条件部に対応する結論部として、「声をかける」、「心配そうな仕草だけ返す」及び「挨拶をする」という行動を示す「行動」が含まれている。また、「付属情報」によって、これらの「声をかける」、「心配そうな仕草だけ返す」及び「挨拶をする」という行動に対する「思いやりポイント」として、それぞれ30ポイント、20ポイント及び10ポイントが対応付けられている。また、「付属情報」によって、これらの「声をかける」、「心配そうな仕草だけ返す」及び「挨拶をする」という行動に対する「褒められポイント」として、それぞれ50ポイント、30ポイント及び30ポイントが対応付けられている。
【0081】
このように、反応ルール421は、満たされるべきユーザの状態を示す条件と、条件に対応付けられた行動とを示す情報を含む。また、反応ルール421は、満たされるべきロボット100の感情を示す条件と、条件に対応付けられた行動とを示す情報を含む。また、反応ルール421は、ロボット100の感情値及びユーザ10の状態に基づいて感情値を変更するための感情変更情報を含む。そして、感情決定部442は、感情決定部442によって決定された感情値及びユーザ状態認識部430が認識したユーザ10の状態に対応付けて反応ルール421によって記憶されている感情変更情報に基づいて、感情値を更新する。
【0082】
図9は、反応ルール421に基づく処理を概略的に示す。条件判断部434は、意味理解部418から「パパが一人、寂しそう」という意味情報717が入力されると、「パパが一人、寂しそう」というユーザ10の状態と、現在のロボット100の感情である「普通」の感情とによって満たされる条件部を、反応ルール421から検索する。
【0083】
条件判断部434は、「パパが一人、寂しそう」というユーザ10の状態と、「普通」の感情とが、反応ルール421内の反応ルール810の条件部を満たすと判断する。これにより、行動決定部440は、反応ルール810で定められた「声をかける」、「心配そうな仕草だけ返す」及び「挨拶をする」を、行動の候補910として特定する。そして、行動決定部440は、特定した行動の候補910の中から、実際に実行する行動を選択する。例えば、行動決定部440は、思いやりポイントの大きさに応じた選択確率で、1つの行動を選択する。ここでは、行動決定部440は、「声をかける」という行動を選択したとする。
【0084】
また、感情決定部442は、反応ルール810で定められた「心配になる」という感情の変化内容に基づいて、感情値を更新する。例えば、感情決定部442は、心配さの強さを表す「心配」の感情値を増大させる。このように、感情決定部442は、反応ルール421に基づいて、ユーザ状態認識部430が認識したユーザ10の状態に基づいて、感情値を更新する。例えば、感情決定部442は、ユーザ状態認識部430によってユーザ10が寂しさを感じている状態にあると認識された場合に、心配の強さを表す感情値を、より大きい心配の強さを表す値に変更する。
【0085】
続いて、行動制御部450は、「どうしたの?」という発話内容の音声を、制御対象452のスピーカから出力させる。このとき、行動制御部450は、現在の感情値に基づいて、心配そうな感情を表す音声特性を持つ音声を出力させる。例えば、スピードが比較的に遅い音声を生成させる。なお、行動制御部450は、「心配になる」という感情に基づいて、「どうしたの?」という発話内容を決定してよい。
【0086】
続いて、ユーザ反応認識部432は、ユーザ10の反応が検出されるのを待つ。例えば、「大丈夫だよ。ありがとう!」という音声や、そのときのユーザ10の顔の表情に基づいて、「パパは少し笑顔です。」という意味情報940が意味理解部418から出力されると、ユーザ反応認識部432は、ユーザ10が「寂しそう」な感情から「楽しそう」な感情に変化したと判断する。これにより、ルール更新部422は、「声をかける」という行動によってユーザ10の感情が良くなったと判断する。これにより、「声をかける」という行動の思いやりポイントを、30ポイントから40ポイントに増加させる。また、ルール更新部422は、褒められポイントを50ポイントから60ポイントに増加させる。
【0087】
また、感情決定部442は、ロボット100が実行した行動によってユーザ10の感情が良くなったことから、喜びの感情値を増大させる。また、行動制御部450は、増大させた喜びの感情値に基づいて、喜ばしい感情になったことを動作で表現する。例えば、行動制御部450は、喜びを表す仕草を行わせる。
【0088】
また、通信処理部480は、反応ルール810に含まれる情報のうち「思いやりポイント」及び「褒められポイント」を除く情報と、ユーザ10の反応がポジティブであったことを示す情報と、「パパ」として認識されたユーザ10の属性とを含むユーザ反応情報960を、サーバ200に送信する。
【0089】
このように、行動決定部440は、感情決定部442によって決定された感情値、ユーザ状態認識部430が認識したユーザの状態及び反応ルール421に基づいて、実行される行動を決定する。具体的には、行動決定部440は、条件判断部434によって満たされたことが判断された条件に対応付けて反応ルール421によって記憶されている複数の行動の中から、条件判断部434によって満たされたことが判断された条件に対応付けて反応ルール421によって記憶されている思いやりポイントがより高い行動を、実行する行動としてより高い頻度で決定する。なお、行動決定部440は、思いやりポイントが最大の行動を、実際に実行する行動として選択してよい。この場合において、思いやりポイントが最大の行動が複数存在する場合、行動決定部440は、思いやりポイントが最大の複数の行動の中から、実際に実行する1つの行動をランダムに選択してよい。この場合に、行動決定部440は、褒められポイントに応じた選択確率で、実際に実行する1つの行動を選択してもよい。
【0090】
図10は、ロボット100において行動を決定する動作に関する動作フローの一例を概略的に示す。
図10に示す動作フローは、例えば、ユーザ10の感情を含む意味情報が入力された場合に開始される。なお、動作フロー中の「S」は、実行されるステップを表す。
【0091】
条件判断部434は、反応ルール421が含む条件部のうち、ロボット100の感情と、入力された意味情報とによって満される条件部を検索する(S1002)。条件判断部434は、条件部が満たされた反応ルールの有無を判断する(S1004)。条件部が満たされた反応ルールが存在すると判断した場合、行動決定部440は、検索された反応ルールの結論部で定められた行動の中から、ユーザ10に対して実行する1つの行動を選択する(S1006)。また、感情決定部442は、検索された反応ルールの結論部で定められた感情変化に基づいて、感情値を更新する(S1008)。
【0092】
続いて、行動制御部450は、S1006で選択された行動を実行するよう、制御対象452を制御する(S1010)。このとき、行動制御部450は、S1008で更新された後の感情値に基づいて、制御対象452を制御する。例えば、「心配」の感情を表す場合、行動制御部450は、ロボット100の姿勢が心配そうな姿勢になるように、制御対象452を制御する。
【0093】
続いて、ユーザ反応認識部432は、ユーザ10の反応を表す意味情報が入力されるのを監視する(S1012)。ユーザ10の反応を表す意味情報が入力されると、ユーザ反応認識部432は、入力された意味情報に基づいて、ユーザの反応がポジティブであるか否かを判断する(S1016)。
【0094】
S1016の判断において、反応がポジティブであると判断した場合、感情決定部442は、「喜び」の感情値を増加させる(S1018)。また、ルール更新部422は、実行した行動に対応する思いやりポイント及び褒められポイントを増大させる。一方、S1016の判断において、ネガティブな反応が得られた場合、感情決定部442は、「悲しみ」の感情値を増加させる(S1022)。また、ルール更新部422は、実行した行動に対応する思いやりポイント及び褒められポイントを減少させる(S1024)。
【0095】
このように、ルール更新部422は、ユーザ反応認識部432が認識したユーザの反応が不良でなかった場合に、条件判断部434によって満たされたことが判断された条件及び行動決定部440が決定した行動に対応付けて反応ルール421によって記憶されている思いやりポイントを増大させる。一方、ユーザ反応認識部432が認識したユーザの反応が不良であった場合、ルール更新部422は、条件判断部434によって満たされたことが判断された条件及び行動決定部440が決定した行動に対応付けて反応ルール421によって記憶されている思いやりポイントを減少させる。
【0096】
また、行動制御部450は、行動決定部440が決定した行動を感情に応じて決定した実行形態で実行した後、感情決定部442は、当該行動が実行されたことに対するユーザの反応に基づいて、感情値を更に変化させる。具体的には、感情決定部442は、行動決定部440が決定した行動を行動制御部450が決定した実行形態でユーザに対して行ったことに対するユーザの反応が不良でなかった場合に、喜びの強さを表す感情値を、より大きい喜びの強さを表す値に変更する。また、感情決定部442は、行動決定部440が決定した行動を行動制御部450が決定した実行形態でユーザに対して行ったことに対するユーザの反応が不良であった場合に、悲しさの強さを表す感情値を、より大きい悲しさの強さを表す値に変更する。
【0097】
行動制御部450は、S1018又はS1022で決定した感情値に基づいて、ロボット100の感情を表現する(S1026)。例えば、行動制御部450は、「喜び」の感情値を増加させた場合、制御対象452を制御して、ロボット100に喜んだ仕草を行わせる。また、行動制御部450は、「悲しみ」の感情値を増加させた場合、ロボット100の姿勢がうなだれた姿勢になるように、制御対象452を制御する。続いて、通信処理部480は、ユーザ反応情報をサーバ200に送信し(S1028)、ロボット100の動作の決定に関する動作を終了する。
【0098】
なお、S1004の判断において、条件部が満たされた反応ルールが存在しなかったと判断された場合、通信処理部480は、サーバ200に対して、推奨される反応ルールの問い合わせを行う。例えば、ロボット100の感情を示す情報、入力された意味情報で表されるユーザの状態を示す情報、及び、ユーザ10の属性を示す情報を、サーバ200に送信する(S1030)。サーバ200からは、問い合わせで送信した情報に適した反応ルールが、推奨される反応ルールとしてロボット100に送信される。通信処理部480がサーバ200から推奨される反応ルールを受信すると、ルール更新部422は、推奨される反応ルールを反応ルール421に組み込んで(S1032)、S1006に移行する。この場合、S1006及びS1008では、サーバ200から受信した反応ルールに基づいて、行動の選択及び感情値の更新を行う。このように、通信処理部480は、条件判断部434によって反応ルール421に含まれるいずれの条件も満たされていないことが判断された場合に、ユーザ状態認識部430が認識したユーザの状態に適した行動を、サーバ200から受信する。
【0099】
なお、本動作フローによれば、条件部が満たされた反応ルールが存在しなかった場合に、推奨される反応ルールの問い合わせを行う。なお、条件部が満たされた反応ルールが存在した場合でも、どの行動に対応付けられている思いやりポイントも予め定められた値より小さい場合には、行動を決定できないと判断してよい。この場合に、通信処理部480は、推奨される反応ルールの問い合わせを行ってよい。すなわち、行動決定部440は、決定情報に含まれる情報のうち条件判断部434によって満たされたことが判断された条件に対応付けられた1以上の行動のうち、決定情報に含まれる思いやりポイントが予め定められた値より高い行動を、実行する行動として決定する。通信処理部480は、条件判断部434によって満たされたことが判断された条件に対応付けられた1以上の行動の思いやりポイントが、いずれも予め定められた値以下である場合に、ユーザ状態認識部430が認識したユーザ10の状態に適した行動を、サーバ200から受信してよい。そして、ルール更新部422は、条件判断部434によって満たされたことが判断された条件に対応付けて、通信処理部480がサーバ200から受信した行動を反応ルールに追加してよい。
【0100】
なお、推奨される反応ルールの問い合わせは、行動決定部440が行動を決定できない場合の他に、バッチ処理等で定期的に行ってもよい。また、推奨される反応ルールの問い合わせは、ユーザ10が睡眠していると判断した場合や、ロボット100がアイドル状態またはスリープ状態に遷移した場合に行ってよい。その他、ロボット100が行動しようとする任意のタイミングで、推奨される反応ルールの問い合わせを行ってよい。
【0101】
また、反応ルール421は、ユーザ10に対して実行するべき行動が検索されなかった場合の行動を定めたルールを有してよい。例えば、反応ルール421は、「ユーザ10に対して実行するべき行動が検索されなかった」という条件を定めた条件部と、「推奨される反応ルールをサーバ200に問い合わせる」という行動を定めた結論部とを含むルールを有してよい。これにより、行動決定部440は、反応ルール421に従って、推奨される反応ルールをサーバ200に問い合わせすることを決定してよい。
【0102】
図11は、サーバ200が格納している反応ルール統計情報522の一例を示す。反応ルール統計情報522は、「反応ルール」、「属性」、「人数」及び「反応結果」を含む。「反応ルール」は、「条件部」、「結論部」及び「思いやりポイント」を含む。反応ルール統計情報522の「条件部」、「結論部」及び「思いやりポイント」には、反応ルール421の「条件部」、「結論部」及び「思いやりポイント」に対応する情報が格納される。
【0103】
反応ルール統計情報522の「属性」には、ユーザ10の属性が格納される。ユーザ10の属性には、年齢層、性別、又は家庭内での役割、住んでいる地域の情報等を含む。「人数」には、反応ルール統計情報522に蓄積されている情報に寄与した人の数が格納される。「反応結果」には、ポジティブな反応があった回数と、ポジティネガティブな反応があった回数とを示す情報が格納される。
【0104】
通信処理部580がロボット100からユーザ反応情報を受信した場合、統計情報制御部550は、ユーザ反応情報に含まれる属性に合致する属性に対応付けて、ユーザ反応情報に含まれる反応ルールの「条件部」及び「結論部」を、反応ルール統計情報522に格納する。また、統計情報制御部550は、ユーザ反応情報に含まれる反応の良否情報に基づいて、「ポジティブ回数」の値又は「ネガティブ回数」の値をインクリメントする。また、統計情報制御部550は、必要に応じて「人数」の値をインクリメントする。例えば、今回受信したユーザ反応情報が、過去において反応ルール統計情報522の同一レコードにユーザ反応情報を反映したことがあるユーザのユーザ反応情報である場合、「人数」の値をインクリメントしない。
【0105】
また、統計情報制御部550は、推奨される思いやりポイントを算出して、「反応ルール」の「思いやりポイント」に格納する。例えば、統計情報制御部550は、「ポジティブ回数」の値が大きいほど、推奨される思いやりポイントとしてより大きい値を算出する。具体的には、統計情報制御部550は、「ネガティブ回数」の値に対する「ポジティブ回数」の値の比が大きいほど、推奨される思いやりポイントとしてより大きい値を算出してよい。
【0106】
通信処理部580がロボット100から推奨される反応ルールの問い合わせを受信した場合、反応ルール検索部540は、反応ルール521に格納されている反応ルールの中から、推奨される反応ルールを検索する。例えば、反応ルール検索部540は、反応ルール521から、問い合わせに含まれる「条件部」に合致する「条件部」を有する反応ルールを検索する。反応ルール検索部540によって検索された反応ルールは、問い合わせに対する応答として、通信処理部580からロボット100に送信される。
【0107】
なお、反応ルール検索部540は、反応ルール統計情報522に格納されている反応ルールの中から、推奨される反応ルールを検索してよい。具体的には、反応ルール検索部540は、反応ルール統計情報522に格納されている反応ルールのうち、問い合わせに含まれる「条件部」に合致する「条件部」を有し、かつ、問い合わせに含まれる「属性」に合致する「属性」を有する反応ルールを検索してよい。これにより、サーバ200は、ユーザ10の属性に適した行動をロボット100に提供できる。
【0108】
なお、
図12の例では、反応ルール統計情報522では、ユーザの属性毎に反応結果が集計されている。反応ルール統計情報の他の例としては、反応結果がユーザ別に集計されていてよい。
【0109】
図12は、記録データに付帯されるラベルを決定するためにロボット100が実行する行動を概略的に示す。行動決定部440は、日時情報及びユーザ10の属性情報に基づいて、ユーザ10の誕生日であることが判断された場合、誕生日であるか否かをユーザ10に確認するために質問することを決定する。この場合、行動制御部450は、例えば「○○さん、今日は誕生日だね。お誕生日おめでとう!」という発話内容の音声を、制御対象452のスピーカから出力させる。
【0110】
その後、ユーザ反応認識部432は、ユーザ10の発話内容から、ユーザ10の反応が肯定的であったか否定的であったかを認識する。例えば、ユーザ10が「ありがとう、嬉しいよ!」という返答をした場合、ユーザ反応認識部432は、ユーザ10の反応が肯定的であったと認識する。認識されたユーザ10の名前が「ヨシコちゃん」であった場合、ラベル生成部478は、「ヨシコちゃんの誕生日」というラベルを生成する。
【0111】
ラベル生成部478は、認識されたユーザ10の名前を示す情報と、「ヨシコちゃんの誕生日」という情報とを含むラベルを、記録データに付帯するラベルとして生成する。通信処理部480は、3D深度センサ402で取得された骨格情報に基づく骨格データに、ラベル生成部478が生成したラベルを付帯した記録データを、サーバ200に連続的に送信する。サーバ200においては、ロボット100から受信した記録データを、格納部520の記録データ561に格納する。
【0112】
意味理解部418において、3D深度センサ402から取得された骨格情報に基づく現在の骨格データによって、現在認識されている人数を算出する。また、過去の同じ時間帯に取得された骨格データをサーバ200から取得して、過去の同じ時間帯に同じ室内で認識された人数の平均値を算出する。ここで、意味理解部418は、現在認識されている人数が、過去の同じ時間帯に同じ室内で認識された人数の平均値より予め定められた閾値以上多いと認識した場合に、いつもと違う状況であると認識する。また、意味理解部418は、過去の同じ時間帯に取得された骨格データに付帯されたラベルと、現在認識されているユーザ10とを比較して、いつもは家にいないユーザ10が現在認識されていると判断した場合に、いつもと違う状況であると認識する。なお、行動制御部450は、いつもと違う状況であると認識した場合、センサ部400やセンサモジュール部410を制御して、より詳細な検出動作を行うように制御してよい。例えば、行動制御部450は、発話理解部412に対して、より高い精度で発話内容を認識するよう制御してよい。また、音声感情認識部411に対して、より高い精度で感情を認識するよう制御してよい。また、表情認識部413に対して、より高い精度で表情を認識するよう制御してよい。
【0113】
意味理解部418によっていつもと違う状況であると認識された場合、行動決定部440は、ユーザ10に状況を確認するために質問することを決定する。例えば、「ヨシコちゃんの誕生日」というラベルが決定されている場合において、沢山の人が認識されていると判断した場合には、行動制御部450は、「ヨシコちゃんの誕生パーティーをするの?」という発話内容の音声を、制御対象452のスピーカから出力させる。
【0114】
この場合に、ユーザ反応認識部432は、ユーザ10の発話内容から、ユーザ10の反応が肯定的であったか否定的であったかを認識する。例えば、ユーザ10が「そうだよ!」という返答をした場合、ユーザ反応認識部432は、ユーザ10の反応が肯定的であったと認識する。この場合、ラベル生成部478は、「ヨシコちゃんの誕生パーティー」というラベルを生成する。なお、「ヨシコちゃんの誕生日」や「ヨシコちゃんの誕生パーティー」というラベルは、ユーザ10の現在の状況を表すラベルの一例である。
【0115】
このように、ロボット100は、センサ部400で検出された情報の少なくとも一部に基づいて、現在の状況を確認するためにユーザ10と対話を行う。そして、ラベル生成部478は、ユーザ10との対話結果に基づいて、ユーザ10の現在の状況を決定して、決定した情報に基づいて、ユーザ10の現在の状況を表す1以上の文字情報を含むラベルを生成する。
【0116】
図13は、記録形式切換ルール471の一例を示す。記録形式切換ルール471は、「一定数以上の家族が前にいる」かつ「一定数以上、家族の笑顔が検出された」という条件を定めた条件部と、「低圧縮の記録形式に切り換える」という行動を定めた結論部とを有するルール1300が含まれる。また、記録形式切換ルール471には、「前にいる家族が一定数未満になった」かつ「一定数以上、家族の怒りが検出された」という条件を定めた条件部と、「高圧縮の記録形式に切り換える」という行動を定めた結論部とを有するルールが含まれる。
【0117】
なお、「一定数」の値は、1つの家族に属する人数が多いほど、大きくてよい。例えば、4人家族である場合、「一定数」の値は3であってよい。5人家族である場合、「一定数」の値は4であってよい。また、「一定数」の値には、意味理解部418で認識されるユーザ10の数の履歴に基づいて決定されてよい。例えば、5人家族であっても、意味理解部418で4人しか認識されないことが多い場合は、「一定数」の値として3を決定してよい。
【0118】
図14は、記録形式の切り換えに関する動作フローの一例を概略的に示す。本動作フローは、記録データ生成部470が高圧縮形式の記録データの生成を開始した場合に開始される。
【0119】
S1402において、知覚処理部416は、センサ部400及びセンサモジュール部410が出力する情報に基づいて、特定の家族に属するユーザ10の数と、笑顔度が予め定められた値を超えているユーザ10の数の検出とを開始する。ここで、知覚処理部416は、センサ部400及びセンサモジュール部410が出力する情報に基づいて存在が認識されたユーザのうち、人物DB424に家族として登録されているユーザ10の数を数える。また、知覚処理部416は、笑顔度が予め定められた値を超えているユーザのうち、人物DB424に家族として登録されているユーザ10の数を数える。
【0120】
S1404において、切換制御部477は、記録形式を低圧縮形式に切り換えることを定めたルール1300の条件部が満たされたか否かを判断する。ルール1300の条件部が満たされたと判断された場合、行動制御部450は、「楽しそうだから撮っておきますね!」という発話内容の音声を制御対象452のスピーカから出力させる(S1406)。これにより、映像を記録することをユーザ10に通知する。
【0121】
S1408において、切換制御部477は、ユーザ10から否定的な反応があったか否かを判断する。例えば、切換制御部477は、ユーザ10の音声から否定的な語句が認識されなかった場合に、ユーザ10から否定的な反応がなかったと判断する。ユーザ10から否定的な反応がなかったと判断した場合、切換制御部477は、記録データ生成部470を制御して、骨格データに加えて、フルHDの映像データ及び音声データの生成を開始させる(S1410)。このようにして、切換制御部477は、記録形式を高圧縮形式から低圧縮形式に切り換わる。S1408の判断において、ユーザ10から否定的な反応があったと判断した場合、予め定められたウェイト時間が経過してから(S1420)、S1404に処理を移行する。
【0122】
S1410で低圧縮形式に切り換えた後、S1412において、高圧縮形式に切り換えることを定めたルール1310の条件部が満たされたか否かを判断する。ルール1310の条件部が満たされたと判断された場合、切換制御部477は、記録形式を低圧縮形式から高圧縮形式に切り換える(S1414)。S1412の判断において、ルール1310の条件部が満たされていないと判断された場合、ルール1310の条件部が満たされるまで、S1412の判断を繰り返す。
【0123】
なお、S1412のルール1310に基づく判断の他、「記録を終了して」等のように、低圧縮形式による記録の停止を指示する発話が認識された場合にも、記録形式を低圧縮形式から高圧縮形式に切り換えてよい。また、記録形式を低圧縮形式に切り換えた後、予め定められた最大記録時間が経過した場合に、記録形式を低圧縮形式から高圧縮形式に切り換えてもよい。
【0124】
なお、切換制御部477は、笑顔の数に限らず、ユーザ10の感情の強さが激しく変化したことに応じて、記録形式を切り換えてよい。例えば、切換制御部477は、センサ部400に含まれるタッチセンサで予め定められた値より強い衝撃が検出された場合に、記録形式を低圧縮形式に切り換えてよい。
【0125】
なお、ロボット100は、行動制御システムを備える電子機器の一例である。行動制御システムの適用対象は、ロボット100に限られず、様々な電子機器に行動制御システムを適用できる。また、サーバ200の機能は、1以上のコンピュータによって実装されてよい。サーバ200の少なくとも一部の機能は、仮想マシンによって実装されてよい。また、サーバ200の機能の少なくとも一部は、クラウドで実装されてよい。
【0126】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0127】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。