JP2024155774A - 電子機器 - Google Patents
電子機器 Download PDFInfo
- Publication number
- JP2024155774A JP2024155774A JP2024064188A JP2024064188A JP2024155774A JP 2024155774 A JP2024155774 A JP 2024155774A JP 2024064188 A JP2024064188 A JP 2024064188A JP 2024064188 A JP2024064188 A JP 2024064188A JP 2024155774 A JP2024155774 A JP 2024155774A
- Authority
- JP
- Japan
- Prior art keywords
- user
- robot
- emotion
- behavior
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000008451 emotion Effects 0.000 claims description 297
- 230000008859 change Effects 0.000 claims description 28
- 230000009471 action Effects 0.000 abstract description 54
- 230000006399 behavior Effects 0.000 description 178
- 238000006243 chemical reaction Methods 0.000 description 59
- 238000010411 cooking Methods 0.000 description 49
- 230000015654 memory Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 19
- 238000000034 method Methods 0.000 description 14
- 230000008921 facial expression Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000013528 artificial neural network Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 230000003542 behavioural effect Effects 0.000 description 8
- 210000003128 head Anatomy 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000008909 emotion recognition Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000035807 sensation Effects 0.000 description 4
- 208000019901 Anxiety disease Diseases 0.000 description 3
- 230000036506 anxiety Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 239000000945 filler Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000001678 irradiating effect Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004313 glare Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006996 mental state Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035943 smell Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
【課題】適切な行動を実行すること。【解決手段】実施形態に係る電子機器は、ユーザの行動を認識し、認識したユーザの行動とユーザに関する情報とに基づいて更新された履歴データを用いて自身の行動を決定し、決定した自身の行動に基づいて制御対象を制御する制御部を備える。【選択図】図2
Description
開示の実施形態は、電子機器に関する。
従来、ユーザの状態に対してロボットの適切な行動を決定する技術が開示されている(例えば、特許文献1参照)。特許文献1には、ロボットが特定の行動を実行したときのユーザの反応を認識し、認識したユーザの反応に対するロボットの行動を決定できなかった場合、認識したユーザの状認に適した行動に関する情報をサーバから受信することで、ロボットの行動を更新する点が開示されている。
しかしながら、従来の技術では、ユーザの行動に対して適切な行動を実行する点で改善の余地があった。
本発明は、上記に鑑みてなされたものであって、適切な行動を実行することができる電子機器を提供することを目的とする。
実施形態の一態様に係る電子機器は、ユーザの行動を認識し、認識した前記ユーザの行動と前記ユーザに関する情報とに基づいて更新された履歴データを用いて自身の行動を決定し、決定した前記自身の行動に基づいて制御対象を制御する制御部、を備える。
実施形態の一態様によれば、適切な行動を実行することができる。
以下、実施形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。また、本実施形態においては、電子機器として「ロボット」を一例に挙げて説明する。なお、当該電子機器は、ロボットの他に、ぬいぐるみ、スマートフォン等の携帯型端末装置、スマートスピーカ等の入力装置等であってよい。
図1は、本実施形態に係る制御システム1の一例を概略的に示す図である。図1に示すように、制御システム1は、複数のロボット100と、連携機器400と、サーバ300とを備える。複数のロボット100は、それぞれユーザによって管理される。
ロボット100は、ユーザと会話を行ったり、ユーザに映像を提供したりする。このとき、ロボット100は、通信網20を介して通信可能なサーバ300等と連携して、ユーザとの会話や、ユーザへの映像等の提供を行う。例えば、ロボット100は、自身で適切な会話を学習するだけでなく、サーバ300と連携して、ユーザとより適切に会話を進められるように学習を行う。また、ロボット100は、撮影したユーザの映像データ等をサーバ300に記録させ、必要に応じて映像データ等をサーバ300に要求して、ユーザに提供する。
また、ロボット100は、自身の感情の種類を表す感情値を持つ。例えば、ロボット100は、「喜」、「怒」、「哀」、「楽」、「快」、「不快」、「安心」、「不安」、「悲しみ」、「興奮」、「心配」、「安堵」、「充実感」、「虚無感」及び「普通」のそれぞれの感情の強さを表す感情値を持つ。ロボット100は、例えば興奮の感情値が大きい状態でユーザと会話するときは、早いスピードで音声を発する。このように、ロボット100は、自己の感情を行動で表現することができる。
また、ロボット100は、文章生成モデル、いわゆる(AI(Artificial Intelligence)チャットエンジン)と感情エンジンをマッチングさせることで、ユーザ10の感情に対応するロボット100の行動を決定するように構成してよい。具体的には、ロボット100は、ユーザ10の行動を認識して、当該ユーザの行動に対するユーザ10の感情を判定し、判定した感情に対応するロボット100の行動を決定するように構成してよい。
より具体的には、ロボット100は、ユーザ10の行動を認識した場合、予め設定された文章生成モデルを用いて、当該ユーザ10の行動に対してロボット100がとるべき行動内容を自動で生成する。文章生成モデルは、文字による自動対話処理のためのアルゴリズム及び演算と解釈してよい。文章生成モデルは、例えば特開2018-081444号公報やchatGPT(インターネット検索<URL:https://openai.com/blog/chatgpt>)に開示される通り公知であるため、その詳細な説明を省略する。このような、文章生成モデルは、大規模言語モデル(LLM:Large Language Model)により構成されている。以上、本実施形態は、大規模言語モデルと感情エンジンとを組み合わせることにより、ユーザ10やロボット100の感情と、様々な言語情報とをロボット100の行動に反映させるということができる。つまり、本実施形態によれば、文章生成モデルと感情エンジンとを組み合わせることにより、相乗効果を得ることができる。
また、ロボット100は、ユーザの行動を認識する機能を有する。ロボット100は、カメラ機能で取得したユーザの顔画像や、マイク機能で取得したユーザの音声を解析することによって、ユーザの行動を認識する。ロボット100は、認識したユーザの行動等に基づいて、ロボット100が実行する行動を決定する。
ロボット100は、ユーザの感情、ロボット100の感情、及びユーザの行動に基づいてロボット100が実行する行動を定めたルールを記憶しており、ルールに従って各種の行動を行う。
具体的には、ロボット100には、ユーザの感情、ロボット100の感情、及びユーザの行動に基づいてロボット100の行動を決定するための反応ルールを有している。反応ルールには、例えば、ユーザの行動が「笑う」である場合に対して、「笑う」という行動が、ロボット100の行動として定められている。また、反応ルールには、ユーザの行動が「怒る」である場合に対して、「謝る」という行動が、ロボット100の行動として定められている。また、反応ルールには、ユーザの行動が「質問する」である場合に対して、「回答する」という行動が、ロボット100の行動として定められている。反応ルールには、ユーザの行動が「悲しむ」である場合に対して、「声をかける」という行動が、ロボット100の行動として定められている。
ロボット100は、反応ルールに基づいて、ユーザの行動が「怒る」であると認識した場合、反応ルールで定められた「謝る」という行動を、ロボット100が実行する行動として選択する。例えば、ロボット100は、「謝る」という行動を選択した場合に、「謝る」動作を行うと共に、「謝る」言葉を表す音声を出力する。
また、ロボット100の感情が「普通」(すわなち、「喜」=0、「怒」=0、「哀」=0、「楽」=0)であり、ユーザの状態が「1人、寂しそう」という条件が満たされた場合に、ロボット100の感情が「心配になる」という感情の変化内容と、「声をかける」の行動を実行できることが定められている。
ロボット100は、反応ルールに基づいて、ロボット100の現在の感情が「普通」であり、かつ、ユーザが1人で寂しそうな状態にあると認識した場合、ロボット100の「哀」の感情値を増大させる。また、ロボット100は、反応ルールで定められた「声をかける」という行動を、ユーザに対して実行する行動として選択する。例えば、ロボット100は、「声をかける」という行動を選択した場合に、心配していることを表す「どうしたの?」という言葉を、心配そうな音声に変換して出力する。
また、ロボット100は、この行動によって、ユーザからポジティブな反応が得られたことを示すユーザ反応情報を、サーバ300に送信する。ユーザ反応情報には、例えば、「怒る」というユーザ行動、「謝る」というロボット100の行動、ユーザの反応がポジティブであったこと、及びユーザの属性が含まれる。
サーバ300は、各ロボット100から受信したユーザ反応情報を記憶する。そして、サーバ300は、各ロボット100からのユーザ反応情報を解析して、反応ルールを更新する。
ロボット100は、更新された反応ルールをサーバ300に問い合わせることにより、更新された反応ルールをサーバ300から受信する。ロボット100は、更新された反応ルールを、ロボット100が記憶している反応ルールに組み込む。これにより、ロボット100は、他のロボット100が獲得した反応ルールを、自身の反応ルールに組み込むことができる。反応ルールが更新された場合、サーバ300から自動的にロボット100に送信されてもよい。
また、ロボット100は、連携機器400と連携した行動を実行することができる。連携機器400は、例えば、カラオケ機器、ワインセラー、冷蔵庫、端末機器(PC(Personal Computer)や、スマートフォン、タブレット等)、洗濯機、自動車、カメラ、トイレ設備、電動歯ブラシ、テレビ、ディスプレイ、家具(クローゼット等)、薬箱、楽器、照明機器、運動玩具(一輪車等)である。これら連携機器400は、通信網20を介してロボット100と通信可能に接続され、ロボット100との間で情報の送受信を行う。この構成により、連携機器400は、ロボット100の指示に従って、自身の制御や、ユーザとの会話等を行う。
本開示では、連携機器400である端末機器(PC(Personal Computer)400aや、スマートフォン400b、タブレット400c等)とロボット100との連携により、ユーザに対して各種行動を実行する例について説明する。
具体的には、ロボット100は、ユーザの行動を認識し、認識したユーザの行動とユーザに関する情報とに基づいて更新された履歴データ222を用いて自身の行動を決定し、決定した自身の行動に基づいて制御対象を制御する。具体的には、ロボット100は、ユーザに関する情報として、ユーザの経験に関する情報またはユーザの属性情報の少なくともどちらか一方が変化した場合に記憶された履歴データ222を更新する。
上記したように、ロボット100は、あるユーザが新しい経験をした際、その経験に基づきそのユーザの履歴データ222を更新する。また、ロボット100は、ユーザ属性が変化した場合、そのユーザの履歴データ222を適応させる。
具体的には、ロボット100は、ユーザの経験に関する情報として、五感を通じて感知したユーザの経験とユーザの感情とを関連付けて履歴データ222を更新する。例えば、ロボット100は、ユーザが新しい経験である「料理をする」を行った場合に、五感を通じて感知した当該ユーザの経験と「(料理をすることは)楽しい!」等のユーザの「喜」の感情値とを関連付けて、履歴データ222を更新する。
また、ロボット100は、ユーザの氏名、年齢、性別、興味、関心、趣味、志向、ライフスタイル、パーソナリティ、学歴、職歴、居住地、所得、家族構成のうち少なくともいずれか1つを含むユーザの属性情報に基づいて履歴データ222を更新する。例えば、ロボット100は、ユーザの属性情報として「趣味」が変化した場合に、履歴データ222を更新する。具体例としては、ロボット100は、ユーザの「趣味」に「料理」が追加された場合に、上記したように「(趣味である料理をすることは)楽しい!」と「喜の感情値」と関連付けられるように履歴データ222を更新する。
また、ロボット100は、ユーザに関する情報についての変化を認識した場合、ユーザに対して変化の有無について確認する発話を行う。具体的には、ロボット100は、ユーザが料理をする行動を認識した場合に、ユーザに対して「料理が趣味ですか?」等のように趣味が変化したかを確認する。そして、ロボット100は、ユーザに関する情報の変化の確認、またはユーザからロボットに対するユーザに関する情報の変化があった旨を伝える発話の少なくともいずれか一方がなされた場合に履歴データ222を更新する。例えば、ロボット100は、ユーザにより「趣味:料理」等のような情報が入力されたことにより、ユーザ属性情報が変化したことを認識して、履歴データ222を更新できる。また、例えば、ロボット100は、ユーザにより「趣味は料理です。」等の発話によりユーザ属性情報が変化したことを伝えられた場合、履歴データ222を更新できる。
さらに、ロボット100は、ユーザとの会話を通じて、ユーザの経験もしくは感情の変化を認識し、ユーザの経験もしくは感情の変化に基づいて履歴データ222を更新する。例えば、ロボット100は、ユーザに対して「料理が趣味ですか?」と問いかけをし、ユーザが「はい、料理が趣味になりました。」等の回答をしたことにより趣味が「料理」に変更されたことが確認された場合、履歴データ222を更新できる。また、ロボット100は、ユーザに対して「料理は楽しいですか?」等のような問いかけを行い、それに対するユーザの「はい、料理は楽しいです。」、「最近、料理にはまっています。」等のような回答に基づいて、履歴データ222を更新できる。
また、ロボット100は、ユーザの状態や行動に基づいて、ユーザに関する情報の変化を認識し、履歴データ222を更新する。例えば、ロボット100は、ユーザが料理をしている際に、「ユーザは、楽しそうに料理をしています。」等のようにユーザの状態を認識して、「趣味:料理」とユーザの属性情報を更新し、「料理:喜の感情値の増加」とユーザの経験に関する情報を更新できる。
このように、本開示において、ロボット100は、端末機器(PCや、スマートフォン、タブレット等)と連携した行動を行うことで、あるユーザが新しい経験をした際、その経験に基づきそのユーザの履歴データ222を更新する。また、ロボット100は、ユーザ属性が変化した場合、そのユーザの履歴データ222を適応させることができる。すなわち、本開示に係るロボット100によれば、ユーザに対して適切な行動を実行することができる。
図2は、ロボット100の機能構成を概略的に示す図である。ロボット100は、センサ部200と、センサモジュール部210と、格納部220と、ユーザ状態認識部230と、感情決定部232と、行動認識部234と、行動決定部236と、記憶制御部238と、行動制御部250と、制御対象252と、通信処理部280と、を有する制御部によって構成される。
制御対象252は、表示装置、スピーカ及び目部のLED、並びに、腕、手及び足等を駆動するモータ等を含む。ロボット100の姿勢や仕草は、腕、手及び足等のモータを制御することにより制御される。ロボット100の感情の一部は、これらのモータを制御することにより表現できる。また、ロボット100の目部のLEDの発光状態を制御することによっても、ロボット100の表情を表現できる。例えば、表示装置は、ロボット100の胸に設けられる。また、表示装置の表示を制御することによっても、ロボット100の表情を表現できる。表示装置は、ユーザとの会話内容を文字として表示してもよい。なお、ロボット100の姿勢、仕草及び表情は、ロボット100の態度の一例である。
センサ部200は、マイク201と、3D深度センサ202と、2Dカメラ203と、距離センサ204と、加速度センサ205と、サーモセンサ206と、タッチセンサ207とを含む。マイク201は、音声を連続的に検出して音声データを出力する。なお、マイク201は、ロボット100の頭部に設けられ、バイノーラル録音を行う機能を有してよい。3D深度センサ202は、赤外線パターンを連続的に照射して、赤外線カメラで連続的に撮影された赤外線画像から赤外線パターンを解析することによって、物体の輪郭を検出する。2Dカメラ203は、イメージセンサの一例である。2Dカメラ203は、可視光によって撮影して、可視光の映像情報を生成する。物体の輪郭は、2Dカメラ203によって生成された映像情報から検出されてもよい。距離センサ204は、例えばレーザや超音波等を照射して物体までの距離を検出する。加速度センサ205は、例えば、ジャイロセンサであり、ロボット100の加速度を検出する。サーモセンサ206は、ロボット100の周囲の温度を検出する。タッチセンサ207は、ユーザのタッチ操作を検出するセンサであり、例えば、ロボット100の頭部および手に配置される。なお、センサ部200は、この他にも、時計、モータフィードバック用のセンサ等を含んでよい。
なお、図2に示すロボット100の構成要素のうち、制御対象252及びセンサ部200を除く構成要素は、ロボット100が有する行動制御システムが有する構成要素の一例である。ロボット100の行動制御システムは、制御対象252を制御の対象とする。
格納部220は、反応ルール221及び履歴データ222を含む。履歴データ222は、ユーザの過去の感情値及び行動の履歴を含む。この感情値及び行動の履歴は、例えば、ユーザの識別情報に対応付けられることによって、ユーザ毎に記録される。格納部220の少なくとも一部は、メモリ等の記憶媒体によって実装される。ユーザの顔画像、ユーザの属性情報等を格納する人物DBを含んでもよい。なお、ここでいうユーザの属性情報には、ユーザの氏名、年齢、性別、興味、関心、趣味、志向、ライフスタイル、パーソナリティ、学歴、職歴、居住地、所得、家族構成等が含まれていてよい。なお、図2に示すロボット100の構成要素のうち、制御対象252、センサ部200及び格納部220を除く構成要素の機能は、CPUがプログラムに基づいて動作することによって実現できる。例えば、基本ソフトウエア(OS)及びOS上で動作するプログラムによって、これらの構成要素の機能をCPUの動作として実装できる。
センサモジュール部210は、音声感情認識部211と、発話理解部212と、表情認識部213と、顔認識部214とを含む。センサモジュール部210には、センサ部200で検出された情報が入力される。センサモジュール部210は、センサ部200で検出された情報を解析して、解析結果をユーザ状態認識部230に出力する。
センサモジュール部210の音声感情認識部211は、マイク201で検出されたユーザの音声を解析して、ユーザの感情を認識する。例えば、音声感情認識部211は、音声の周波数成分等の特徴量を抽出して、抽出した特徴量に基づいて、ユーザの感情を認識する。発話理解部212は、マイク201で検出されたユーザの音声を解析して、ユーザの発話内容を表す文字情報を出力する。例えば、発話理解部212は、ユーザによる「はい、料理は楽しいです。」、「最近、料理にはまっています。」等のロボット100への問いかけの内容を解析して、ユーザの発話内容を表す文字情報を出力できる。
表情認識部213は、2Dカメラ203で撮影されたユーザの画像から、ユーザの表情及びユーザの感情を認識する。例えば、表情認識部213は、目及び口の形状、位置関係等に基づいて、ユーザの表情及び感情を認識する。例えば、表情認識部213は、ユーザが所定の行動をしている際や、ロボット100に対して問いかけを行っている際の表情及び感情を認識できる。なお、上記した「所定の行動」とは、例えば、ユーザが趣味に興じる等の行動であり、行動の種類や内容は特に限定されない。
顔認識部214は、ユーザの顔を認識する。顔認識部214は、人物DB(図示省略)に格納されている顔画像と、2Dカメラ203によって撮影されたユーザの顔画像とをマッチングすることによって、ユーザを認識する。
ユーザ状態認識部230は、センサモジュール部210で解析された情報に基づいて、ユーザの状態を認識する。例えば、センサモジュール部210の解析結果を用いて、主として知覚に関する処理を行う。例えば、ユーザ状態認識部230は、「ユーザが料理をしています。」、「ユーザが楽しそうな表情を浮かべています。」等の知覚情報を生成し、生成された知覚情報の意味を理解する処理を行う。例えば、ユーザ状態認識部230は、「ユーザは、楽しそうに料理をしています。」等の意味情報を生成する。
感情決定部232は、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザの状態に基づいて、ユーザの感情を示す感情値を決定する。例えば、センサモジュール部210で解析された情報、及び認識されたユーザの状態を、予め学習されたニューラルネットワークに入力し、ユーザの感情を示す感情値を取得する。
ここで、ユーザの感情を示す感情値とは、ユーザの感情の正負を示す値であり、例えば、ユーザの感情が、「喜」、「楽」、「快」、「安心」、「興奮」、「安堵」、及び「充実感」のように、快感や安らぎを伴う明るい感情であれば、正の値を示し、明るい感情であるほど、大きい値となる。ユーザの感情が、「怒」、「哀」、「不快」、「不安」、「悲しみ」、「心配」、及び「虚無感」のように、嫌な気持ちになってしまう感情であれば、負の値を示し、嫌な気持ちであるほど、負の値の絶対値が大きくなる。ユーザの感情が、上記の何れでもない場合(「普通」)、0の値を示す。
また、感情決定部232は、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザの状態に基づいて、ロボット100の感情を示す感情値を決定する。
ロボット100の感情値は、複数の感情分類の各々に対する感情値を含み、例えば、「喜」、「怒」、「哀」、「楽」それぞれの強さを示す値(0~5)である。
具体的には、感情決定部232は、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザの状態に対応付けて定められた、ロボット100の感情値を更新するルールに従って、ロボット100の感情を示す感情値を決定する。
例えば、感情決定部232は、ユーザ状態認識部230によってユーザが寂しそうと認識された場合、ロボット100の「哀」の感情値を増大させる。また、ユーザ状態認識部230によってユーザが笑顔になったと認識された場合、ロボット100の「喜」の感情値を増大させる。
なお、感情決定部232は、ロボット100の状態を更に考慮して、ロボット100の感情を示す感情値を決定してもよい。例えば、ロボット100のバッテリー残量が少ない場合やロボット100の周辺環境が真っ暗な場合等に、ロボット100の「哀」の感情値を増大させてもよい。更にバッテリー残量が少ないにも関わらず継続して話しかけてくるユーザの場合は、「怒」の感情値を増大させても良い。
行動認識部234は、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザの状態に基づいて、ユーザの行動を認識する。例えば、センサモジュール部210で解析された情報、及び認識されたユーザの状態を、予め学習されたニューラルネットワークに入力し、予め定められた複数の行動分類(例えば、「笑う」、「怒る」、「質問する」、「悲しむ」)の各々の確率を取得し、最も確率の高い行動分類を、ユーザの行動として認識する。例えば、行動認識部234は、ユーザの「端末装置を手に持つ」、「端末装置を操作する」、「所定の行動を行う」等のユーザの行動を認識する。
以上のように、本実施形態では、ロボット100は、ユーザを特定したうえでユーザの発話内容を取得するが、当該発話内容の取得と利用等に際してはユーザから法令に従った必要な同意を取得するほか、本実施形態に係るロボット100の行動制御システムは、ユーザの個人情報及びプライバシーの保護に配慮する。
行動決定部236は、感情決定部232により決定されたユーザの現在の感情値と、ユーザの現在の感情値が決定されるよりも前に感情決定部232により決定された過去の感情値の履歴データ222と、ロボット100の感情値とに基づいて、行動認識部234によって認識されたユーザの行動に対応する行動を決定する。本実施形態では、行動決定部236は、ユーザの過去の感情値として、履歴データ222に含まれる直近の1つの感情値を用いる場合について説明するが、開示の技術はこの態様に限定されない。例えば、行動決定部236は、ユーザの過去の感情値として、直近の複数の感情値を用いてもよいし、一日前等の単位期間の分だけ前の感情値を用いてもよい。また、行動決定部236は、ロボット100の現在の感情値だけでなく、ロボット100の過去の感情値の履歴を更に考慮して、ユーザの行動に対応する行動を決定してもよい。行動決定部236が決定する行動は、ロボット100が行うジェスチャー又はロボット100の発話内容を含む。
なお、行動決定部236は、ロボット100の感情に基づいて、ユーザの行動に対応する行動を決定してもよい。例えば、ロボット100がユーザから暴言をかけられた場合や、ユーザに横柄な態度をとられている場合(すなわち、ユーザの反応が不良である場合)、周囲の騒音が騒がしくユーザの音声を検出できない場合、ロボット100のバッテリー残量が少ない場合などにおいて、ロボット100の「怒」や「哀」の感情値が増大した場合、行動決定部236は、「怒」や「哀」の感情値の増大に応じた行動を、ユーザの行動に対応する行動として決定してもよい。また、ユーザの反応が良好である場合や、ロボット100のバッテリー残量が多い場合などにおいて、ロボット100の「喜」や「楽」の感情値が増大した場合、行動決定部236は、「喜」や「楽」の感情値の増大に応じた行動を、ユーザの行動に対応する行動として決定してもよい。また、行動決定部236は、ロボット100の「怒」や「哀」の感情値を増大させたユーザに対する行動とは異なる行動を、ロボット100の「喜」や「楽」の感情値を増大させたユーザに対する行動として決定してもよい。このように、行動決定部236は、ロボット自身の感情そのものや、ユーザの行動によってユーザがロボット100の感情をどのように変化させたかに応じて、異なる行動を決定すればよい。
本実施形態に係る行動決定部236は、ユーザの行動に対応する行動として、ユーザの過去の感情値と現在の感情値の組み合わせと、ロボット100の感情値と、ユーザの行動と、反応ルール221とに基づいて、ロボット100の行動を決定する。例えば、行動決定部236は、ユーザの過去の感情値が正の値であり、かつ現在の感情値が負の値である場合、ユーザの行動に対応する行動として、ユーザの感情値を正に変化させるための行動を決定する。
反応ルール221には、ユーザの過去の感情値と現在の感情値の組み合わせと、ロボット100の感情値と、ユーザの行動とに応じたロボット100の行動が定められている。例えば、ユーザの過去の感情値が正の値であり、かつ現在の感情値が負の値であり、ユーザの行動が悲しむである場合、ロボット100の行動として、ジェスチャーを交えてユーザを励ます問いかけを行う際のジェスチャーと発話内容との組み合わせが定められている。
例えば、反応ルール221には、ロボット100の感情値のパターン(「喜」、「怒」、「哀」、「楽」の値「0」~「5」の6値の4乗である1296パターン)、ユーザの過去の感情値と現在の感情値の組み合わせのパターン、ユーザの行動パターンの全組み合わせに対して、ロボット100の行動が定められる。すわなち、ロボット100の感情値のパターン毎に、ユーザの過去の感情値と現在の感情値の組み合わせが、負の値と負の値、負の値と正の値、正の値と負の値、正の値と正の値、負の値と普通、及び普通と普通等のように、複数の組み合わせのそれぞれに対して、ユーザの行動パターンに応じたロボット100の行動が定められる。なお、行動決定部236は、例えば、ユーザが「この前に話したあの話題について話したい」というような過去の話題から継続した会話を意図する発話を行った場合に、履歴データ222を用いてロボット100の行動を決定する動作モードに遷移してもよい。
なお、反応ルール221には、ロボット100の感情値のパターン(1296パターン)の各々に対して、最大で一つずつ、ロボット100の行動としてジェスチャー及び発言内容の少なくとも一方が定められていてもよい。あるいは、反応ルール221には、ロボット100の感情値のパターンのグループの各々に対して、ロボット100の行動としてジェスチャー及び発言内容の少なくとも一方が定められていてもよい。
反応ルール221に定められているロボット100の行動に含まれる各ジェスチャーには、当該ジェスチャーの強度が予め定められている。反応ルール221に定められているロボット100の行動に含まれる各発話内容には、当該発話内容の強度が予め定められている。
例えば、反応ルール221には、端末装置を手に持つ場合、端末装置を操作する場合、所定の行動を行う場合、ユーザの要望に関する発話等の行動パターンに対応するロボット100の行動が定められている。なお、ユーザの要望に関する発話の一例としては、「私の趣味は料理です」等のロボット100への問いかけ等であってよい。
記憶制御部238は、行動決定部236によって決定された行動に対して予め定められた行動の強度と、感情決定部232により決定されたロボット100の感情値とに基づいて、ユーザの行動を含むデータを履歴データ222に記憶するか否かを決定する。
具体的には、ロボット100の複数の感情分類の各々に対する感情値の総和と、行動決定部236によって決定された行動が含むジェスチャーに対して予め定められた強度と、行動決定部236によって決定された行動が含む発話内容に対して予め定められた強度との和である強度の総合値が、閾値以上である場合、ユーザの行動を含むデータを履歴データ222に記憶すると決定する。
記憶制御部238は、ユーザの行動を含むデータを履歴データ222に記憶すると決定した場合、行動決定部236によって決定された行動と、現時点から一定期間前までの、センサモジュール部210で解析された情報(例えば、その場の音声、画像、におい等のデータ等のあらゆる周辺情報)、及びユーザ状態認識部230によって認識されたユーザの状態(例えば、ユーザの表情、感情等)を、履歴データ222に記憶する。
また、記憶制御部238は、ユーザに関する情報として、ユーザの経験に関する情報またはユーザの属性情報の少なくともどちらか一方が変化した場合に記憶された履歴データ222を更新する。
上記したように、記憶制御部238は、あるユーザが新しい経験をした際、その経験に基づきそのユーザの履歴データ222を更新する。具体的には、記憶制御部238は、ユーザの経験に関する情報として、五感を通じて感知したユーザの経験とユーザの感情とを関連付けて履歴データ222を更新する。例えば、記憶制御部238は、ユーザが新しい経験である「料理をする」を行った場合に、五感を通じて感知した当該ユーザの経験と「(料理をすることは)楽しい!」というユーザの「喜」の感情値とを関連付けて、履歴データ222を更新する。
また、上記したように、記憶制御部238は、ユーザ属性が変化した場合、そのユーザの履歴データ222を適応する。具体的には、記憶制御部238は、ユーザの氏名、年齢、性別、興味、関心、趣味、志向、ライフスタイル、パーソナリティ、学歴、職歴、居住地、所得、家族構成のうち少なくともいずれか1つを含むユーザの属性情報に基づいて履歴データ222を更新する。例えば、記憶制御部238は、ユーザの属性情報として「趣味」が変化した場合に、更新されたユーザの属性情報に基づいて、履歴データ222を更新する。具体例としては、記憶制御部238は、ユーザの「趣味」に「料理」が追加された場合に、上記したように「(趣味である料理をすることは)楽しい!」と「喜の感情値」と関連付けられるように履歴データ222を更新する。
また、記憶制御部238は、後述の行動制御部250によりユーザに関する情報の変化が認識された場合に、変化したユーザに関する情報に基づいて履歴データ222を更新する。例えば、記憶制御部238は、ユーザにより「趣味:料理」等のような情報が入力されたことにより、ユーザ属性情報を含むユーザに関する情報が変化したことを認識して、履歴データ222を更新できる。また、例えば、記憶制御部238は、ユーザにより「趣味は料理です。」等の発話によりユーザ属性情報を含むユーザに関する情報が変化したことを伝えられた場合、履歴データ222を更新できる。
また、記憶制御部238は、ユーザとの会話を通じて、ユーザの経験もしくは感情の変化を認識し、ユーザの経験もしくは感情の変化に基づいて履歴データ222を更新する。例えば、記憶制御部238は、ユーザに対して「料理が趣味ですか?」と問いかけをし、ユーザが「はい、料理が趣味になりました。」等の発話による回答により趣味が「料理」に変更されたことが確認された場合、履歴データ222を更新できる。また、記憶制御部238は、ユーザに対して「料理は楽しいですか?」等のような問いかけを行い、それに対するユーザの「はい、料理は楽しいです。」、「最近、料理にはまっています。」等のような回答に基づいて、履歴データ222を更新できる。
また、記憶制御部238は、ユーザの状態や行動に基づいて、ユーザに関する情報の変化を認識し、履歴データ222を更新する。例えば、記憶制御部238は、ユーザが料理をしている際に「ユーザは、楽しそうに料理をしています。」等のようにユーザの状態を認識して、「趣味:料理」とユーザの属性情報を更新し、「料理:喜の感情値の増加」とユーザの経験に関する情報を更新できる。
行動制御部250は、行動決定部236が決定した行動に基づいて、制御対象252を制御する。例えば、行動制御部250は、行動決定部236が発話することを含む行動を決定した場合に、制御対象252に含まれるスピーカから音声を出力させる。このとき、行動制御部250は、ロボット100の感情値に基づいて、音声の発声速度を決定してもよい。例えば、行動制御部250は、ロボット100の感情値が大きいほど、速い発声速度を決定する。このように、行動制御部250は、感情決定部232が決定した感情値に基づいて、行動決定部236が決定した行動の実行形態を決定する。
例えば、行動制御部250は、ユーザに関する情報についての変化を認識した場合、ユーザに対して変化の有無について確認する発話を行う。具体的には、行動制御部250は、ユーザが料理をする行動を認識した場合に、ユーザに対して「料理が趣味ですか?」等のように趣味が変化したかを確認する。そして、前述した記憶制御部238は、ユーザに関する情報の変化の確認、またはユーザからロボット100に対するユーザに関する情報の変化があった旨を伝える発話の少なくともいずれか一方がなされた場合に履歴データ222を更新する。
行動制御部250は、行動決定部236が決定した行動を実行したことに対するユーザの感情の変化を認識してもよい。例えば、ユーザの音声や表情に基づいて感情の変化を認識してよい。その他、センサ部200に含まれるタッチセンサで衝撃が検出されたことに基づいて、ユーザの感情の変化を認識してよい。センサ部200に含まれるタッチセンサで衝撃が検出された場合に、ユーザの感情が悪くなったと認識したり、センサ部200に含まれるタッチセンサの検出結果から、ユーザの反応が笑っている、あるいは、喜んでいる等と判断される場合には、ユーザの感情が良くなったと認識したりしてもよい。ユーザの反応を示す情報は、通信処理部280に出力される。
また、行動制御部250は、行動決定部236が決定した行動をロボット100の感情に応じて決定した実行形態で実行した後、感情決定部232は、当該行動が実行されたことに対するユーザの反応に基づいて、ロボット100の感情値を更に変化させる。具体的には、感情決定部232は、行動決定部236が決定した行動を行動制御部250が決定した実行形態でユーザに対して行ったことに対するユーザの反応が不良でなかった場合に、ロボット100の「喜」の感情値を増大させるまた、感情決定部232は、行動決定部236が決定した行動を行動制御部250が決定した実行形態でユーザに対して行ったことに対するユーザの反応が不良であった場合に、ロボット100の「哀」の感情値を増大させる。
更に、行動制御部250は、決定したロボット100の感情値に基づいて、ロボット100の感情を表現する。例えば、行動制御部250は、ロボット100の「喜」の感情値を増加させた場合、制御対象252を制御して、ロボット100に喜んだ仕草を行わせる。また、行動制御部250は、ロボット100の「哀」の感情値を増加させた場合、ロボット100の姿勢がうなだれた姿勢になるように、制御対象252を制御する。
通信処理部280は、サーバ300との通信を担う。上述したように、通信処理部280は、ユーザ反応情報をサーバ300に送信する。また、通信処理部280は、更新された反応ルールをサーバ300から受信する。通信処理部280がサーバ300から、更新された反応ルールを受信すると、反応ルール221を更新する。通信処理部280は、連携機器400との間で情報を送受信できる。
サーバ300は、各ロボット100とサーバ300との間の通信を行い、ロボット100から送信されたユーザ反応情報を受信し、ポジティブな反応が得られた行動を含む反応ルールに基づいて、反応ルールを更新する。
図3は、ロボット100において行動を決定する動作に関する動作フローの一例を概略的に示す図である。図3に示す動作フローは、繰り返し実行される。このとき、センサモジュール部210で解析された情報が入力されているものとする。なお、動作フロー中の「S」は、実行されるステップを表す。
まず、ステップS101において、ユーザ状態認識部230は、センサモジュール部210で解析された情報に基づいて、ユーザの状態を認識する。例えば、ユーザ状態認識部230は、「ユーザが料理をしています。」、「ユーザが楽しそうな表情を浮かべています。」等の知覚情報を生成し、生成された知覚情報の意味を理解する処理を行う。例えば、ユーザ状態認識部230は、「ユーザは、楽しそうに料理をしています。」等の意味情報を生成する。
ステップS102において、感情決定部232は、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザの状態に基づいて、ユーザの感情を示す感情値を決定する。
ステップS103において、感情決定部232は、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザの状態に基づいて、ロボット100の感情を示す感情値を決定する。感情決定部232は、決定したユーザの感情値を履歴データ222に追加する。
ステップS104において、行動認識部234は、センサモジュール部210で解析された情報及びユーザ状態認識部230によって認識されたユーザの状態に基づいて、ユーザの行動分類を認識する。例えば、行動認識部234は、ユーザの「端末装置を手に持つ」、「端末装置を操作する」、「所定の行動を行う」等のユーザの行動を認識する。
ステップS105において、行動決定部236は、ステップS102で決定されたユーザの現在の感情値及び履歴データ222に含まれる過去の感情値の組み合わせと、ロボット100の感情値と、行動認識部234によって認識されたユーザの行動と、反応ルール221とに基づいて、ロボット100の行動を決定する。
ステップS106において、行動制御部250は、行動決定部236により決定された行動に基づいて、制御対象252を制御する。例えば、行動制御部250は、ユーザが料理をする行動を認識した場合に、ユーザに対して「料理が趣味ですか?」等のように趣味が変化したかを確認する。
ステップS107において、記憶制御部238は、行動決定部236によって決定された行動に対して予め定められた行動の強度と、感情決定部232により決定されたロボット100の感情値とに基づいて、強度の総合値を算出する。他方で、記憶制御部238は、ユーザに関する情報として、ユーザの経験に関する情報またはユーザの属性情報の少なくともどちらか一方が変化した場合に記憶された履歴データ222を更新する。例えば、記憶制御部238は、ユーザが新しい経験である「料理をする」を行った場合に、五感を通じて感知した当該ユーザの経験と「(料理をすることは)楽しい!」等のユーザの「喜」の感情値とを関連付けて、履歴データ222を更新する。また、例えば、記憶制御部238は、ユーザの「趣味」に「料理」が追加された場合に、上記したように「(趣味である料理をすることは)楽しい!」と「喜の感情値」と関連付けられるように履歴データ222を更新する。
ステップS108において、記憶制御部238は、強度の総合値が閾値以上であるか否かを判定する。強度の総合値が閾値未満である場合には、ユーザの行動を含むデータを履歴データ222に記憶せずに、当該処理を終了する。一方、強度の総合値が閾値以上である場合には、ステップS109へ移行する。
ステップS109において、行動決定部236によって決定された行動と、現時点から一定期間前までの、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザの状態と、を、履歴データ222に記憶する。
以上説明したように、ロボット100は、ユーザの行動を認識し、認識したユーザの行動とユーザに関する情報とに基づいて更新された履歴データを用いて自身の行動を決定し、決定した自身の行動に基づいて制御対象を制御する制御部を備える。具体的には、ロボット100は、ユーザに関する情報として、ユーザの経験に関する情報またはユーザの属性情報の少なくともどちらか一方が変化した場合に記憶された履歴データを更新する。これにより、ロボット100は、履歴データ(感情データベース)を最新状態に保ち、より精度の高い感情予測を可能とする。
具体的には、ロボット100の制御部は、ユーザの経験に関する情報として、五感を通じて感知したユーザの経験とユーザの感情とを関連付けて履歴データを更新する。このように、ロボット100の制御部は、あるユーザが新しい経験をした際、その経験に基づきそのユーザの履歴データを更新することにより、履歴データ(感情データベース)を最新状態に保ち、より精度の高い感情予測を可能とする。
また、ロボット100の制御部は、ユーザの氏名、年齢、性別、興味、関心、趣味、志向、ライフスタイル、パーソナリティ、学歴、職歴、居住地、所得、家族構成のうち少なくともいずれか1つを含むユーザの属性情報に基づいて履歴データを更新する。このように、ロボット100の制御部は、ユーザの属性情報が変化した際、当該ユーザの属性情報に基づきそのユーザの履歴データを更新することにより、履歴データ(感情データベース)を最新状態に保ち、より精度の高い感情予測を可能とする。
例えば、ロボット100の制御部は、ユーザに関する情報についての変化を認識した場合、ユーザに対して変化の有無について確認する発話を行う。そして、ロボット100の制御部は、ユーザに関する情報の変化の確認、またはユーザからロボットに対するユーザに関する情報の変化があった旨を伝える発話の少なくともいずれか一方がなされた場合に履歴データを更新する。このように、ロボット100の制御部は、ユーザとの会話を通じてユーザの経験に関する情報やユーザの属性情報を含むユーザに関する情報の変化を認識し、履歴データ(感情データベース)を更新することができる。これにより、ロボット100は、都度最新のデータを取得しなくてもユーザとの会話や対話を通じて履歴データ(感情データベース)を最新状態に保ち、より精度の高い感情予測を可能とする。
また、ロボット100の制御部は、ユーザとの会話を通じて、ユーザの経験もしくは感情の変化を認識し、ユーザの経験もしくは感情の変化に基づいて履歴データを更新する。このように、ロボット100の制御部は、ユーザとの会話を通じてユーザの経験に関する情報やユーザの属性情報を含むユーザに関する情報の変化を認識し、履歴データ(感情データベース)を更新することができる。これにより、ロボット100は、ユーザとの日常的な会話や対話を通じて履歴データ(感情データベース)を最新状態に保ち、より精度の高い感情予測を可能とする。
上記実施形態では、ロボット100は、ユーザの顔画像を用いてユーザを認識する場合について説明したが、開示の技術はこの態様に限定されない。例えば、ロボット100は、ユーザが発する音声、ユーザのメールアドレス、ユーザのSNSのID又はユーザが所持する無線ICタグが内蔵されたIDカード等を用いてユーザを認識してもよい。
なお、ロボット100は、行動制御システムを備える電子機器の一例である。行動制御システムの適用対象は、ロボット100に限られず、様々な電子機器に行動制御システムを適用できる。また、サーバ300の機能は、1以上のコンピュータによって実装されてよい。サーバ300の少なくとも一部の機能は、仮想マシンによって実装されてよい。また、サーバ300の機能の少なくとも一部は、クラウドで実装されてよい。
図4は、ロボット100及びサーバ300として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す図である。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、および/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつか又は全てに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、およびグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、およびICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブおよびDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブおよびソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230およびキーボードのような入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
CPU1212は、ROM1230およびRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラムおよびデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/又はプログラムおよびデータをICカードに書き込む。
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、および/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
例えば、通信がコンピュータ1200および外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上記したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
本実施形態におけるフローチャートおよびブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表してよい。特定の段階および「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/又はアナログハードウェア回路を含んでよく、集積回路(IC)および/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、およびプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、および他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでもよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
(その他の実施形態)
なお、上述したロボット100は、ぬいぐるみに搭載してもよく、あるいは、ぬいぐるみに搭載された制御対象機器(スピーカやカメラ)に無線又は有線で接続された制御装置に適用してもよい。
なお、上述したロボット100は、ぬいぐるみに搭載してもよく、あるいは、ぬいぐるみに搭載された制御対象機器(スピーカやカメラ)に無線又は有線で接続された制御装置に適用してもよい。
感情決定部232は、特定のマッピングに従い、ユーザの感情を決定してよい。具体的には、感情決定部232は、特定のマッピングである感情マップ(図5参照)に従い、ユーザの感情を決定してよい。
図5は、複数の感情がマッピングされる感情マップ700を示す図である。感情マップ700において、感情は、中心から放射状に同心円に配置されている。同心円の中心に近いほど、原始的状態の感情が配置されている。同心円のより外側には、心境から生まれる状態や行動を表す感情が配置されている。感情とは、情動や心的状態も含む概念である。同心円の左側には、概して脳内で起きる反応から生成される感情が配置されている。同心円の右側には概して、状況判断で誘導される感情が配置されている。同心円の上方向及び下方向には、概して脳内で起きる反応から生成され、かつ、状況判断で誘導される感情が配置されている。また、同心円の上側には、「快」の感情が配置され、下側には、「不快」の感情が配置されている。このように、感情マップ700では、感情が生まれる構造に基づいて複数の感情がマッピングされており、同時に生じやすい感情が、近くにマッピングされている。
(1)例えばロボット100の感情決定部232である感情エンジンが、100msec程度で感情を検知している場合、ロボット100の反応動作(例えば相槌)の決定は、頻度が少なくとも、感情エンジンの検知頻度(100msec)と同様のタイミングに設定してよく、これよりも早いタイミングに設定してもよい。感情エンジンの検知頻度はサンプリングレートと解釈してよい。
100msec程度で感情を検知し、即時に連動して反動動作(例えば相槌)を行うことで、不自然な相槌ではなくなり、自然な空気を読んだ対話を実現できる。ロボット100感情マップ700の曼荼羅の方向性とその度合い(強さ)に応じて、反動動作(相槌等)を行う。なお、感情エンジンの検知頻度(サンプリングレート)は、100msに限定されず、シチュエーション(スポーツをしている場合等)、ユーザの年齢等に応じて、変更してもよい。
(2)感情マップ700と照らし合わせ、感情の方向性とその度合いの強さを予め設定しておき、相槌の動き及び相槌の強弱を設定してよい。例えば、ロボット100が安定感、安心等を感じている場合、ロボット100は、頷いて話を聞き続ける。ロボット100が不安、迷い、怪しい感じを覚えている場合、ロボット100は、首をかしげてもよく、首振りを止めてもよい。
これらの感情は、感情マップ700の3時の方向に分布しており、普段は安心と不安のあたりを行き来する。感情マップ700の右半分では、内部的な感覚よりも状況認識の方が優位に立つため、落ち着いた印象になる。
(3)ロボット100が褒められて快感を覚えた場合、「あー」というフィラーが台詞の前に入り、きつい言葉をもらって痛感を覚えた場合、「うっ!」というフィラーが台詞の前に入ってよい。また、ロボット100が「うっ!」と言いつつうずくまる仕草等の身体的な反応を含めてよい。これらの感情は、感情マップ700の9時あたりに分布している。
(4)感情マップ700の左半分では、状況認識よりも内部的な感覚(反応)の方が優位に立つ。よって、思わず反応してしまった印象を与え得る。
ロボット100が納得感という内部的な感覚(反応)を覚えながら状況認識においても好感を覚える場合、ロボット100は、相手を見ながら深く頷いてよく、また「うんうん」と発してよい。このように、ロボット100は、相手へのバランスのとれた好感、すなわち、相手への許容や寛容といった行動を生成してよい。このような感情は、感情マップ700の12時あたりに分布している。
逆に、ロボット100が不快感という内部的な感覚(反応)を覚えながら状況認識においても、ロボット100は、嫌悪を覚えるときには首を横に振る、憎しみを覚えるくらいになると、目のLEDを赤くして相手を睨んでもよい。このような感情は、感情マップ700の6時あたりに分布している。
(5)感情マップ700の内側は心の中、感情マップ700の外側は行動を表すため、感情マップ700の外側に行くほど、感情が目に見える(行動に表れる)ようになる。
(6)感情マップ700の3時付近に分布する安心を覚えながら、人の話を聞く場合、ロボット100は、軽く首を縦に振って「ふんふん」と発する程度であるが、12時付近の愛の方になると、首を深く縦に振るような力強い頷きをしてよい。
感情決定部232は、センサモジュール部210で解析された情報、及び認識されたユーザ10の状態を、予め学習されたニューラルネットワークに入力し、感情マップ700に示す各感情を示す感情値を取得し、ユーザ10の感情を決定する。このニューラルネットワークは、センサモジュール部210で解析された情報、及び認識されたユーザ10の状態と、感情マップ700に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。また、このニューラルネットワークは、図6に示す感情マップ900のように、近くに配置されている感情同士は、近い値を持つように学習される。図6は、感情マップの他の例を示す図である。図6では、「安心」、「安穏」、「心強い」という複数の感情が、近い感情値となる例を示している。
また、感情決定部232は、特定のマッピングに従い、ロボット100の感情を決定してよい。具体的には、感情決定部232は、センサモジュール部210で解析された情報、ユーザ状態認識部230によって認識されたユーザ10の状態、及びロボット100の状態を、予め学習されたニューラルネットワークに入力し、感情マップ700に示す各感情を示す感情値を取得し、ロボット100の感情を決定する。このニューラルネットワークは、センサモジュール部210で解析された情報、認識されたユーザ10の状態、及びロボット100の状態と、感情マップ700に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。例えば、タッチセンサ207の出力から、ロボット100がユーザ10になでられていると認識される場合に、「嬉しい」の感情値「3」となることを表す学習データや、加速度センサ205の出力から、ロボット100がユーザ10に叩かれていると認識される場合に、「怒」の感情値「3」となることを表す学習データに基づいて、ニューラルネットワークが学習される。また、このニューラルネットワークは、図6に示す感情マップ900のように、近くに配置されている感情同士は、近い値を持つように学習される。
また、感情決定部232は、文章生成モデルによって生成されたロボット100の行動内容に基づいて、ロボット100の感情を決定してもよい。具体的には、感情決定部232は、文章生成モデルによって生成されたロボット100の行動内容を、予め学習されたニューラルネットワークに入力し、感情マップ700に示す各感情を示す感情値を取得し、取得した各感情を示す感情値と、現在のロボット100の各感情を示す感情値とを統合し、ロボット100の感情を更新する。例えば、取得した各感情を示す感情値と、現在のロボット100の各感情を示す感情値とをそれぞれ平均して、統合する。このニューラルネットワークは、文章生成モデルによって生成されたロボット100の行動内容を表すテキストと、感情マップ700に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。
例えば、文章生成モデルによって生成されたロボット100の行動内容として、ロボット100の発話内容「それはよかったね。ラッキーだったね。」が得られた場合には、この発話内容を表すテキストをニューラルネットワークに入力すると、感情「嬉しい」の感情値として高い値が得られ、感情「嬉しい」の感情値が高くなるように、ロボット100の感情が更新される。
行動決定部236は、ユーザの行動と、ユーザの感情、ロボットの感情とを表すテキストに、ユーザの行動に対応するロボットの行動内容を質問するための固定文を追加して、対話機能を有する文章生成モデルに入力することにより、ロボットの行動内容を生成する。
例えば、行動決定部236は、感情決定部232によって決定されたロボット100の感情から、図7に示すような感情テーブルを用いて、ロボット100の状態を表すテキストを取得する。図7は、感情テーブルの一例を示す図である。ここで、感情テーブルには、感情の種類毎に、各感情値に対してインデックス番号が付与されており、インデックス番号毎に、ロボット100の状態を表すテキストが格納されている。
感情決定部232によって決定されたロボット100の感情が、インデックス番号「2」に対応する場合、「とても楽しい状態」というテキストが得られる。なお、ロボット100の感情が、複数のインデックス番号に対応する場合、ロボット100の状態を表すテキストが複数得られる。
また、ユーザ10の感情に対しても、図8に示すような感情テーブルを用意しておく。図8は、感情テーブルの一例を示す図である。ここで、ユーザの行動が、「AAAと話しかける」であり、ロボット100の感情が、インデックス番号「2」であり、ユーザ10の感情が、インデックス番号「3」である場合には、「ロボットはとても楽しい状態です。ユーザは普通に楽しい状態です。ユーザに「AAA」と話しかけられました。ロボットとして、どのように返事をしますか?」と文章生成モデルに入力し、ロボットの行動内容を取得する。行動決定部236は、この行動内容から、ロボットの行動を決定する。なお、「AAA」は、ユーザがロボット100に付けた名称(呼び名)である。
このように、ロボット100は、ロボットの感情に応じたインデックス番号に応じて、ロボットの行動を変えることができるため、ユーザは、ロボット100に心があるような印象を持ち、ロボットに対して話しかける等の行動をとることが促進される。
また、行動決定部236は、ユーザの行動と、ユーザの感情、ロボットの感情とを表すテキストだけでなく、履歴データ222の内容を表すテキストも追加した上で、ユーザの行動に対応するロボットの行動内容を質問するための固定文を追加して、対話機能を有する文章生成モデルに入力することにより、ロボットの行動内容を生成するようにしてもよい。これにより、ロボット100は、ユーザの感情や行動を表す履歴データに応じて、ロボットの行動を変えることができるため、ユーザは、ロボットに個性があるような印象を持ち、ロボットに対して話しかける等の行動をとることが促進される。また、履歴データに、ロボットの感情や行動を更に含めるようにしてもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
1 制御システム
20 通信網
100 ロボット
200 センサ部
201 マイク
202 3D深度センサ
203 2Dカメラ
204 距離センサ
205 加速度センサ
206 サーモセンサ
207 タッチセンサ
210 センサモジュール部
211 音声感情認識部
212 発話理解部
213 表情認識部
214 顔認識部
220 格納部
221 反応ルール
222 履歴データ
230 ユーザ状態認識部
232 感情決定部
234 行動認識部
236 行動決定部
238 記憶制御部
250 行動制御部
252 制御対象
280 通信処理部
300 サーバ
400 連携機器
20 通信網
100 ロボット
200 センサ部
201 マイク
202 3D深度センサ
203 2Dカメラ
204 距離センサ
205 加速度センサ
206 サーモセンサ
207 タッチセンサ
210 センサモジュール部
211 音声感情認識部
212 発話理解部
213 表情認識部
214 顔認識部
220 格納部
221 反応ルール
222 履歴データ
230 ユーザ状態認識部
232 感情決定部
234 行動認識部
236 行動決定部
238 記憶制御部
250 行動制御部
252 制御対象
280 通信処理部
300 サーバ
400 連携機器
Claims (8)
- ユーザの行動を認識し、認識した前記ユーザの行動と前記ユーザに関する情報とに基づいて更新された履歴データを用いて自身の行動を決定し、決定した前記自身の行動に基づいて制御対象を制御する制御部、
を備える電子機器。 - 前記制御部は、
前記ユーザに関する情報として、該ユーザの経験に関する情報または該ユーザの属性情報の少なくともどちらか一方が変化した場合に記憶された履歴データを更新する、
請求項1に記載の電子機器。 - 前記制御部は、
前記ユーザの経験に関する情報として、五感を通じて感知した該ユーザの経験と該ユーザの感情とを関連付けて前記履歴データを更新する、
請求項2に記載の電子機器。 - 前記制御部は、
前記ユーザの氏名、年齢、性別、興味、関心、趣味、志向、ライフスタイル、パーソナリティ、学歴、職歴、居住地、所得、家族構成のうち少なくともいずれか1つを含む前記ユーザの属性情報に基づいて前記履歴データを更新する、
請求項2に記載の電子機器。 - 前記制御部は、
前記ユーザに関する情報についての変化を認識した場合、前記ユーザに対して変化の有無について確認する発話を行う、
請求項2または3に記載の電子機器。 - 前記制御部は、
前記ユーザに関する情報の変化の確認、または該ユーザから前記電子機器に対する前記ユーザに関する情報の変化があった旨を伝える発話の少なくともいずれか一方がなされた場合に前記履歴データを更新する、
請求項2に記載の電子機器。 - 前記制御部は、
前記ユーザとの会話を通じて、前記ユーザの経験もしくは感情の変化を認識し、該ユーザの経験もしくは該感情の変化に基づいて前記履歴データを更新する、
請求項2または3に記載の電子機器。 - 前記電子機器は、
ぬいぐるみに搭載され、またはぬいぐるみに搭載された制御対象機器に無線または有線で接続される、
請求項1に記載の電子機器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023070278 | 2023-04-21 | ||
JP2023070278 | 2023-04-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024155774A true JP2024155774A (ja) | 2024-10-31 |
Family
ID=93259787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024064188A Pending JP2024155774A (ja) | 2023-04-21 | 2024-04-11 | 電子機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024155774A (ja) |
-
2024
- 2024-04-11 JP JP2024064188A patent/JP2024155774A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2024155774A (ja) | 電子機器 | |
JP2024155782A (ja) | 電子機器 | |
JP2024154394A (ja) | 電子機器 | |
JP2024155861A (ja) | 電子機器 | |
JP2024155771A (ja) | 電子機器 | |
JP2024155854A (ja) | 電子機器 | |
JP2024155769A (ja) | 電子機器 | |
JP2024155805A (ja) | 電子機器 | |
JP2024155851A (ja) | 電子機器 | |
JP2024155850A (ja) | 電子機器 | |
JP2024155785A (ja) | 電子機器 | |
JP2024155852A (ja) | 電子機器 | |
JP2024154396A (ja) | 電子機器 | |
JP2024155786A (ja) | 電子機器 | |
JP2024155775A (ja) | 電子機器 | |
JP2024155821A (ja) | 電子機器 | |
JP2024155799A (ja) | 電子機器 | |
JP2024154395A (ja) | 電子機器 | |
JP2024159573A (ja) | 電子機器 | |
JP2024155804A (ja) | 電子機器 | |
JP2024153581A (ja) | 行動制御システム | |
JP2024153578A (ja) | 電子機器 | |
JP2024154400A (ja) | 行動制御システム | |
JP2024155791A (ja) | 電子機器 | |
JP2024152708A (ja) | 行動制御システム |