(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024167000
(43)【公開日】2024-11-29
(54)【発明の名称】記録制御システム及び記録制御プログラム
(51)【国際特許分類】
G06N 3/004 20230101AFI20241122BHJP
B25J 13/00 20060101ALN20241122BHJP
【FI】
G06N3/004
B25J13/00 Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023083501
(22)【出願日】2023-05-19
(71)【出願人】
【識別番号】591280485
【氏名又は名称】ソフトバンクグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】孫 正義
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS34
3C707AS36
3C707BS27
3C707KS11
3C707KS39
3C707KT03
3C707LW12
3C707WA03
3C707WL05
3C707WL07
3C707WL12
3C707WL13
3C707WL15
3C707WM07
3C707WM29
(57)【要約】
【課題】ユーザ又はロボットの感情に応じてデータを適切に記録すること。
【解決手段】ロボットは、ロボットに備えられたセンサによって検出された情報に基づいて、ロボット又はユーザの感情の強さを示す感情値、又は感情の種類を決定する。ロボットは、センサによって検出されたユーザに関する情報を示すデータを記録する記録態様を、決定した情報に基づいて特定する。ロボットは、特定した記録態様に基づいて、データを記録する。
【選択図】
図17
【特許請求の範囲】
【請求項1】
ロボットに備えられたセンサによって検出された情報に基づいて、前記ロボット又はユーザの感情の強さを示す感情値、又は感情の種類を決定する感情決定部と、
前記センサによって検出された前記ユーザに関する情報を示すデータを記録する態様を、前記感情決定部によって決定された情報に基づいて特定する特定部と、
前記特定部によって特定された態様に基づいて、前記データを記録する記録制御部と、
を備える記録制御システム。
【請求項2】
前記特定部は、前記データにテキスト、音声、静止画像、動画像のいずれが含まれるかを、前記データを記録する態様として特定する
請求項1に記載の記録制御システム。
【請求項3】
前記特定部は、前記データの最大の容量を、前記データを記録する態様として特定する
請求項1に記載の記録制御システム。
【請求項4】
前記特定部は、時間を定義可能な前記データの最大の長さを、前記データを記録する態様として特定する
請求項1に記載の記録制御システム。
【請求項5】
前記特定部は、前記データに、前記ロボットが存在する場所の匂い、気温、湿度、位置、天候、近くのユーザの人数及び詳細のうちのいずれを含めるかを、前記データを記録する態様として特定する
請求項1に記載の記録制御システム。
【請求項6】
ロボットに備えられたセンサによって検出された情報に基づいて、前記ロボット又はユーザの感情の強さを示す感情値、又は感情の種類を決定する感情決定ステップと、
前記センサによって検出された前記ユーザに関する情報を示すデータを記録する態様を、前記感情決定ステップによって決定された情報に基づいて特定する特定ステップと、
前記特定ステップによって特定された態様に基づいて、前記データを記録する記録制御ステップと、
をコンピュータに実行させる記録制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録制御システム及び記録制御プログラムに関する。
【背景技術】
【0002】
ユーザと通話相手との会話を学習してユーザの問いかけに対する通話相手の返答を返答テーブルに蓄積する端末が知られている(例えば、特許文献1参照)。また、ユーザ情報、機器情報及び自身の現在の感情状態を入力して次回の感情状態を出力するニューラルネットを備える感情生成装置が知られている(例えば、特許文献2参照)。また、方向性人工シナプス接続性を有するレイヤ・ニューラルネット関係を有する複数の電子ニューロンを含む連想メモリに時空パターンを記憶する技術が知られている(例えば、特許文献3参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011-253389号公報
【特許文献2】特開平10-254592号公報
【特許文献3】特表2013-535067号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術では、ユーザ又はロボットの感情に応じてデータを適切に記録することができない場合がある。
【課題を解決するための手段】
【0005】
本発明の一態様に係る記録制御システムは、ロボットに備えられたセンサによって検出された情報に基づいて、前記ロボット又はユーザの感情の強さを示す感情値、又は感情の種類を決定する感情決定部と、前記センサによって検出された前記ユーザに関する情報を示すデータを記録する態様を、前記感情決定部によって決定された情報に基づいて特定する特定部と、前記特定部によって特定された態様に基づいて、前記データを記録する記録制御部と、を備える。
【発明の効果】
【0006】
実施形態の一態様によれば、ユーザ又はロボットの感情に応じてデータを適切に記録することができる。
【図面の簡単な説明】
【0007】
【
図1】本実施形態に係るシステム5の一例を概略的に示す。
【
図2】ロボット100がユーザ10に対して実行する行動を概略的に示す。
【
図3】ロボット100がデータの記録を実行する場面を概略的に示す。
【
図6】知覚処理部416が知覚する情報を概略的に示す。
【
図7】意味理解部418が理解する情報を概略的に示す。
【
図8】反応ルール421に含まれる情報をテーブル形式で示す。
【
図10】ロボット100による動作フローの一例を概略的に示す。
【
図11】サーバ200が格納している反応ルール統計情報522の一例を示す。
【
図12】サーバ200に記録させる情報に付帯するラベルを決定するために実行する行動を概略的に示す。
【
図13】記録形式を切り換えるための記録形式切換ルール471の一例を示す。
【
図14】記録形式の切り換えに関する動作フローの一例を概略的に示す。
【
図17】感情に応じた記録態様でデータを記録する処理のフローの例を示す。
【
図18】ロボット100及びサーバ200として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す図である。
【発明を実施するための形態】
【0008】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0009】
図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を説明する。
【0010】
ロボット100は、ユーザ10と会話を行ったり、ユーザ10に映像を提供したりする。このとき、ロボット100は、通信網20を介して通信可能なサーバ200等と連携して、ユーザ10との会話や、ユーザ10への映像等の提供を行う。例えば、ロボット100は、自身で適切な会話を学習するだけでなく、サーバ200と連携して、ユーザ10とより適切に会話を進められるように学習を行う。また、ロボット100は、撮影したユーザ10の映像データ等をサーバ200に記録させ、必要に応じて映像データ等をサーバ200に要求して、ユーザ10に提供する。
【0011】
また、ロボット100は、自身の感情の種類を表す感情値を持つ。例えば、ロボット100は、「喜」、「怒」、「哀」、「楽」、「快」、「不快」、「安心」、「不安」、「悲しみ」、「興奮」、「心配」、「安堵」、「充実感」、「虚無感」及び「普通」のそれぞれの感情の強さを表す感情値を持つ。ロボット100は、例えば興奮の感情値が大きい状態でユーザ10と会話するときは、早いスピードで音声を発する。このように、ロボット100は、自己の感情を行動で表現することができる。
【0012】
また、ロボット100は、ユーザ10の感情を認識する機能を有する。ロボット100は、カメラ機能で取得したユーザ10の顔画像や、マイク機能で取得したユーザ10の音声を解析することによって、ユーザ10の感情を認識する。ロボット100は、認識したユーザ10の感情等に基づいて、ロボット100が実行する行動を決定する。例えば、ロボット100は、ユーザ10が寂しそうだと認識した場合に、ユーザ10に対して声をかける等の行動を実行する。
【0013】
ロボット100は、ユーザ10の感情や自己の感情等に基づいてロボット100が実行する行動を定めたルールを記憶しており、ルールに従って各種の行動を行う。
図2及び
図3等に関連して、ルールに基づく行動の一例を概略的に説明する。
【0014】
図2は、ロボット100がユーザ10に対して実行する行動を概略的に示す。ロボット100には、ユーザ10の感情に基づいて行動を決定するための反応ルールを有している。図示された反応ルールによると、ロボット100の感情が「普通」であり、ユーザの状態が「1人、寂しそう」という条件が満たされた場合に、ロボット100の感情が「心配になる」という感情の変化内容と、「声をかける」の行動を実行できることが定められている。ここで、行動には、ユーザ10の思いやりの強さを表す思いやりポイントが対応付けられている。
【0015】
ロボット100は、反応ルールに基づいて、ロボット100の現在の感情が「普通」であり、かつ、ユーザ10が1人で寂しそうな状態にあると認識した場合、ロボット100の「心配」の感情値を増大させる。また、ロボット100は、反応ルールで定められた「声をかける」という行動を、ユーザ10に対して実行する行動として選択する。例えば、ロボット100は、「声をかける」という行動を選択した場合に、心配していることを表す「どうしたの?」という言葉を、心配そうな音声に変換して出力する。
【0016】
ロボット100は、ユーザ10に音声を出力した後に、ユーザ10の感情の変化を認識する。例えば、ロボット100が「どうしたの?」という音声を出力した後に、ユーザ10が「ありがとう。大丈夫だよ!」と返答すると、ロボット100は、ユーザ10の返答を音声解析することによって、ユーザ10の感情が好転したと認識する。ロボット100は、「声をかける」という行動によって、ユーザ10の感情が好転したことから、「声をかける」という行動が思いやり度の高い行動であったと判断して、「声をかける」という行動の思いやりポイントを高める。これにより、ロボット100は、ユーザ10にとって適正な行動を学習していくことができる。
【0017】
また、ロボット100は、この行動によって、ユーザ10からポジティブな反応が得られたことを示すユーザ反応情報を、サーバ200に送信する。ユーザ反応情報には、例えば、「一人、寂しそう」という条件、「声をかける」という行動、ユーザ10の反応がポジティブであったこと、及びユーザ10の属性が含まれる。
【0018】
サーバ200は、ロボット100から受信したユーザ反応情報を記憶する。なお、サーバ200は、ロボット100だけでなく、ロボット101及びロボット102のそれぞれからもユーザ反応情報を受信して記憶する。そして、サーバ200は、ロボット100、ロボット101及びロボット102からのユーザ反応情報を解析して、推奨される反応ルールを生成する。
【0019】
ロボット100は、推奨される反応ルールをサーバ200に問い合わせることにより、推奨される反応ルールをサーバ200から受信する。ロボット100は、推奨される反応ルールを、ロボット100が記憶している反応ルールに組み込む。これにより、ロボット100は、ロボット101やロボット102等が獲得した反応ルールを、自身の反応ルールに組み込むことができる。
【0020】
図3は、ロボット100がサーバ200に記録させるデータの記録形式の切り換えを実行する場面を概略的に示す。ロボット100には、ユーザ10の感情に基づいて記録形式の切り換えを行うための記録形式切換ルールを有している。図示された記録形式切換ルールによると、「一定人数以上の家族がいる」及び「一定数以上、家族の笑顔が検出された」という条件が満たされた場合に、データの記録形式を「低圧縮形式に切り換える」という行動が定められている。
【0021】
ロボット100は、この記録形式切換ルールの条件が満されていない期間には、ユーザ10の骨格データ等の高圧縮データを連続的にサーバ200に送信して、サーバ200に記録させる。なお、骨格データは、ユーザの形状を表現する形状データの一例である。ロボット100は、記録形式切換ルールの条件が満たされたと判断すると、フルHDの映像データ及び音声データの送信を開始して、骨格データに加えて、フルHDの映像データ及び音声データを含む低圧縮データをサーバ200に記録させる。
【0022】
そして、ロボット100は、ユーザ10に何か楽しい映像を提供する場合に、サーバ200にフルHDの映像データ及び音声データを送信するよう要求して、サーバ200から受信した映像データをユーザ10に提供する。これにより、ロボット100は、ユーザ10が強く思い出に残るようなシーンに遭遇した場合に、そのシーンの高画質な映像データをサーバ200に蓄積することができる。
【0023】
図4は、ロボット100の機能構成を概略的に示す。ロボット100は、センサ部400と、センサモジュール部410と、格納部420と、ユーザ状態認識部430と、条件判断部434と、ユーザ反応認識部432と、行動決定部440と、感情決定部442と、ルール更新部422と、通信処理部480と、記録データ生成部470と、切換制御部477と、ラベル生成部478と、制御対象452とを有する。
【0024】
制御対象452は、表示装置、スピーカ及び目部のLED、並びに、腕、手及び足等を駆動するモータ等を含む。ロボット100の姿勢や仕草は、腕、手及び足等のモータを制御することにより制御される。ロボット100の感情の一部は、これらのモータを制御することにより表現できる。また、ロボット100の目部のLEDの発光状態を制御することによっても、ロボット100の感情の一部を表現できる。なお、ロボット100の姿勢、仕草及び表情は、ロボット100の態度の一例である。
【0025】
センサ部400は、マイク401と、3D深度センサ402と、2Dカメラ403と、距離センサ404とを含む。マイク401は、音声を連続的に検出して音声データを出力する。なお、マイク401は、ロボット100の頭部に設けられ、バイノーラル録音を行う機能を有してよい。3D深度センサ402は、赤外線パターンを連続的に照射して、赤外線カメラで連続的に撮影された赤外線画像から赤外線パターンを解析することによって、物体の輪郭を検出する。2Dカメラ403は、イメージセンサの一例である。2Dカメラ403は、可視光によって撮影して、可視光の映像情報を生成する。距離センサは、例えばレーザや超音波等を照射して物体までの距離を検出する。なお、センサ部400は、この他にも、時計、ジャイロセンサ、タッチセンサ、モータフィードバック用のセンサ等を含んでよい。
【0026】
なお、
図4に示すロボット100の構成要素のうち、制御対象452及びセンサ部400を除く構成要素は、ロボット100が有する行動制御システムが有する構成要素の一例である。ロボット100の行動制御システムは、制御対象452を制御の対象とする。
【0027】
格納部420は、反応ルール421と、知覚確認ルール417と、意味理解ルール419と、記録形式切換ルール471と、人物DB424とを含む。格納部420の少なくとも一部は、メモリ等の記憶媒体によって実装される。人物DB424は、ユーザ10の顔画像、ユーザ10の属性情報等を格納する。なお、
図4に示すロボット100の構成要素のうち、制御対象452、センサ部400及び格納部420を除く構成要素の機能は、CPUがプログラムに基づいて動作することによって実現できる。例えば、基本ソフトウエア(OS)及びOS上で動作するプログラムによって、これらの構成要素の機能をCPUの動作として実装できる。
【0028】
センサモジュール部410は、音声感情認識部411と、発話理解部412と、表情認識部413と、顔認識部414とを含む。センサモジュール部410には、センサ部400で検出された情報が入力される。センサモジュール部410は、センサ部400で検出された情報を解析して、解析結果をユーザ状態認識部430に出力する。
【0029】
センサモジュール部410の音声感情認識部411は、マイク401で検出されたユーザ10の音声を解析して、ユーザ10の感情を認識する。例えば、音声感情認識部411は、音声の周波数成分等の特徴量を抽出して、抽出した特徴量に基づいて、ユーザ10の感情を認識する。発話理解部412は、マイク401で検出されたユーザ10の音声を解析して、ユーザ10の発話内容を表す文字情報を出力する。
【0030】
表情認識部413は、2Dカメラ403で撮影されたユーザ10の画像から、ユーザ10の表情及びユーザ10の感情を認識する。例えば、表情認識部413は、目及び口の形状、位置関係等に基づいて、ユーザ10の表情及び感情を認識する。
【0031】
顔認識部414は、ユーザ10の顔を認識する。顔認識部414は、人物DB424に格納されている顔画像と、2Dカメラ403によって撮影されたユーザ10の顔画像とをマッチングすることによって、ユーザ10を認識する。
【0032】
ユーザ状態認識部430は、ユーザ10の状態を認識する。ユーザ状態認識部430は、知覚処理部416及び意味理解部418を含む。センサモジュール部410で解析された情報は、知覚処理部416に出力される。知覚処理部416は、センサモジュール部410の解析結果及び格納部420の知覚確認ルール417を用いて、主として知覚に関する処理を行う。例えば、知覚処理部416は、「パパが1人です。」、「パパが笑顔でない確率90%です。」等の知覚情報を生成する。
【0033】
意味理解部418は、知覚処理部416で生成された知覚情報の意味を、格納部420の意味理解ルール419を用いて理解する処理を行う。例えば、意味理解部418は、「パパが1人、寂しそうです。」等の意味情報を生成する。なお、知覚情報や意味情報は、ユーザ10の状態を表す情報の一例である。ここで、ユーザ10の状態を表す情報とは、ユーザ10の感情を表す情報を含んでよい。
【0034】
意味理解部418によって生成された意味情報は、条件判断部434、ユーザ反応認識部432及びラベル生成部478に出力される。
【0035】
条件判断部434は、意味情報と、格納部420の反応ルール421に基づいて、反応ルール421で定められている条件が満たされたことを判断する。なお、反応ルール421は、ロボット100の行動を決定するための決定情報の一例である。上述したように、反応ルール421によって、複数の行動及び複数の行動のそれぞれの思いやりポイントが対応付けられる。また、反応ルール421には、ロボット100における感情を示す感情値及びユーザ10の状態に基づいて行動を決定するための情報が含まれる。このように、格納部420は、ユーザの状態に基づいて行動を決定するための情報を記憶する行動情報記憶部の一例として機能する。
【0036】
条件判断部434は、反応ルール421によって記憶されている条件が満たされたことを判断する。行動決定部440は、条件判断部434によって満たされたことが判断された条件に対応付けて反応ルール421で記憶されている複数の行動の中から、実行する行動を決定する。具体的には、行動決定部440は、条件判断部434によって満たされたことが判断された条件に対応付けて反応ルール421によって記憶されている複数の行動のそれぞれの思いやりポイントに基づいて、実行する行動を決定する。このように、行動決定部440は、ユーザ状態認識部430が認識したユーザ10の状態と、反応ルール421の情報とに基づいて、実行する行動を決定する。
【0037】
感情決定部442は、意味理解部418によって生成された意味情報に基づいて、ロボット100の現在の感情を示す感情値を決定する。このように、感情決定部442は、ユーザ状態認識部430が認識したユーザの状態に基づいて、ロボット100の現在の感情を示す感情値を決定する。
【0038】
行動制御部450は、行動決定部440が決定した行動に基づいて、制御対象452を制御する。例えば、行動制御部450は、行動決定部440が発話することを決定した場合に、制御対象452に含まれるスピーカから音声を出力させる。このとき、行動制御部450は、感情決定部442が更新した感情値に基づいて、音声の発声速度を決定する。例えば、行動制御部450は、興奮の感情値が大きいほど、速い発生速度を決定する。このように、行動制御部450は、感情決定部442が決定した感情値に基づいて、行動決定部440が決定した行動の実行形態を決定する。
【0039】
ユーザ反応認識部432は、行動決定部440が決定した行動を実行したことに対するユーザ10の感情の変化を認識する。なお、ユーザ10の感情の変化は、ユーザ10の反応の一例である。すなわち、ユーザ反応認識部432は、行動決定部440が決定した行動を実行したことに対するユーザ10の反応を認識する。なお、ユーザ反応認識部432は、ユーザ10の音声や表情に基づいて感情の変化を認識してよい。その他、ユーザ反応認識部432は、センサ部400に含まれるタッチセンサで衝撃が検出されたことに基づいて、ユーザ10の感情の変化を認識してよい。例えば、ユーザ反応認識部432は、センサ部400に含まれるタッチセンサで衝撃が検出された場合に、ユーザ10の感情が悪くなったと認識してよい。
【0040】
ユーザ反応認識部432によって認識されたユーザ10の反応を示す情報は、感情決定部442、通信処理部480及びラベル生成部478に出力される。上述したように、感情決定部442は、ユーザ状態認識部430によってユーザ10が寂しそうと認識された場合、反応ルール421に従って、悲しさの感情値を増大させてよい。また、ユーザ反応認識部432によって、ユーザ10が笑顔になったと認識された場合、反応ルール421によって、喜び感情値を増大させてよい。このように、感情決定部442は、ユーザ状態認識部430が認識したユーザの状態及び行動決定部440が決定した行動を実行したことに対するユーザの反応の少なくとも一方に基づいて、感情値を更新する。
【0041】
また、ルール更新部422は、ユーザ反応認識部432が認識したユーザ10の感情の変化に基づいて、行動決定部440が決定した行動に対応づけて反応ルール421によって記憶されている思いやりポイントを変更する。具体的には、ルール更新部422は、ユーザ反応認識部432が認識したユーザ10の感情の変化に基づいて、条件判断部434によって満たされたことが判断された条件に対応付けて反応ルール421によって記憶されている複数の行動の思いやりポイントのうち、行動決定部440が決定した行動の思いやりポイントを変更する。例えば、ルール更新部422は、ユーザ反応認識部432によってユーザ10の感情が良くなったことが認識された場合に、条件判断部434によって満たされたことが判断された条件及び行動決定部440が決定した行動に対応付けて反応ルール421によって記憶されている思いやりポイントを大きくする。一方、ルール更新部422は、ユーザ反応認識部432によってユーザ10の感情が悪くなったことが認識された場合に、条件判断部434によって満たされたことが判断された条件及び行動決定部440が決定した行動に対応付けて反応ルール421によって記憶されている思いやりポイントを小さくする。
【0042】
通信処理部480は、サーバ200との通信を担う。上述したように、通信処理部480は、ユーザ反応情報をサーバ200に送信する。このように、通信処理部480は、ユーザ状態認識部430が認識したユーザ10の状態、行動決定部440が決定した行動、及びユーザ反応認識部432が認識したユーザ10の反応を、サーバ200に送信する。また、通信処理部480は、行動決定部440がユーザ10の状態と反応ルール421とに基づいて実行する行動を決定できなかった場合に、推奨される反応ルールをサーバ200から受信する。このように、通信処理部480は、行動決定部440がユーザ10の状態と反応ルール421とに基づいて実行する行動を決定できなかった場合に、ユーザ状態認識部430が認識したユーザ10の状態に適した行動を、サーバ200から受信する。
【0043】
ルール更新部422は、通信処理部480がサーバ200から受信した、推奨される反応ルールに基づいて、反応ルール421を更新する。このように、ルール更新部422は、通信処理部480がサーバ200から受信した行動に基づいて、反応ルール421を更新する。
【0044】
なお、感情決定部442は、ユーザ状態認識部430が認識したユーザ10の状態に基づいて行動決定部440がユーザに対する行動を決定できなかった場合に、悲しさの強さを表す感情値を、より大きい悲しさの強さを表す値に変更してよい。
【0045】
記録データ生成部470は、センサ部400によって検出された情報に基づいて、サーバ200に記録させるデータを生成する。通信処理部480は、記録データ生成部470が生成した情報を、外部のサーバに送信してサーバに記録させる。
【0046】
例えば、記録データ生成部470は、3D深度センサ402により連続的に検出された骨格情報に基づいて、記録用の骨格データを連続的に生成する。また、記録データ生成部470は、2Dカメラ403によって撮影された映像情報に基づいて、記録用の映像データを生成する。例えば、記録データ生成部470は、フルHDの映像データを生成する。また、記録データ生成部470は、マイク401により連続的に検出された音声情報に基づいて、記録用の音声データを生成する。
【0047】
ここで、映像データは、例えばフルHDの映像データであり、骨格データより情報量が多い。したがって、骨格データは、高圧縮データとみなすことができ、映像データは、低圧縮データとみなすことができる。このように、骨格データは、第1記録形式の情報の一例であり、映像データは、第1記録形式の情報より情報量が多い第2記録形式の情報の一例である。このように、記録データ生成部470は、ユーザ10を連続的に検出するセンサによって検出された情報の少なくとも一部を連続的に処理して、第1記録形式の情報又は第1記録形式の情報より情報量が多い第2記録形式の情報を生成する。
【0048】
ここで、知覚処理部416は、センサ部400によって検出された情報の少なくとも一部に基づいて、認識された家族の数及び笑顔が検出された家族の数を知覚する。上述したように、知覚処理部416は、センサ部400によって検出されたユーザ10の画像及びユーザ10の音声の少なくとも一方に基づいて、笑っているユーザを知覚する。ここで、笑顔は、ユーザ10の感情の強さを表す情報の一例である。したがって、笑顔が検出された家族の数は、複数のユーザ10のそれぞれの感情の強さの合計値の一例である。このように、知覚処理部416は、センサ部400によって検出された情報の少なくとも一部に基づいて、ユーザの感情の強さを検出する。
【0049】
そして、知覚処理部416は、記録形式切換ルール471に基づいて、一定数以上の家族が認識され、かつ、一定数以上の家族の笑顔が検出されたか否かを知覚する。そして、切換制御部477は、記録データ生成部470に骨格データを生成させている場合に、知覚処理部416によって一定数以上の家族が認識され、かつ、一定数以上の家族の笑顔が検出されたことに応じて、記録データ生成部470に映像データの生成を開始させる。このように、切換制御部477は、記録データ生成部470に第1記録形式の情報を生成させている場合に、複数のユーザ10の数が予め定められた人数を超え、かつ、検出された感情の強さの合計値が予め定められた閾値を超えたことに応じて、記録データ生成部470に生成させる情報の記録形式を、第1記録形式から、第1記録形式の情報より情報量が多い第2記録形式に切り換える。
【0050】
ラベル生成部478は、記録データに付帯されて記録されるラベルを生成する。ラベルは、記録データに付帯される付帯情報の一例である。ラベル生成部478は、例えば「ヨシコちゃんのお誕生日」、「ヨシコちゃんの誕生パーティー」等の言葉を含むラベルを生成する。ラベルの他の例としては、「進学祝い」、「クリスマス」及び「正月」等を例示できる。ラベル生成部478は、日時情報や、ユーザ10への質問に対してユーザ反応認識部432で認識された返答内容に基づいて、誕生日であることや誕生パーティーをしている等の状況を判断して、判断した状況に基づいてラベルを生成する。このように、ラベル生成部478は、センサ部400サで検出された情報の少なくとも一部に基づいて、現在の状況を表す1以上の言葉を含むラベルを生成する。通信処理部480は、記録データ生成部470が生成した記録データにラベル生成部478が生成したラベルを対応付けて、サーバ200に送信してサーバ200に記録させる。
【0051】
図5は、サーバ200の機能構成を概略的に示す。サーバ200は、格納部520と、反応ルール生成部530と、反応ルール検索部540と、統計情報制御部550と、アクセス制御部560と、通信処理部580とを有する。
【0052】
格納部520には、反応ルール521、反応ルール統計情報522及び記録データ561が格納される。反応ルール521は、反応ルール421と同様の情報を含む。反応ルール統計情報522は、反応ルール421と同様の情報に加えて、ユーザ10、ユーザ11及びユーザ12の属性情報と、ポジティブな反応が得られた割合の情報を含む。記録データ561は、上述した骨格データ、映像データ及び音声データ等の、記録用のデータである。
【0053】
通信処理部580は、ロボット100、ロボット101及びロボット102とサーバ200との間の通信を担う。通信処理部580は、ロボット100から送信されたユーザ反応情報を受信する。上述したように、ロボット101及びロボット102も、ロボット100が有する機能と同様の機能を有する。したがって、例えばロボット101は、ユーザ11に対して実行した行動に対する反応を含むユーザ反応情報を、サーバ200に送信する。通信処理部580は、ロボット101から送信されたユーザ反応情報及びロボット102から送信されたユーザ反応情報を受信する。このように、通信処理部580は、ロボット101において認識されたユーザ11の状態、ロボット101においてユーザ11の状態に基づいて決定された行動、及び当該行動が実行されたことに対するユーザ11の反応を、ロボット101から受信する。
【0054】
統計情報制御部550は、格納部520の反応ルール統計情報522として、通信処理部580が受信したユーザ反応情報を蓄積する。このように、格納部520には、通信処理部580が受信したユーザの状態、行動、及びユーザの反応を対応づけて記憶される。統計情報制御部550に蓄積されるユーザ反応情報は、ユーザ10に関するユーザ反応情報、ユーザ11に関するユーザ反応情報及びユーザ12に関するユーザ反応情報を含む。
【0055】
反応ルール生成部530は、反応ルール統計情報522に蓄積されているユーザ反応情報に基づいて、推奨される反応ルールを生成して、反応ルール521として格納する。反応ルール統計情報522に含まれる情報に基づいて、ポジティブな反応が得られた行動を含む反応ルールを、推奨される反応ルールとして生成する。
【0056】
ここで、ロボット100が、推奨される反応ルールをサーバ200に問い合わせた場合の動作を説明する。ロボット100は、ロボット100において認識されたユーザ10の状態をサーバ200に送信することによって、推奨される反応ルールをサーバ200に問い合わせる。この場合、反応ルール検索部540は、通信処理部580が受信したユーザ10の状態によって満たされる条件を有する反応ルールを、反応ルール521及び反応ルール統計情報522の少なくとも一方から検索する。通信処理部580は、反応ルール検索部540によって検索された反応ルールを、推奨される反応ルールとしてロボット100に送信する。
【0057】
このように、反応ルール検索部540は、通信処理部580が受信したユーザ10の状態に合致する状態に対応付けて行動結果記憶部が記憶しているユーザ10の反応に基づいて、通信処理部580が受信したユーザの状態に合致する状態に対応付けて反応ルール統計情報522に記憶されている行動の中から、通信処理部580が受信したユーザ10の状態に適した行動を選択する。通信処理部580は、反応ルール検索部540が選択した行動を、ロボット100に送信する。
【0058】
アクセス制御部560は、通信処理部580がロボット100、ロボット101及びロボット102からそれぞれ受信した記録データを、格納部520の記録データ561に格納する。また、アクセス制御部560は、記録データの送信要求を通信処理部580が受信した場合、要求された記録データを記録データ561から読み出して、通信処理部580に送信させる。
【0059】
なお、
図5に示すロボット100の構成要素のうち、格納部420を除く構成要素の機能は、CPUがプログラムに基づいて動作することによって実現できる。例えば、基本ソフトウエア(OS)及びOS上で動作するプログラムによって、これらの構成要素の機能をCPUの動作として実装できる。
【0060】
図6は、知覚処理部416が知覚する情報を概略的に示す。知覚処理部416は、3D深度センサ402による人物検出情報601、顔認識部414による顔検出情報602及びユーザ認識情報603が入力されると、人物検出情報601、顔検出情報602及びユーザ認識情報603を統合して、知覚情報611、知覚情報612及び知覚情報613を生成する。続いて、表情認識部413からの笑顔検出情報604が入力されると、笑顔検出情報604を変換して、知覚情報614を生成する。また、知覚処理部416は、知覚情報614で知覚した笑顔でない確率の高さに基づいて、「パパもしかして寂しい?」と知覚する(知覚情報615)。
【0061】
ここで、知覚確認ルール417には、「もしかして寂しい?」と知覚した場合の知覚確認ルールとして、「誰かが1人」かつ「笑顔である確率が20%以下」という条件部と、「マイクから30秒、発話がないか確認する」という結論部とを持つ知覚確認ルール630が含まれている。知覚処理部416は、知覚情報613及び笑顔検出情報604から、知覚確認ルール630の条件部が満たされると判断して、知覚確認ルール630の結論部に基づいて、マイク401による検出結果の確認を実行する。具体的には、知覚処理部416は、マイク401から出力される音声を発話理解部412に解析させる。
【0062】
ここで、発話理解部412は、マイク401によって音声が30秒間検出されなかった場合に、発話が30秒間検出されなかったことを示すタイムアウト情報を出力する。知覚処理部416は、発話理解部412からのタイムアウト情報605が入力されると、タイムアウト情報605を「パパは何も話しません。」という知覚情報616に変換する。
【0063】
このようにして、知覚処理部416は、知覚情報611、知覚情報612、知覚情報613、知覚情報614、知覚情報615及び知覚情報616を含む知覚履歴610を生成する。知覚処理部416は、生成した知覚情報を、意味理解部418に出力する。
【0064】
図7は、意味理解部418が理解する情報を概略的に示す。意味理解部418には、知覚処理部416が生成した知覚履歴610が入力される。意味理解部418は、知覚情報611、知覚情報612、知覚情報613、知覚情報614及び知覚情報615から、それぞれ意味情報711、意味情報712、意味情報713、意味情報714及び意味情報715を生成する。
【0065】
なお、知覚情報614から意味情報714を生成する場合、意味理解部418は、意味理解部418は、知覚情報614に含まれる「確率90%」という数値情報を、「あまり~でない」という情報に曖昧化する。これにより、意味理解部418は、知覚情報614を曖昧化した意味情報714を生成する。
【0066】
ここで、意味理解ルール419には、「もしかして寂しい?」と理解した場合の意味確認ルールとして、「誰かが1人」かつ「あまり笑顔でない」かつ「何も話さない」という条件部と、「誰かが1人、寂しそう」と理解するという結論部とを持つ意味理解ルール730が含まれる。意味理解部418は、意味理解ルール730に基づいて、意味情報713、意味情報714及び知覚情報616が意味理解ルール730の条件部を満たすと判断すると、「パパが1人、寂しそうです。」という意味情報717を生成する。このように、意味理解部418は、意味理解ルール730を用いて、意味情報714及び知覚情報616を統合して意味情報717を生成する。
【0067】
このようにして、意味理解部418は、意味情報711、意味情報712、意味情報713、意味情報714、意味情報715及び意味情報717を含む意味履歴710を生成する。意味理解部418が生成した意味情報は、条件判断部434、ユーザ反応認識部432及びラベル生成部478に出力される。
【0068】
図6及び
図7等に関連して説明したように、知覚処理部416及び意味理解部418においては、知覚結果の正確性を失いながらも、知覚結果の意味を、パターン化した言語を用いて曖昧に記憶する。
【0069】
図8は、反応ルール421に含まれる情報をテーブル形式で示す。反応ルール421は、「自己感情」及び「ユーザ状態」の条件を含む条件部と、「感情変化」及び「行動」を含む結論部と、「思いやりポイント」及び「褒められポイント」を含む「付属情報」とを含む。
【0070】
「自己感情」の条件は、ロボット100の自己の感情に関する条件である。「ユーザ状態」は、ユーザ10の状態に関する条件である。「感情変化」は、ロボット100の感情をどのように変更させるかを示す。「行動」は、ロボット100が実行できる行動を表す。「思いやりポイント」は、ユーザ10に対する思いやりの度合いを示す。「思いやりポイント」は、適正度の一例である。
【0071】
図示されるように、反応ルール421の条件部は、「普通である」という「自己感情」の条件と、「誰かが一人、寂しそう」という「ユーザ状態」とを含む。この条件部に対応する結論部には、「心配になる」という感情変化を表す「感情変化」が含まれている。また、この条件部に対応する結論部として、「声をかける」、「心配そうな仕草だけ返す」及び「挨拶をする」という行動を示す「行動」が含まれている。また、「付属情報」によって、これらの「声をかける」、「心配そうな仕草だけ返す」及び「挨拶をする」という行動に対する「思いやりポイント」として、それぞれ30ポイント、20ポイント及び10ポイントが対応付けられている。また、「付属情報」によって、これらの「声をかける」、「心配そうな仕草だけ返す」及び「挨拶をする」という行動に対する「褒められポイント」として、それぞれ50ポイント、30ポイント及び30ポイントが対応付けられている。
【0072】
このように、反応ルール421は、満たされるべきユーザの状態を示す条件と、条件に対応付けられた行動とを示す情報を含む。また、反応ルール421は、満たされるべきロボット100の感情を示す条件と、条件に対応付けられた行動とを示す情報を含む。また、反応ルール421は、ロボット100の感情値及びユーザ10の状態に基づいて感情値を変更するための感情変更情報を含む。そして、感情決定部442は、感情決定部442によって決定された感情値及びユーザ状態認識部430が認識したユーザ10の状態に対応付けて反応ルール421によって記憶されている感情変更情報に基づいて、感情値を更新する。
【0073】
図9は、反応ルール421に基づく処理を概略的に示す。条件判断部434は、意味理解部418から「パパが一人、寂しそう」という意味情報717が入力されると、「パパが一人、寂しそう」というユーザ10の状態と、現在のロボット100の感情である「普通」の感情とによって満たされる条件部を、反応ルール421から検索する。
【0074】
条件判断部434は、「パパが一人、寂しそう」というユーザ10の状態と、「普通」の感情とが、反応ルール421内の反応ルール810の条件部を満たすと判断する。これにより、行動決定部440は、反応ルール810で定められた「声をかける」、「心配そうな仕草だけ返す」及び「挨拶をする」を、行動の候補910として特定する。そして、行動決定部440は、特定した行動の候補910の中から、実際に実行する行動を選択する。例えば、行動決定部440は、思いやりポイントの大きさに応じた選択確率で、1つの行動を選択する。ここでは、行動決定部440は、「声をかける」という行動を選択したとする。
【0075】
また、感情決定部442は、反応ルール810で定められた「心配になる」という感情の変化内容に基づいて、感情値を更新する。例えば、感情決定部442は、心配さの強さを表す「心配」の感情値を増大させる。このように、感情決定部442は、反応ルール421に基づいて、ユーザ状態認識部430が認識したユーザ10の状態に基づいて、感情値を更新する。例えば、感情決定部442は、ユーザ状態認識部430によってユーザ10が寂しさを感じている状態にあると認識された場合に、心配の強さを表す感情値を、より大きい心配の強さを表す値に変更する。
【0076】
続いて、行動制御部450は、「どうしたの?」という発話内容の音声を、制御対象452のスピーカから出力させる。このとき、行動制御部450は、現在の感情値に基づいて、心配そうな感情を表す音声特性を持つ音声を出力させる。例えば、スピードが比較的に遅い音声を生成させる。なお、行動制御部450は、「心配になる」という感情に基づいて、「どうしたの?」という発話内容を決定してよい。
【0077】
続いて、ユーザ反応認識部432は、ユーザ10の反応が検出されるのを待つ。例えば、「大丈夫だよ。ありがとう!」という音声や、そのときのユーザ10の顔の表情に基づいて、「パパは少し笑顔です。」という意味情報940が意味理解部418から出力されると、ユーザ反応認識部432は、ユーザ10が「寂しそう」な感情から「楽しそう」な感情に変化したと判断する。これにより、ルール更新部422は、「声をかける」という行動によってユーザ10の感情が良くなったと判断する。これにより、「声をかける」という行動の思いやりポイントを、30ポイントから40ポイントに増加させる。また、ルール更新部422は、褒められポイントを50ポイントから60ポイントに増加させる。
【0078】
また、感情決定部442は、ロボット100が実行した行動によってユーザ10の感情が良くなったことから、喜びの感情値を増大させる。また、行動制御部450は、増大させた喜びの感情値に基づいて、喜ばしい感情になったことを動作で表現する。例えば、行動制御部450は、喜びを表す仕草を行わせる。
【0079】
また、通信処理部480は、反応ルール810に含まれる情報のうち「思いやりポイント」及び「褒められポイント」を除く情報と、ユーザ10の反応がポジティブであったことを示す情報と、「パパ」として認識されたユーザ10の属性とを含むユーザ反応情報960を、サーバ200に送信する。
【0080】
このように、行動決定部440は、感情決定部442によって決定された感情値、ユーザ状態認識部430が認識したユーザの状態及び反応ルール421に基づいて、実行される行動を決定する。具体的には、行動決定部440は、条件判断部434によって満たされたことが判断された条件に対応付けて反応ルール421によって記憶されている複数の行動の中から、条件判断部434によって満たされたことが判断された条件に対応付けて反応ルール421によって記憶されている思いやりポイントがより高い行動を、実行する行動としてより高い頻度で決定する。なお、行動決定部440は、思いやりポイントが最大の行動を、実際に実行する行動として選択してよい。この場合において、思いやりポイントが最大の行動が複数存在する場合、行動決定部440は、思いやりポイントが最大の複数の行動の中から、実際に実行する1つの行動をランダムに選択してよい。この場合に、行動決定部440は、褒められポイントに応じた選択確率で、実際に実行する1つの行動を選択してもよい。
【0081】
図10は、ロボット100において行動を決定する動作に関する動作フローの一例を概略的に示す。
図10に示す動作フローは、例えば、ユーザ10の感情を含む意味情報が入力された場合に開始される。なお、動作フロー中の「S」は、実行されるステップを表す。
【0082】
条件判断部434は、反応ルール421が含む条件部のうち、ロボット100の感情と、入力された意味情報とによって満される条件部を検索する(S1002)。条件判断部434は、条件部が満たされた反応ルールの有無を判断する(S1004)。条件部が満たされた反応ルールが存在すると判断した場合、行動決定部440は、検索された反応ルールの結論部で定められた行動の中から、ユーザ10に対して実行する1つの行動を選択する(S1006)。また、感情決定部442は、検索された反応ルールの結論部で定められた感情変化に基づいて、感情値を更新する(S1008)。
【0083】
続いて、行動制御部450は、S1006で選択された行動を実行するよう、制御対象452を制御する(S1010)。このとき、行動制御部450は、S1008で更新された後の感情値に基づいて、制御対象452を制御する。例えば、「心配」の感情を表す場合、行動制御部450は、ロボット100の姿勢が心配そうな姿勢になるように、制御対象452を制御する。
【0084】
続いて、ユーザ反応認識部432は、ユーザ10の反応を表す意味情報が入力されるのを監視する(S1012)。ユーザ10の反応を表す意味情報が入力されると、ユーザ反応認識部432は、入力された意味情報に基づいて、ユーザの反応がポジティブであるか否かを判断する(S1016)。
【0085】
S1016の判断において、反応がポジティブであると判断した場合、感情決定部442は、「喜び」の感情値を増加させる(S1018)。また、ルール更新部422は、実行した行動に対応する思いやりポイント及び褒められポイントを増大させる。一方、S1016の判断において、ネガティブな反応が得られた場合、感情決定部442は、「悲しみ」の感情値を増加させる(S1022)。また、ルール更新部422は、実行した行動に対応する思いやりポイント及び褒められポイントを減少させる(S1024)。
【0086】
このように、ルール更新部422は、ユーザ反応認識部432が認識したユーザの反応が不良でなかった場合に、条件判断部434によって満たされたことが判断された条件及び行動決定部440が決定した行動に対応付けて反応ルール421によって記憶されている思いやりポイントを増大させる。一方、ユーザ反応認識部432が認識したユーザの反応が不良であった場合、ルール更新部422は、条件判断部434によって満たされたことが判断された条件及び行動決定部440が決定した行動に対応付けて反応ルール421によって記憶されている思いやりポイントを減少させる。
【0087】
また、行動制御部450は、行動決定部440が決定した行動を感情に応じて決定した実行形態で実行した後、感情決定部442は、当該行動が実行されたことに対するユーザの反応に基づいて、感情値を更に変化させる。具体的には、感情決定部442は、行動決定部440が決定した行動を行動制御部450が決定した実行形態でユーザに対して行ったことに対するユーザの反応が不良でなかった場合に、喜びの強さを表す感情値を、より大きい喜びの強さを表す値に変更する。また、感情決定部442は、行動決定部440が決定した行動を行動制御部450が決定した実行形態でユーザに対して行ったことに対するユーザの反応が不良であった場合に、悲しさの強さを表す感情値を、より大きい悲しさの強さを表す値に変更する。
【0088】
行動制御部450は、S1018又はS1022で決定した感情値に基づいて、ロボット100の感情を表現する(S1026)。例えば、行動制御部450は、「喜び」の感情値を増加させた場合、制御対象452を制御して、ロボット100に喜んだ仕草を行わせる。また、行動制御部450は、「悲しみ」の感情値を増加させた場合、ロボット100の姿勢がうなだれた姿勢になるように、制御対象452を制御する。続いて、通信処理部480は、ユーザ反応情報をサーバ200に送信し(S1028)、ロボット100の動作の決定に関する動作を終了する。
【0089】
なお、S1004の判断において、条件部が満たされた反応ルールが存在しなかったと判断された場合、通信処理部480は、サーバ200に対して、推奨される反応ルールの問い合わせを行う。例えば、ロボット100の感情を示す情報、入力された意味情報で表されるユーザの状態を示す情報、及び、ユーザ10の属性を示す情報を、サーバ200に送信する(S1030)。サーバ200からは、問い合わせで送信した情報に適した反応ルールが、推奨される反応ルールとしてロボット100に送信される。通信処理部480がサーバ200から推奨される反応ルールを受信すると、ルール更新部422は、推奨される反応ルールを反応ルール421に組み込んで(S1032)、S1006に移行する。この場合、S1006及びS1008では、サーバ200から受信した反応ルールに基づいて、行動の選択及び感情値の更新を行う。このように、通信処理部480は、条件判断部434によって反応ルール421に含まれるいずれの条件も満たされていないことが判断された場合に、ユーザ状態認識部430が認識したユーザの状態に適した行動を、サーバ200から受信する。
【0090】
なお、本動作フローによれば、条件部が満たされた反応ルールが存在しなかった場合に、推奨される反応ルールの問い合わせを行う。なお、条件部が満たされた反応ルールが存在した場合でも、どの行動に対応付けられている思いやりポイントも予め定められた値より小さい場合には、行動を決定できないと判断してよい。この場合に、通信処理部480は、推奨される反応ルールの問い合わせを行ってよい。すなわち、行動決定部440は、決定情報に含まれる情報のうち条件判断部434によって満たされたことが判断された条件に対応付けられた1以上の行動のうち、決定情報に含まれる思いやりポイントが予め定められた値より高い行動を、実行する行動として決定する。通信処理部480は、条件判断部434によって満たされたことが判断された条件に対応付けられた1以上の行動の思いやりポイントが、いずれも予め定められた値以下である場合に、ユーザ状態認識部430が認識したユーザ10の状態に適した行動を、サーバ200から受信してよい。そして、ルール更新部422は、条件判断部434によって満たされたことが判断された条件に対応付けて、通信処理部480がサーバ200から受信した行動を反応ルールに追加してよい。
【0091】
なお、推奨される反応ルールの問い合わせは、行動決定部440が行動を決定できない場合の他に、バッチ処理等で定期的に行ってもよい。また、推奨される反応ルールの問い合わせは、ユーザ10が睡眠していると判断した場合や、ロボット100がアイドル状態またはスリープ状態に遷移した場合に行ってよい。その他、ロボット100が行動しようとする任意のタイミングで、推奨される反応ルールの問い合わせを行ってよい。
【0092】
また、反応ルール421は、ユーザ10に対して実行するべき行動が検索されなかった場合の行動を定めたルールを有してよい。例えば、反応ルール421は、「ユーザ10に対して実行するべき行動が検索されなかった」という条件を定めた条件部と、「推奨される反応ルールをサーバ200に問い合わせる」という行動を定めた結論部とを含むルールを有してよい。これにより、行動決定部440は、反応ルール421に従って、推奨される反応ルールをサーバ200に問い合わせすることを決定してよい。
【0093】
図11は、サーバ200が格納している反応ルール統計情報522の一例を示す。反応ルール統計情報522は、「反応ルール」、「属性」、「人数」及び「反応結果」を含む。「反応ルール」は、「条件部」、「結論部」及び「思いやりポイント」を含む。反応ルール統計情報522の「条件部」、「結論部」及び「思いやりポイント」には、反応ルール421の「条件部」、「結論部」及び「思いやりポイント」に対応する情報が格納される。
【0094】
反応ルール統計情報522の「属性」には、ユーザ10の属性が格納される。ユーザ10の属性には、年齢層、性別、又は家庭内での役割、住んでいる地域の情報等を含む。「人数」には、反応ルール統計情報522に蓄積されている情報に寄与した人の数が格納される。「反応結果」には、ポジティブな反応があった回数と、ポジティネガティブな反応があった回数とを示す情報が格納される。
【0095】
通信処理部580がロボット100からユーザ反応情報を受信した場合、統計情報制御部550は、ユーザ反応情報に含まれる属性に合致する属性に対応付けて、ユーザ反応情報に含まれる反応ルールの「条件部」及び「結論部」を、反応ルール統計情報522に格納する。また、統計情報制御部550は、ユーザ反応情報に含まれる反応の良否情報に基づいて、「ポジティブ回数」の値又は「ネガティブ回数」の値をインクリメントする。また、統計情報制御部550は、必要に応じて「人数」の値をインクリメントする。例えば、今回受信したユーザ反応情報が、過去において反応ルール統計情報522の同一レコードにユーザ反応情報を反映したことがあるユーザのユーザ反応情報である場合、「人数」の値をインクリメントしない。
【0096】
また、統計情報制御部550は、推奨される思いやりポイントを算出して、「反応ルール」の「思いやりポイント」に格納する。例えば、統計情報制御部550は、「ポジティブ回数」の値が大きいほど、推奨される思いやりポイントとしてより大きい値を算出する。具体的には、統計情報制御部550は、「ネガティブ回数」の値に対する「ポジティブ回数」の値の比が大きいほど、推奨される思いやりポイントとしてより大きい値を算出してよい。
【0097】
通信処理部580がロボット100から推奨される反応ルールの問い合わせを受信した場合、反応ルール検索部540は、反応ルール521に格納されている反応ルールの中から、推奨される反応ルールを検索する。例えば、反応ルール検索部540は、反応ルール521から、問い合わせに含まれる「条件部」に合致する「条件部」を有する反応ルールを検索する。反応ルール検索部540によって検索された反応ルールは、問い合わせに対する応答として、通信処理部580からロボット100に送信される。
【0098】
なお、反応ルール検索部540は、反応ルール統計情報522に格納されている反応ルールの中から、推奨される反応ルールを検索してよい。具体的には、反応ルール検索部540は、反応ルール統計情報522に格納されている反応ルールのうち、問い合わせに含まれる「条件部」に合致する「条件部」を有し、かつ、問い合わせに含まれる「属性」に合致する「属性」を有する反応ルールを検索してよい。これにより、サーバ200は、ユーザ10の属性に適した行動をロボット100に提供できる。
【0099】
なお、
図12の例では、反応ルール統計情報522では、ユーザの属性毎に反応結果が集計されている。反応ルール統計情報の他の例としては、反応結果がユーザ別に集計されていてよい。
【0100】
図12は、記録データに付帯されるラベルを決定するためにロボット100が実行する行動を概略的に示す。行動決定部440は、日時情報及びユーザ10の属性情報に基づいて、ユーザ10の誕生日であることが判断された場合、誕生日であるか否かをユーザ10に確認するために質問することを決定する。この場合、行動制御部450は、例えば「○○さん、今日は誕生日だね。お誕生日おめでとう!」という発話内容の音声を、制御対象452のスピーカから出力させる。
【0101】
その後、ユーザ反応認識部432は、ユーザ10の発話内容から、ユーザ10の反応が肯定的であったか否定的であったかを認識する。例えば、ユーザ10が「ありがとう、嬉しいよ!」という返答をした場合、ユーザ反応認識部432は、ユーザ10の反応が肯定的であったと認識する。認識されたユーザ10の名前が「ヨシコちゃん」であった場合、ラベル生成部478は、「ヨシコちゃんの誕生日」というラベルを生成する。
【0102】
ラベル生成部478は、認識されたユーザ10の名前を示す情報と、「ヨシコちゃんの誕生日」という情報とを含むラベルを、記録データに付帯するラベルとして生成する。通信処理部480は、3D深度センサ402で取得された骨格情報に基づく骨格データに、ラベル生成部478が生成したラベルを付帯した記録データを、サーバ200に連続的に送信する。サーバ200においては、ロボット100から受信した記録データを、格納部520の記録データ561に格納する。
【0103】
意味理解部418において、3D深度センサ402から取得された骨格情報に基づく現在の骨格データによって、現在認識されている人数を算出する。また、過去の同じ時間帯に取得された骨格データをサーバ200から取得して、過去の同じ時間帯に同じ室内で認識された人数の平均値を算出する。ここで、意味理解部418は、現在認識されている人数が、過去の同じ時間帯に同じ室内で認識された人数の平均値より予め定められた閾値以上多いと認識した場合に、いつもと違う状況であると認識する。また、意味理解部418は、過去の同じ時間帯に取得された骨格データに付帯されたラベルと、現在認識されているユーザ10とを比較して、いつもは家にいないユーザ10が現在認識されていると判断した場合に、いつもと違う状況であると認識する。なお、行動制御部450は、いつもと違う状況であると認識した場合、センサ部400やセンサモジュール部410を制御して、より詳細な検出動作を行うように制御してよい。例えば、行動制御部450は、発話理解部412に対して、より高い精度で発話内容を認識するよう制御してよい。また、音声感情認識部411に対して、より高い精度で感情を認識するよう制御してよい。また、表情認識部413に対して、より高い精度で表情を認識するよう制御してよい。
【0104】
意味理解部418によっていつもと違う状況であると認識された場合、行動決定部440は、ユーザ10に状況を確認するために質問することを決定する。例えば、「ヨシコちゃんの誕生日」というラベルが決定されている場合において、沢山の人が認識されていると判断した場合には、行動制御部450は、「ヨシコちゃんの誕生パーティーをするの?」という発話内容の音声を、制御対象452のスピーカから出力させる。
【0105】
この場合に、ユーザ反応認識部432は、ユーザ10の発話内容から、ユーザ10の反応が肯定的であったか否定的であったかを認識する。例えば、ユーザ10が「そうだよ!」という返答をした場合、ユーザ反応認識部432は、ユーザ10の反応が肯定的であったと認識する。この場合、ラベル生成部478は、「ヨシコちゃんの誕生パーティー」というラベルを生成する。なお、「ヨシコちゃんの誕生日」や「ヨシコちゃんの誕生パーティー」というラベルは、ユーザ10の現在の状況を表すラベルの一例である。
【0106】
このように、ロボット100は、センサ部400で検出された情報の少なくとも一部に基づいて、現在の状況を確認するためにユーザ10と対話を行う。そして、ラベル生成部478は、ユーザ10との対話結果に基づいて、ユーザ10の現在の状況を決定して、決定した情報に基づいて、ユーザ10の現在の状況を表す1以上の文字情報を含むラベルを生成する。
【0107】
図13は、記録形式切換ルール471の一例を示す。記録形式切換ルール471は、「一定数以上の家族が前にいる」かつ「一定数以上、家族の笑顔が検出された」という条件を定めた条件部と、「低圧縮の記録形式に切り換える」という行動を定めた結論部とを有するルール1300が含まれる。また、記録形式切換ルール471には、「前にいる家族が一定数未満になった」かつ「一定数以上、家族の怒りが検出された」という条件を定めた条件部と、「高圧縮の記録形式に切り換える」という行動を定めた結論部とを有するルールが含まれる。
【0108】
なお、「一定数」の値は、1つの家族に属する人数が多いほど、大きくてよい。例えば、4人家族である場合、「一定数」の値は3であってよい。5人家族である場合、「一定数」の値は4であってよい。また、「一定数」の値には、意味理解部418で認識されるユーザ10の数の履歴に基づいて決定されてよい。例えば、5人家族であっても、意味理解部418で4人しか認識されないことが多い場合は、「一定数」の値として3を決定してよい。
【0109】
図14は、記録形式の切り換えに関する動作フローの一例を概略的に示す。本動作フローは、記録データ生成部470が高圧縮形式の記録データの生成を開始した場合に開始される。
【0110】
S1402において、知覚処理部416は、センサ部400及びセンサモジュール部410が出力する情報に基づいて、特定の家族に属するユーザ10の数と、笑顔度が予め定められた値を超えているユーザ10の数の検出とを開始する。ここで、知覚処理部416は、センサ部400及びセンサモジュール部410が出力する情報に基づいて存在が認識されたユーザのうち、人物DB424に家族として登録されているユーザ10の数を数える。また、知覚処理部416は、笑顔度が予め定められた値を超えているユーザのうち、人物DB424に家族として登録されているユーザ10の数を数える。
【0111】
S1404において、切換制御部477は、記録形式を低圧縮形式に切り換えることを定めたルール1300の条件部が満たされたか否かを判断する。ルール1300の条件部が満たされたと判断された場合、行動制御部450は、「楽しそうだから撮っておきますね!」という発話内容の音声を制御対象452のスピーカから出力させる(S1406)。これにより、映像を記録することをユーザ10に通知する。
【0112】
S1408において、切換制御部477は、ユーザ10から否定的な反応があったか否かを判断する。例えば、切換制御部477は、ユーザ10の音声から否定的な語句が認識されなかった場合に、ユーザ10から否定的な反応がなかったと判断する。ユーザ10から否定的な反応がなかったと判断した場合、切換制御部477は、記録データ生成部470を制御して、骨格データに加えて、フルHDの映像データ及び音声データの生成を開始させる(S1410)。このようにして、切換制御部477は、記録形式を高圧縮形式から低圧縮形式に切り換わる。S1408の判断において、ユーザ10から否定的な反応があったと判断した場合、予め定められたウェイト時間が経過してから(S1420)、S1404に処理を移行する。
【0113】
S1410で低圧縮形式に切り換えた後、S1412において、高圧縮形式に切り換えることを定めたルール1310の条件部が満たされたか否かを判断する。ルール1310の条件部が満たされたと判断された場合、切換制御部477は、記録形式を低圧縮形式から高圧縮形式に切り換える(S1414)。S1412の判断において、ルール1310の条件部が満たされていないと判断された場合、ルール1310の条件部が満たされるまで、S1412の判断を繰り返す。
【0114】
なお、S1412のルール1310に基づく判断の他、「記録を終了して」等のように、低圧縮形式による記録の停止を指示する発話が認識された場合にも、記録形式を低圧縮形式から高圧縮形式に切り換えてよい。また、記録形式を低圧縮形式に切り換えた後、予め定められた最大記録時間が経過した場合に、記録形式を低圧縮形式から高圧縮形式に切り換えてもよい。
【0115】
なお、切換制御部477は、笑顔の数に限らず、ユーザ10の感情の強さが激しく変化したことに応じて、記録形式を切り換えてよい。例えば、切換制御部477は、センサ部400に含まれるタッチセンサで予め定められた値より強い衝撃が検出された場合に、記録形式を低圧縮形式に切り換えてよい。
【0116】
[ユーザ又はロボットの感情に応じた記録態様でデータを記録]
これまで、ロボット100が、サーバ200に記録させるデータの記録形式を、ユーザの感情に基づいて切り換えることを説明してきた。例えば記録形式は、高圧縮形式及び低圧縮形式等である。
【0117】
一方で、ロボット100は、ユーザ又はロボット100自身の感情に基づいて、データの記録態様を変化させてもよい。例えば、記録態様は、テキスト、静止画像、音声、動画像といったデータの種類である。
【0118】
また、これまで説明してきた通り、ロボット100は、連続的に検出するセンサによって検出された情報を処理して得られたデータ(例えば、音声データ、骨格データ、画像データ)を記録する。また、ロボット100は、連続的に検出するセンサによって検出された情報をテキスト化したデータを記録してもよい。
【0119】
前述の通り、ロボット100は、ロボット100自身の感情を、「喜」、「怒」、「哀」、「楽」といった複数の種類の感情のそれぞれに対応する感情値によって表すことができる。
【0120】
また、ロボット100は、ユーザの感情の変化及び強さを検出することができる。ここでは、ロボット100は、ユーザの感情についても、感情の種類ごとの感情値によって表すものとする。
【0121】
すなわち、ロボット100は、ユーザ及びロボット100自身の両方について、感情の種類及び感情値によって感情を構造データ化することができる。例えば、感情決定部442は、ロボットに備えられたセンサによって検出された情報に基づいて、ロボット又はユーザの感情の強さを示す感情値、又は感情の種類を決定する。また、ロボット100は、構造データ化された感情(種類及び感情値)を基に記録態様を特定する。
【0122】
ユーザ及びロボット100の感情を構造データ化する方法として、本稿と同じ方法が特許6058053号公報に開示されている。また、ロボット100は、感情マップを用いる方法(例えば、特許6273313号公報を参照)、及びニューラルネットワークを用いる方法(例えば、特許6199927号公報を参照)といった既知の方法によりユーザ又はロボット100自身の感情を特定してもよい。
【0123】
また、ここでの記録対象のデータは、これまで説明してきたデータを含む。すなわち、ロボット100は、ユーザを撮影した静止画像(例えば、顔画像)、動画像、録音した音声、テキスト(例えば、付帯情報のラベル)等の情報(以下、主情報)をデータとして記録することができる。さらに、ロボット100は、ロボット100が存在する場所の匂い、気温、湿度、位置、天候、近くのユーザの人数及び詳細といった周辺情報をデータとして記録することができる。
【0124】
例えば、ロボット100の負の感情(「怒」、「悲しみ」等)の感情値が大きくなった場合、ロボット100又はユーザに不利益及び危険等が生じている可能性がある。例えば、ユーザが大けがをした場合、ロボット100の「悲しみ」の感情値が大きく増加することが考えられる。また、例えば、ロボット100に物理的な打撃が与えられた場合、ロボット100の「怒」の感情値が大きく増加することが考えられる。
【0125】
そのようなロボット100又はユーザに不利益及び危険を生じさせる事象の対応策及び回避策を後から検討できるようにするためには、事象に関するより多くの情報が得られるような(リッチな)記録態様(例えば、長い動画像、詳細なテキスト)でデータが記録されていることが望ましい。
【0126】
また、例えば、ロボット100の正の感情(「喜」、「楽しい」等)の感情値が大きくなった場合、ユーザがそのときの状況を後から詳細に思い出したいと考える可能性がある。
【0127】
そこで、ユーザの正の感情の感情値が大きくなった場合、なるべくその場の状況を思い出しやすい記録態様(例えば、音声、高画質の動画像)でデータが記録されていることが望ましい。これにより、ユーザは記録されたデータを参照し、例えば楽しかったときの状況を思い出すことができる。
【0128】
ロボット100及びユーザの感情と記録態様との関係はここで説明したものに限られず、あらかじめ任意に設定可能であるものとする。ここでは、感情と記録態様との関係は、パターンテーブル及び記録態様テーブルに記憶される。パターンテーブル及び記録態様テーブルは、格納部520に格納されているものとする。
【0129】
記録データ生成部470は、センサによって検出されたユーザに関する情報を示すデータを記録する記録態様を、感情値に基づいて特定する。記録データ生成部470は、特定部の一例である。
【0130】
記録データ生成部470は、格納部520に格納されたパターンテーブル及び記録態様テーブルを参照し、ロボット100又はユーザの感情に応じた記録態様を特定する。記録データ生成部470は、特定した記録態様に基づいてデータを生成する。なお、記録データ生成部470は、感情値及び感情の種類の両方を基に記録態様を特定してもよいし、いずれか一方を基に記録態様を特定してもよい。
【0131】
通信処理部480は、生成されたデータをサーバ200に記録させる。すなわち、通信処理部480は、記録データ生成部470によって特定された記録態様に基づいて、データを記録する。通信処理部480は、記録制御部の一例である。
【0132】
図15に、パターンテーブルの例を示す。
図15に示すように、パターンテーブルは、「主体」、「種類」、「感情値の範囲」、「パターン」といった列を有する。「主体」、「種類」及び「感情値の範囲」は条件に相当する。記録データ生成部470は、ユーザまたはロボット100の感情値、及びパターンテーブルを基に、条件に合致するパターンを特定する。
【0133】
例えば、ロボット100の「喜」の感情の感情値が0.7(0.5以上)である場合、記録データ生成部470は、
図15のパターンテーブルの1行目に示すレコードを基に、条件に合致するパターン「P11」を特定する。なお、ここでは感情値の範囲は0から1であるものとする。
【0134】
また、例えば、ユーザの「楽」の感情の感情値が0.9(0.8以上)である場合、記録データ生成部470は、
図15のパターンテーブルの4行目に示すレコードを基に、条件に合致するパターン「P14」を特定する。
【0135】
図16に記録態様テーブルの例を示す。記録データ生成部470は、パターンテーブルを基に特定したパターン及び記録態様テーブルを基に、記録態様を特定する。
【0136】
図16に示すように、記録態様テーブルは、「パターン」の列、及び記録態様を示す列を有する。記録態様を示す列は、「テキスト」、「音声」、「静止画像」、「動画像(低画質)」、「動画像(高画質)」、「長さ」、「容量」、及び「周辺情報」を含む。
【0137】
「テキスト」、「音声」、「静止画像」、「動画像(低画質)」及び「動画像(高画質)」はデータの種類を示す列である。データの種類を示す列の値が1であることは、対応する種類のデータが記録されることを意味する。記録データ生成部470は、データにテキスト、音声、静止画像、動画像のいずれが含まれるかを、記録態様として特定することができる。
【0138】
「長さ」は時間が定義可能なデータ(例えば、音声及び動画像)の最大の長さである。また、「容量」は、記録されるデータの最大の容量である。記録データ生成部470は、データの最大の容量を、記録態様として特定することができる。また、記録データ生成部470は、時間を定義可能なデータの最大の長さを、記録態様として特定することができる。
【0139】
「周辺情報」は、主情報(テキスト、音声、画像)とともにデータとして記録される情報である。ロボット100は、匂い、気温、湿度、位置、天候、近くのユーザの人数及び詳細といった周辺情報を、センサ部400を利用して取得する。また、近くのユーザの詳細は、主情報を記録する対象のユーザの周辺のユーザに関する、主情報と同等の情報(例えば、顔画像等)である。
【0140】
記録データ生成部470は、データに、ロボットが存在する場所の匂い、気温、湿度、位置、天候、近くのユーザの人数及び詳細のうちのいずれを含めるかを、記録態様として特定することができる。
【0141】
例えば、記録データ生成部470は、パターンとして「P11」を特定した場合、「テキスト」、「静止画像」を含む500MBまでのデータを、気温、湿度、位置(ロボット100の位置情報)とともに記録するという記録態様を特定する。
【0142】
また、例えば、記録データ生成部470は、パターンとして「P12」を特定した場合、「テキスト」、「音声」、「静止画像」、「動画像(低画質)」、「動画像(高画質)」を、長さ及び容量無制限で、匂い、気温、湿度、位置、天候、近くのユーザの人数及び詳細とともに記録するという記録態様を特定する。なお、パターン「P12」の記録態様は、記録態様テーブルで表現可能な記録態様のうち、最も多くの情報を含み得る(リッチな)記録態様である。
【0143】
なお、「動画像(低画質)」と「動画像(高画質)」では、例えば解像度及びフレームレートが異なる。例えば、「動画像(低画質)」及び「動画像(高画質)」は、それぞれ30FPSのフルHD画像、及び60FPSの4K画像である。
【0144】
記録態様は、感情の強さ(感情値の大きさ)だけでなく、感情の種類によって異なっていてよい。すなわち、ロボット100又はユーザが抱く感情の種類によって、記録されるデータにズレが生じる。このことは、パターンテーブル及び記録態様テーブルの設定によって実現され得る。
【0145】
例えば、「喜」という感情の種類に対しては、動画像が記録されず、静止画像が記録されるように設定されてもよい。また、「楽」という感情の種類に対しては、動画像が記録されるように設定されてもよい。
【0146】
また、画像及び音声等のデータについて、感情の種類ごとにその対象が設定されていてもよい。例えば、「楽」という感情の種類に対しては、対象のユーザと会話等をしている他のユーザ(相手ユーザ)の顔の製紙画像及び音声が記録されるように設定されてもよい。また、例えば、「怒」という感情の種類に対しては、相手ユーザの顔の製紙画像が記録されるように設定されてもよい。
【0147】
さらに、
図16の記録態様テーブルに示すように、感情の種類に応じて記録される周辺情報が異なる。例えば、ロボット100の感情の種類が「悲しみ」である場合(パターン「P11」)、「天候」は周辺情報として記録されないのに対し、ロボット100の感情の種類が「怒り」である場合(パターン「P12」)、「天候」が周辺情報として記録される。
【0148】
ロボット100は、特定した記録態様に基づいてデータを記録する。すなわち、記録データ生成部470は、特定した記録態様に従ってデータを生成する。
【0149】
通信処理部480は、生成されたデータをサーバ200に記録させる。
【0150】
図17に、感情に応じた記録態様でデータを記録する処理のフローの例を示す。
図17に示すように、まず、ロボット100は、ユーザまたはロボット100自身の感情の種類及び感情値を取得する(ステップS2101)。
【0151】
次に、ロボット100は、ユーザまたはロボット100の感情の種類及び感情値の条件と合致するパターンを特定する(ステップS2102)。例えば、ロボット100は、パターンテーブルを参照してパターンを特定する。
【0152】
続いて、ロボット100は、特定したパターンに応じた記録態様を特定する(ステップS2103)。例えば、ロボット100は、記録態様テーブルを参照してパターンを特定する。
【0153】
ここで、ロボット100は、記録態様に基づきデータを生成する(ステップS2104)。そして、ロボット100は、生成したデータを記録する(ステップS2105)。
例えば、ロボット100は、データをサーバ200に記録させる。
【0154】
このように、ロボット100は、感情に応じた記録態様でデータを記録することにより、ユーザ又はロボット100の感情に応じてデータを適切に記録することができる。また、ロボット100は、ロボット100又はユーザに生じる不利益及び危険への対応を支援することができる。また、これにより、ロボット100は、ユーザが思い出したいと考えるときの状況を思い出すことを支援することができる。
【0155】
なお、ロボット100は、行動制御システムを備える電子機器の一例である。行動制御システムの適用対象は、ロボット100に限られず、様々な電子機器に行動制御システムを適用できる。また、サーバ200の機能は、1以上のコンピュータによって実装されてよい。サーバ200の少なくとも一部の機能は、仮想マシンによって実装されてよい。また、サーバ200の機能の少なくとも一部は、クラウドで実装されてよい。
【0156】
図18は、ロボット100及びサーバ200として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す図である。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、および/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつか又は全てに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0157】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、およびグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、およびICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブおよびDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブおよびソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230およびキーボードのような入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0158】
CPU1212は、ROM1230およびRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0159】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラムおよびデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/又はプログラムおよびデータをICカードに書き込む。
【0160】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、および/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0161】
プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0162】
例えば、通信がコンピュータ1200および外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0163】
また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0164】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0165】
上記したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0166】
本実施形態におけるフローチャートおよびブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表してよい。特定の段階および「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/又はアナログハードウェア回路を含んでよく、集積回路(IC)および/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、およびプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、および他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0167】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0168】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでもよい。
【0169】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0170】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0171】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0172】
5 システム
10、11、12 ユーザ
20 通信網
100、101、102 ロボット
200 サーバ
400 センサ部
401 マイク
402 3D深度センサ
403 2Dカメラ
404 距離センサ
410 センサモジュール部
411 音声感情認識部
412 発話理解部
413 表情認識部
414 顔認識部
416 知覚処理部
417 知覚確認ルール
418 意味理解部
419 意味理解ルール
420 格納部
421 反応ルール
422 ルール更新部
424 人物DB
430 ユーザ状態認識部
432 ユーザ反応認識部
434 条件判断部
440 行動決定部
442 感情決定部
450 行動制御部
452 制御対象
470 記録データ生成部
471 記録形式切換ルール
477 切換制御部
478 ラベル生成部
480 通信処理部
520 格納部
521 反応ルール
522 反応ルール統計情報
530 反応ルール生成部
540 反応ルール検索部
550 統計情報制御部
560 アクセス制御部
561 記録データ
580 通信処理部
601 人物検出情報
602 顔検出情報
603 ユーザ認識情報
604 笑顔検出情報
605 タイムアウト情報
610 知覚履歴
611、612、613、614、615、616 知覚情報
630 知覚確認ルール
710 意味履歴
711、712、713、714、715、717 意味情報
730 意味理解ルール
810 反応ルール
910 候補
940 意味情報
960 ユーザ反応情報
1300、1310 ルール