IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソフトバンクグループ株式会社の特許一覧

<>
  • 特開-電子機器 図1
  • 特開-電子機器 図2
  • 特開-電子機器 図3
  • 特開-電子機器 図4
  • 特開-電子機器 図5
  • 特開-電子機器 図6
  • 特開-電子機器 図7
  • 特開-電子機器 図8
  • 特開-電子機器 図9
  • 特開-電子機器 図10
  • 特開-電子機器 図11
  • 特開-電子機器 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024159588
(43)【公開日】2024-11-08
(54)【発明の名称】電子機器
(51)【国際特許分類】
   G06N 3/008 20230101AFI20241031BHJP
   G06F 3/01 20060101ALI20241031BHJP
   G06N 5/022 20230101ALI20241031BHJP
   G06F 16/90 20190101ALI20241031BHJP
【FI】
G06N3/008
G06F3/01 510
G06N5/022
G06F16/90 100
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2024066978
(22)【出願日】2024-04-17
(31)【優先権主張番号】P 2023074460
(32)【優先日】2023-04-28
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】591280485
【氏名又は名称】ソフトバンクグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】孫 正義
【テーマコード(参考)】
5B175
5E555
【Fターム(参考)】
5B175EA01
5E555AA48
5E555AA59
5E555AA71
5E555BA02
5E555BA90
5E555BB02
5E555BB40
5E555BC04
5E555CA42
5E555CA47
5E555CB64
5E555CB67
5E555CC03
5E555DA23
5E555DA40
5E555EA05
5E555EA19
5E555EA22
5E555EA23
5E555EA27
5E555EA28
5E555FA00
(57)【要約】      (修正有)
【課題】適切な行動を実行する電子機器を提供する。
【解決手段】ロボットにおいて、制御部は、センサ部と、センサモジュール部と、格納部と、状態認識部と、感情決定部と、行動認識部と、行動決定部と、記憶制御部と、行動制御部と、制御対象と、通信処理部と、を有し、家族を構成するユーザの状態およびユーザによって飼育されるペットの状態の少なくともいずれかを認識し、認識した状態に対応する自身の行動を決定し、決定した前記自身の行動に基づいて制御対象を制御し、ペットの行動を前記ペットの状態として認識した場合、ペットの行動に応じたペットに関するアドバイス情報を提供する行動を自身の行動として決定し、ペットの感情をペットの状態として認識した場合、ペットの感情に応じたペットに関するアドバイス情報を提供する行動を自身の行動として決定する。
【選択図】図2
【特許請求の範囲】
【請求項1】
家族を構成するユーザの状態、および、ユーザによって飼育されるペットの状態の少なくともいずれかを認識し、認識した状態に対応する自身の行動を決定し、決定した前記自身の行動に基づいて制御対象を制御する制御部
を備える電子機器。
【請求項2】
前記制御部は、
前記ペットの行動を前記ペットの状態として認識した場合、前記ペットの行動に応じた前記ペットに関するアドバイス情報を提供する行動を前記自身の行動として決定する、
請求項1に記載の電子機器。
【請求項3】
前記制御部は、
前記ペットの感情を前記ペットの状態として認識した場合、前記ペットの感情に応じた前記ペットに関するアドバイス情報を提供する行動を前記自身の行動として決定する、
請求項1に記載の電子機器。
【請求項4】
前記アドバイス情報は、
前記ペットと前記ペットを飼育するユーザとの関係に関する情報、および、前記ペットのケアに関する情報の少なくともいずれかを含む、
請求項2または3に記載の電子機器。
【請求項5】
前記制御部は、
前記家族を構成するユーザの行動を当該ユーザの状態として認識した場合、当該ユーザの行動に応じた前記家族に関するアドバイス情報を提供する行動を前記自身の行動として決定する、
請求項1に記載の電子機器。
【請求項6】
前記制御部は、
前記家族を構成するユーザの感情を当該ユーザの状態として認識した場合、当該ユーザの感情に応じた前記家族に関するアドバイス情報を提供する行動を前記自身の行動として決定する、
請求項1に記載の電子機器。
【請求項7】
前記制御部は、
前記家族を構成する複数のユーザそれぞれの性格、関心、興味、志向の少なくともいずれかに基づいて前記アドバイス情報を生成する、
請求項5または6に記載の電子機器。
【請求項8】
前記電子機器は、
ぬいぐるみに搭載され、またはぬいぐるみに搭載された制御対象機器に無線又は有線で接続される、
請求項1に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、電子機器に関する。
【背景技術】
【0002】
従来、ユーザの状態に基づいて、電子機器であるロボットの行動を決定する技術が開示されている(例えば、特許文献1参照)。特許文献1には、ロボットが特定の行動を実行したときのユーザの反応を認識し、認識したユーザの反応に対するロボットの行動を決定できなかった場合、認識したユーザの状認に適した行動に関する情報をサーバから受信することで、ロボットの行動を更新する点が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第6053847号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術には、家族を構成するユーザの状態やペットの状態に対して適切な行動を実行するという点で、改善の余地があった。
【0005】
本発明は、上記に鑑みてなされたものであって、適切な行動を実行することができる電子機器を提供することを目的とする。
【課題を解決するための手段】
【0006】
実施形態の一態様に係る電子機器は、家族を構成するユーザの状態、および、ユーザによって飼育されるペットの状態の少なくともいずれかを認識し、認識した状態に対応する自身の行動を決定し、決定した前記自身の行動に基づいて制御対象を制御する制御部を備える。
【発明の効果】
【0007】
実施形態の一態様によれば、適切な行動を実行することができる。
【図面の簡単な説明】
【0008】
図1図1は、本実施形態に係るシステムの一例を概略的に示す図である。
図2図2は、ロボットの機能構成を概略的に示す図である。
図3図3は、キャラクターデータのデータ構造を概略的に示す図である。
図4図4は、キャラクターの設定に関する動作フローの一例を概略的に示す図である。
図5図5は、ロボットによる動作フローの一例を概略的に示す図である。
図6図6は、コンピュータのハードウェア構成の一例を概略的に示す図である。
図7図7は、複数の感情がマッピングされる感情マップを示す図である。
図8図8は、感情マップの他の例を示す図である。
図9図9は、感情テーブルの一例を示す図である。
図10図10は、感情テーブルの一例を示す図である。
図11図11は、その他の実施形態に係るぬいぐるみの外観図および内部構造図である。
図12図12は、その他の実施形態に係るぬいぐるみの背面正面図である。
【発明を実施するための形態】
【0009】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
図1は、本実施形態に係るシステム5の一例を概略的に示す図である。システム5は、ロボット100、ロボット101、ロボット102、およびサーバ300を備える。なお、ロボット100、ロボット101、ロボット102は、電子機器の一例である。ユーザ10a、ユーザ10b、およびユーザ10cは、ロボット100のユーザである。ユーザ11a、ユーザ11bおよびユーザ11cは、ロボット101のユーザである。ユーザ12aおよびユーザ12bは、ロボット102のユーザである。なお、本実施形態の説明において、ユーザ10a、ユーザ10b、およびユーザ10cを、ユーザ10と総称する場合がある。また、ユーザ11a、ユーザ11bおよびユーザ11cを、ユーザ11と総称する場合がある。また、ユーザ12aおよびユーザ12bを、ユーザ12と総称する場合がある。ロボット101およびロボット102は、ロボット100と略同一の機能を有する。そのため、ロボット100の機能を主として取り上げてシステム5を説明する。
【0011】
ここでは、ユーザ10a、ユーザ10bおよびユーザ10cは、家族を構成する。言い換えると、ユーザ10a、ユーザ10bおよびユーザ10cは、家族を構成する者である。また、ユーザ10は、ペット13を飼育する。なお、図1では、ペット13が犬である例を示したが、これはあくまでも例示であって限定されるものではなく、例えば猫、ウサギ、ハムスターなどその他の種類の動物であってもよい。
【0012】
なお、後述するように、ロボット100はペット13に関するアドバイス情報をユーザ10に提供するが、このときのユーザ10は家族を構成する者でなくてもよい。また、後述するように、ロボット100は家族に関するアドバイス情報をユーザ10に提供するが、このときのユーザ10はペット13を飼育していなくてもよい。
【0013】
ロボットの外観は、ロボット100およびロボット101のように人の姿を模したものであってもよいし、ロボット102のようにぬいぐるみであってもよい。ロボット102は、外観がぬいぐるみであることにより、特に子供から親しみを持たれやすいと考えられる。
【0014】
ロボット100は、ユーザ10と会話を行ったり、ユーザ10に映像を提供したりする。このとき、ロボット100は、通信網20を介して通信可能なサーバ300等と連携して、ユーザ10との会話や、ユーザ10への映像等の提供を行う。例えば、ロボット100は、自身で適切な会話を学習するだけでなく、サーバ300と連携して、ユーザ10とより適切に会話を進められるように学習を行う。また、ロボット100は、撮影したユーザ10の映像データ等をサーバ300に記録させ、必要に応じて映像データ等をサーバ300に要求して、ユーザ10に提供する。
【0015】
また、ロボット100は、自身の感情の種類を表す感情値を持つ。例えば、ロボット100は、「喜」、「怒」、「哀」、「楽」、「快」、「不快」、「安心」、「不安」、「悲しみ」、「興奮」、「心配」、「安堵」、「充実感」、「虚無感」および「普通」のそれぞれの感情の強さを表す感情値を持つ。ロボット100は、例えば興奮の感情値が大きい状態でユーザ10と会話するときは、早いスピードで音声を発する。このように、ロボット100は、自己の感情を行動で表現することができる。
【0016】
また、ロボット100は、文章生成モデル(いわゆる、AI(Artificial Intelligence)チャットエンジン)と感情エンジンをマッチングさせることで、ユーザ10の感情に対応するロボット100の行動を決定するように構成してよい。具体的には、ロボット100は、ユーザ10の行動を認識して、当該ユーザの行動に対するユーザ10の感情を判定し、判定した感情に対応するロボット100の行動を決定するように構成してよい。
【0017】
より具体的には、ロボット100は、ユーザ10の行動を認識した場合、予め設定された文章生成モデルを用いて、当該ユーザ10の行動に対してロボット100がとるべき行動内容を自動で生成する。文章生成モデルは、文字による自動対話処理のためのアルゴリズムおよび演算と解釈してよい。文章生成モデルは、例えば特開2018-081444号公報やchatGPT(インターネット検索<URL: https://openai.com/blog/chatgpt>)に開示される通り公知であるため、その詳細な説明を省略する。このような、文章生成モデルは、大規模言語モデル(LLM:Large Language Model)により構成されている。以上、本実施形態は、大規模言語モデルと感情エンジンとを組み合わせることにより、ユーザ10やロボット100の感情と、様々な言語情報とをロボット100の行動に反映させるということができる。つまり、本実施形態によれば、文章生成モデルと感情エンジンとを組み合わせることにより、相乗効果を得ることができる。
【0018】
また、ロボット100は、ユーザ10の行動(状態)を認識する機能を有する。ロボット100は、カメラ機能で取得したユーザ10の顔画像や、マイク機能で取得したユーザ10の音声を解析することによって、ユーザ10の行動を認識する。ロボット100は、認識したユーザ10の行動等に基づいて、ロボット100が実行する行動を決定する。
【0019】
ロボット100は、ユーザ10の感情、ロボット100の感情、およびユーザ10の行動に基づいてロボット100が実行する行動を定めたルールを記憶しており、ルールに従って各種の行動を行う。
【0020】
具体的には、ロボット100には、ユーザ10の感情、ロボット100の感情、およびユーザ10の行動に基づいてロボット100の行動を決定するための反応ルールを有している。反応ルールには、例えば、ユーザ10の行動が「笑う」である場合に対して、「笑う」という行動が、ロボット100の行動として定められている。また、反応ルールには、ユーザ10の行動が「怒る」である場合に対して、「謝る」という行動が、ロボット100の行動として定められている。また、反応ルールには、ユーザ10の行動が「質問する」である場合に対して、「回答する」という行動が、ロボット100の行動として定められている。反応ルールには、ユーザ10の行動が「悲しむ」である場合に対して、「声をかける」という行動が、ロボット100の行動として定められている。
【0021】
ロボット100は、反応ルールに基づいて、ユーザ10の行動が「怒る」であると認識した場合、反応ルールで定められた「謝る」という行動を、ロボット100が実行する行動として選択する。例えば、ロボット100は、「謝る」という行動を選択した場合に、「謝る」動作を行うと共に、「謝る」言葉を表す音声を出力する。
【0022】
また、ロボット100の感情が「普通」(すわなち、「喜」=0、「怒」=0、「哀」=0、「楽」=0)であり、ユーザ10の状態が「1人、寂しそう」という条件が満たされた場合に、ロボット100の感情が「心配になる」という感情の変化内容と、「声をかける」の行動を実行できることが定められている。
【0023】
ロボット100は、反応ルールに基づいて、ロボット100の現在の感情が「普通」であり、かつ、ユーザ10が1人で寂しそうな状態にあると認識した場合、ロボット100の「哀」の感情値を増大させる。また、ロボット100は、反応ルールで定められた「声をかける」という行動を、ユーザ10に対して実行する行動として選択する。例えば、ロボット100は、「声をかける」という行動を選択した場合に、心配していることを表す「どうしたの?」という言葉を、心配そうな音声に変換して出力する。このように、ロボット100の行動は、例えばユーザ10の感情や行動、ロボット100の感情、およびその感情値などに応じて定められている。
【0024】
また、ロボット100は、この行動によって、ユーザ10からポジティブな反応あるいはネガティブな反応が得られたことを示すユーザ反応情報を、サーバ300に送信する。ユーザ反応情報には、例えば、「怒る」というユーザ行動、「謝る」というロボット100の行動、ユーザ10の反応がポジティブであったこと、およびユーザ10の属性が含まれる。
【0025】
サーバ300は、ロボット100から受信したユーザ反応情報を記憶する。なお、サーバ300は、ロボット100だけでなく、ロボット101およびロボット102のそれぞれからもユーザ反応情報を受信して記憶する。そして、サーバ300は、ロボット100、ロボット101およびロボット102からのユーザ反応情報を解析して、反応ルールを更新する。
【0026】
ロボット100は、更新された反応ルールをサーバ300に問い合わせることにより、更新された反応ルールをサーバ300から受信する。ロボット100は、更新された反応ルールを、ロボット100が記憶している反応ルールに組み込む。これにより、ロボット100は、ロボット101やロボット102等が獲得した反応ルールを、自身の反応ルールに組み込むことができる。
【0027】
また、ロボット100は、ペット13の状態(行動や感情)を認識する機能を有する。ロボット100は、カメラ機能で取得したペット13の顔画像や、マイク機能で取得したペット13の音声を解析することによって、ペット13の行動等を認識する。ロボット100は、認識したペット13の行動等に基づいて、ロボット100が実行する行動を決定する。
【0028】
本実施形態に係るロボット100は、ペット13に関するアドバイス情報を提供することができる。例えば、ロボット100は、ペット13の状態を認識する。ペット13の状態は、ペット13の行動や感情などを含む。ロボット100は、認識したペット13の状態に応じたペット13に関するアドバイス情報を提供する。
【0029】
一例として、ロボット100は、ペット13がユーザ10と遊びたいことを示す行動(様子)や感情を認識した場合、ユーザ10との会話を開始する行動を実行する。具体的には、ロボット100は、「ペットのことでアドバイスがあります」などアドバイス情報をこれから提供することを示す発話を行う。なお、発話内容における「ペット」は、ペット13の名前であってもよい。
【0030】
続いて、ロボット100は、認識したペット13の状態に基づき、ペット13に関するアドバイス情報を生成する。アドバイス情報には、ペット13とユーザ10との関係に関する情報や、ペット13のケアに関する情報などが含まれるが、これらに限定されるものではない。ここでは、ロボット100は、「ペットが遊びたがっています。遊ぶとペットと仲良くなれますよ」などペット13の状態に即したアドバイス情報を発話して提供する。
【0031】
このように、本実施形態において、ロボット100は、ペット13の状態を認識し、認識したペット13の状態に対応する行動を実行することで、ユーザ10に対してペット13に関する適切なアドバイスを行うことができる。すなわち、本実施形態に係るロボット100によれば、ユーザ10に対して適切な行動を実行することができる。また、ロボット100は、ペット13の状態(例えば気持ちや行動)についての理解を深めてアドバイスを行うことで、ユーザ10(ペットオーナー)がペット13とより良い関係を築けるようにサポートすることが可能になる。
【0032】
また、本実施形態に係るロボット100は、家族に関するアドバイス情報を提供することができる。例えば、ロボット100は、家族を構成するユーザ10の状態を認識する。ユーザ10の状態は、ユーザ10の行動や感情などを含む。ロボット100は、認識したユーザ10の状態に応じた家族に関するアドバイス情報を提供する。
【0033】
一例として、ロボット100は、ユーザ10aが寂しい状態であることを示す行動(様子)や感情を認識した場合、家族を構成するユーザ10のうちユーザ10a以外のユーザ10b,10cとの会話を開始する行動を実行する。具体的には、ロボット100は、「ユーザ10aのことでアドバイスがあります」などアドバイス情報をこれから提供することを示す発話を行う。なお、発話内容における「ユーザ10a」は、ユーザ10aの名前であってもよい。
【0034】
続いて、ロボット100は、認識したユーザ10aの状態に基づき、ユーザ10aに関するアドバイス情報を生成する。アドバイス情報には、家族間のコミュニケーションに関する情報などが含まれるが、これに限定されるものではない。ここでは、ロボット100は、「ユーザ10aが寂しがっています。声をかけてコミュニケーションをとってみると良いですよ」などユーザ10aの状態に即したアドバイス情報をユーザ10bやユーザ10cに対して発話して提供する。
【0035】
このように、本実施形態において、ロボット100は、家族を構成するユーザ10(例えばユーザ10a)の状態を認識し、認識したユーザ10(ユーザ10a)の状態に対応する行動を実行することで、認識したユーザ10以外のユーザ(例えばユーザ10b,10c)に対して家族に関する適切なアドバイスを行うことができる。すなわち、本実施形態に係るロボット100によれば、ユーザ10に対して適切な行動を実行することができる。また、ロボット100は、家族の状態(例えば意見や感情)を適切に伝えてアドバイスを行うことで、家族間のコミュニケーションを円滑にすることが可能になる。
【0036】
図2は、ロボット100の機能構成を概略的に示す図である。ロボット100は、センサ部200と、センサモジュール部210と、格納部(記憶部)220と、状態認識部230と、感情決定部232と、行動認識部234と、行動決定部236と、記憶制御部238と、行動制御部250と、制御対象252と、通信処理部280と、を有する制御部によって構成される。
【0037】
制御対象252は、表示装置2521、スピーカ2522、ランプ2523(例えば、目部のLED)、腕、手および足等を駆動するモータ2524等を含む。ロボット100の姿勢や仕草は、腕、手および足等のモータ2524を制御することにより制御される。ロボット100の感情の一部は、これらのモータ2524を制御することにより表現できる。また、ロボット100の目部のLEDの発光状態を制御することによっても、ロボット100の表情を表現できる。なお、ロボット100の姿勢、仕草および表情は、ロボット100の態度の一例である。
【0038】
センサ部200は、マイク201と、3D深度センサ202と、2Dカメラ203と、距離センサ204とを含む。マイク201は、音声を連続的に検出して音声データを出力する。なお、マイク201は、ロボット100の頭部に設けられ、バイノーラル録音を行う機能を有してよい。3D深度センサ202は、赤外線パターンを連続的に照射して、赤外線カメラで連続的に撮影された赤外線画像から赤外線パターンを解析することによって、物体の輪郭を検出する。2Dカメラ203は、イメージセンサの一例である。2Dカメラ203は、可視光によって撮影して、可視光の映像情報を生成する。距離センサ204は、例えばレーザや超音波等を照射して物体までの距離を検出する。なお、センサ部200は、この他にも、時計、ジャイロセンサ、タッチセンサ、モータフィードバック用のセンサ等を含んでよい。
【0039】
なお、図2に示すロボット100の構成要素のうち、制御対象252およびセンサ部200を除く構成要素は、ロボット100が有する行動制御システムが有する構成要素の一例である。ロボット100の行動制御システムは、制御対象252を制御の対象とする。
【0040】
格納部220は、反応ルール221、履歴データ222およびキャラクターデータ223を含む。履歴データ222は、ユーザ10の過去の感情値および行動の履歴を含む。この感情値および行動の履歴は、例えば、ユーザ10の識別情報に対応付けられることによって、ユーザ10毎に記録される。また、履歴データ222は、ユーザ10の識別情報に対応付けた複数のユーザ10それぞれのユーザ情報を含んでもよい。ユーザ情報には、ユーザ10の性格、関心、興味、志向などユーザ10の特性を示す情報が含まれる。かかるユーザ情報は、ユーザ10の行動履歴から推定されてもよいし、ユーザ10自身によって登録されてもよい。また、履歴データ222は、ペット13の過去の感情値および行動の履歴を含む。この感情値および行動の履歴は、例えば、ペット13の識別情報に対応付けられることによって、ペット13毎に記録されてもよい。格納部220の少なくとも一部は、メモリ等の記憶媒体によって実装される。ユーザ10の顔画像、ユーザ10の属性情報等を格納する人物DB、ペット13の顔画像、ペット13の属性情報等を格納するペットDBを含んでもよい。なお、図2に示すロボット100の構成要素のうち、制御対象252、センサ部200および格納部220を除く構成要素の機能は、CPUがプログラムに基づいて動作することによって実現できる。例えば、基本ソフトウエア(OS)およびOS上で動作するプログラムによって、これらの構成要素の機能をCPUの動作として実装できる。
【0041】
キャラクターデータ223は、キャラクターと年齢を対応付けたデータである。例えば、キャラクターは、既存のアニメーション、テレビゲーム、漫画、映画等のコンテンツに登場する人物等である。また、キャラクターは、人格を持つ動物および植物であってもよいし、無生物(ロボット等)であってもよい。
【0042】
例えば、キャラクターデータ223においてキャラクターに対応付けられる年齢(利用年齢)は、キャラクターが登場するコンテンツのターゲットとして想定されている視聴者の年齢層を基に決定される。
【0043】
図3は、キャラクターデータ223のデータ構造を概略的に示す図である。例えば、キャラクター「A」は幼稚園児向けのアニメーションに登場するものとする。この場合、図3に示すように、キャラクター「A」には、「3歳から7歳」という利用年齢が対応付けられる。
【0044】
また、例えば、キャラクター「C」が登場する映画に暴力的なシーンが含まれ、幼児の視聴に適さないものとする。この場合、図3に示すように、キャラクター「C」には「12歳以上」という利用年齢が対応付けられる。
【0045】
なお、キャラクターデータ223における年齢は、汎欧州ゲーム情報(PEGI:Pan European Game Information)、映画倫理機構、コンピュータエンターテインメントレーティング機構(CERO:Computer Entertainment Rating Organization)といったレーティング機関による年齢レーティングを基に決められたものであってもよい。また、利用年齢は、「3歳から5歳」、「12歳以上」といった範囲によって定められてもよいし、「10歳」、「15歳」といった1つの値によって定められてもよい。
【0046】
センサモジュール部210は、音声感情認識部211と、発話理解部212と、表情認識部213と、顔認識部214とを含む。センサモジュール部210には、センサ部200で検出された情報が入力される。センサモジュール部210は、センサ部200で検出された情報を解析して、解析結果を状態認識部230に出力する。
【0047】
センサモジュール部210の音声感情認識部211は、マイク201で検出されたユーザ10の音声を解析して、ユーザ10の感情を認識する。例えば、音声感情認識部211は、音声の周波数成分等の特徴量を抽出して、抽出した特徴量に基づいて、ユーザ10の感情を認識する。また、音声感情認識部211は、マイク201で検出されたペット13の音声(鳴き声)を解析して、ペット13の感情を認識する。例えば、音声感情認識部211は、音声の周波数成分等の特徴量を抽出して、抽出した特徴量に基づいて、ペット13の感情を認識する。発話理解部212は、マイク201で検出されたユーザ10の音声を解析して、ユーザ10の発話内容を表す文字情報を出力する。
【0048】
表情認識部213は、2Dカメラ203で撮影されたユーザ10の画像から、ユーザ10の表情およびユーザ10の感情を認識する。例えば、表情認識部213は、目および口の形状、位置関係等に基づいて、ユーザ10の表情および感情を認識する。また、表情認識部213は、2Dカメラ203で撮影されたペット13の画像から、ペット13の表情およびペット13の感情を認識する。例えば、表情認識部213は、目および口の形状、位置関係等に基づいて、ペット13の表情および感情を認識する。
【0049】
顔認識部214は、ユーザ10の顔を認識する。顔認識部214は、人物DB(図示省略)に格納されている顔画像と、2Dカメラ203によって撮影されたユーザ10の顔画像とをマッチングすることによって、ユーザ10を認識する。また、顔認識部214は、ペット13の顔を認識する。顔認識部214は、ペットDB(図示省略)に格納されている顔画像と、2Dカメラ203によって撮影されたペット13の顔画像とをマッチングすることによって、ペット13を認識する。
【0050】
状態認識部230は、センサモジュール部210で解析された情報に基づいて、ユーザ10の状態を認識する。例えば、状態認識部230は、センサモジュール部210の解析結果を用いて、主として知覚に関する処理を行う。例えば、状態認識部230は、「パパが1人です。」、「パパが笑顔でない確率90%です。」等の知覚情報を生成する。状態認識部230は、生成された知覚情報の意味を理解する処理を行う。例えば、状態認識部230は、「パパが1人、寂しそうです。」等の意味情報を生成する。また、状態認識部230は、センサモジュール部210で解析された情報に基づいて、ペット13の状態を認識する。例えば、状態認識部230は、「ペットが尻尾を振っています。」、「ペットが怒っている顔でない確率80%です。」等の知覚情報を生成する。状態認識部230は、生成された知覚情報の意味を理解する処理を行う。例えば、状態認識部230は、「ペットが遊びたがっています。」等の意味情報を生成する。
【0051】
感情決定部232は、センサモジュール部210で解析された情報、および状態認識部230によって認識されたユーザ10の状態に基づいて、ユーザ10の感情を示す感情値を決定する。例えば、センサモジュール部210で解析された情報、および認識されたユーザ10の状態を、予め学習されたニューラルネットワークに入力し、ユーザ10の感情を示す感情値を取得する。また、感情決定部232は、センサモジュール部210で解析された情報、および状態認識部230によって認識されたペット13の状態に基づいて、ペット13の感情を示す感情値を決定する。例えば、センサモジュール部210で解析された情報、および認識されたペット13の状態を、予め学習されたニューラルネットワークに入力し、ペット13の感情を示す感情値を取得する。
【0052】
ここで、ユーザ10やペット13(以下「ユーザ等」と記載する場合がある)の感情を示す感情値とは、ユーザ等の感情の正負を示す値であり、例えば、ユーザ等の感情が、「喜」、「楽」、「快」、「安心」、「興奮」、「安堵」、および「充実感」のように、快感や安らぎを伴う明るい感情であれば、正の値を示し、明るい感情であるほど、大きい値となる。ユーザ等の感情が、「怒」、「哀」、「不快」、「不安」、「悲しみ」、「心配」、および「虚無感」のように、嫌な気持ちになってしまう感情であれば、負の値を示し、嫌な気持ちであるほど、負の値の絶対値が大きくなる。ユーザ等の感情が、上記の何れでもない場合(「普通」)、0の値を示す。なお、ユーザ10の感情の種類と、ペット13の感情の種類とは、異なるものであってもよいし、同じものであってもよい。また、ユーザ10の感情の感情値についても、ペット13の感情の感情値と異なるものであってもよいし、同じものであってもよい。
【0053】
また、感情決定部232は、センサモジュール部210で解析された情報、および状態認識部230によって認識されたユーザ等の状態に基づいて、ロボット100の感情を示す感情値を決定する。
【0054】
ロボット100の感情値は、複数の感情分類の各々に対する感情値を含み、例えば、「喜」、「怒」、「哀」、「楽」それぞれの強さを示す値(0~5)である。
【0055】
具体的には、感情決定部232は、センサモジュール部210で解析された情報、および状態認識部230によって認識されたユーザ等の状態に対応付けて定められた、ロボット100の感情値を更新するルールに従って、ロボット100の感情を示す感情値を決定する。
【0056】
例えば、感情決定部232は、状態認識部230によってユーザ等が寂しそうと認識された場合、ロボット100の「哀」の感情値を増大させる。また、状態認識部230によってユーザ等が笑顔になったと認識された場合、ロボット100の「喜」の感情値を増大させる。
【0057】
なお、感情決定部232は、ロボット100の状態を更に考慮して、ロボット100の感情を示す感情値を決定してもよい。例えば、ロボット100のバッテリー残量が少ない場合やロボット100の周辺環境が真っ暗な場合等に、ロボット100の「哀」の感情値を増大させてもよい。更にバッテリー残量が少ないにも関わらず継続して話しかけてくるユーザ10の場合は、「怒」の感情値を増大させても良い。
【0058】
行動認識部234は、センサモジュール部210で解析された情報、および状態認識部230によって認識されたユーザ等の状態に基づいて、ユーザ等の行動を認識する。例えば、センサモジュール部210で解析された情報、および認識されたユーザ等の状態を、予め学習されたニューラルネットワークに入力し、予め定められた複数の行動分類(例えば、「笑う」、「怒る」、「質問する」、「悲しむ」)の各々の確率を取得し、最も確率の高い行動分類を、ユーザ等の行動として認識する。
【0059】
以上のように、本実施形態では、ロボット100は、ユーザ10を特定したうえでユーザ10の発話内容を取得するが、当該発話内容の取得と利用等に際してはユーザ10から法令に従った必要な同意を取得するほか、本実施形態に係るロボット100の行動制御システムは、ユーザ10の個人情報およびプライバシーの保護に配慮する。
【0060】
行動決定部236は、感情決定部232により決定されたユーザ等の現在の感情値と、ユーザ等の現在の感情値が決定されるよりも前に感情決定部232により決定された過去の感情値の履歴データ222と、ロボット100の感情値とに基づいて、行動認識部234によって認識されたユーザ等の行動に対応する行動を決定する。本実施形態では、行動決定部236は、ユーザ等の過去の感情値として、履歴データ222に含まれる直近の1つの感情値を用いる場合について説明するが、開示の技術はこの態様に限定されない。例えば、行動決定部236は、ユーザ等の過去の感情値として、直近の複数の感情値を用いてもよいし、一日前などの単位期間の分だけ前の感情値を用いてもよい。また、行動決定部236は、ロボット100の現在の感情値だけでなく、ロボット100の過去の感情値の履歴を更に考慮して、ユーザ等の行動に対応する行動を決定してもよい。行動決定部236が決定する行動は、ロボット100が行うジェスチャー又はロボット100の発話内容を含む。
【0061】
本実施形態に係る行動決定部236は、ユーザ等の行動に対応する行動として、ユーザ等の過去の感情値と現在の感情値の組み合わせと、ロボット100の感情値と、ユーザ等の行動と、反応ルール221とに基づいて、ロボット100の行動を決定する。例えば、行動決定部236は、ユーザ等の過去の感情値が正の値であり、かつ現在の感情値が負の値である場合、ユーザ等の行動に対応する行動として、ユーザ等の感情値を正に変化させるための行動を決定する。
【0062】
なお、行動決定部236は、ロボット100の感情に基づいて、ユーザ10の行動に対応する行動を決定してもよい。例えば、ロボット100がユーザ10から暴言をかけられた場合や、ユーザ10に横柄な態度をとられている場合(すなわち、ユーザの反応が不良である場合)、周囲の騒音が騒がしくユーザ10の音声を検出できない場合、ロボット100のバッテリー残量が少ない場合などにおいて、ロボット100の「怒」や「哀」の感情値が増大した場合、行動決定部236は、「怒」や「哀」の感情値の増大に応じた行動を、ユーザ10の行動に対応する行動として決定してもよい。また、ユーザの反応が良好である場合や、ロボット100のバッテリー残量が多い場合などにおいて、ロボット100の「喜」や「楽」の感情値が増大した場合、行動決定部236は、「喜」や「楽」の感情値の増大に応じた行動を、ユーザ10の行動に対応する行動として決定してもよい。また、行動決定部236は、ロボット100の「怒」や「哀」の感情値の増大させたユーザ10に対する行動とは異なる行動を、ロボット100の「喜」や「楽」の感情値の増大させたユーザ10に対する行動として決定してもよい。このように、行動決定部236は、ロボット100自身の感情そのものや、ユーザ10の行動によってユーザ10がロボット100の感情をどのように変化させたかに応じて、異なる行動を決定すればよい。
【0063】
反応ルール221には、ユーザ10の過去の感情値と現在の感情値の組み合わせと、ロボット100の感情値と、ユーザ10の行動とに応じたロボット100の行動が定められている。例えば、ユーザ10の過去の感情値が正の値であり、かつ現在の感情値が負の値であり、ユーザ10の行動が悲しむである場合、ロボット100の行動として、ジェスチャーを交えてユーザ10を励ます問いかけを行う際のジェスチャーと発話内容との組み合わせが定められている。
【0064】
例えば、反応ルール221には、ロボット100の感情値のパターン(「喜」、「怒」、「哀」、「楽」の値「0」~「5」の6値の4乗である1296パターン)、ユーザ10の過去の感情値と現在の感情値の組み合わせのパターン、ユーザ10の行動パターンの全組み合わせに対して、ロボット100の行動が定められる。すわなち、ロボット100の感情値のパターン毎に、ユーザ10の過去の感情値と現在の感情値の組み合わせが、負の値と負の値、負の値と正の値、正の値と負の値、正の値と正の値、負の値と普通、および普通と普通等のように、複数の組み合わせのそれぞれに対して、ユーザ10の行動パターンに応じたロボット100の行動が定められる。なお、行動決定部236は、例えば、ユーザ10が「この前に話したあの話題について話したい」というような過去の話題から継続した会話を意図する発話を行った場合に、履歴データ222を用いてロボット100の行動を決定する動作モードに遷移してもよい。
【0065】
なお、反応ルール221には、ロボット100の感情値のパターン(1296パターン)の各々に対して、最大で一つずつ、ロボット100の行動としてジェスチャーおよび発言内容の少なくとも一方が定められていてもよい。あるいは、反応ルール221には、ロボット100の感情値のパターンのグループの各々に対して、ロボット100の行動としてジェスチャーおよび発言内容の少なくとも一方が定められていてもよい。
【0066】
反応ルール221に定められているロボット100の行動に含まれる各ジェスチャーには、当該ジェスチャーの強度が予め定められている。反応ルール221に定められているロボット100の行動に含まれる各発話内容には、当該発話内容の強度が予め定められている。なお、反応ルール221は、ユーザ10のみならず、ペット13の感情、ロボット100の感情、およびペット13の行動に基づいてロボット100の行動を決定するためルールを含んでもよい。例えば、反応ルール221は、ペット13の過去の感情値と現在の感情値の組み合わせと、ロボット100の感情値と、ペット13の行動とに応じたロボット100の行動が定められてもよい。
【0067】
例えば、反応ルール221には、ペット13の状態がユーザ10へのアドバイスを要する状態の場合や、提供したアドバイス情報に対してユーザ10からの反応があった場合等の行動パターンに対応するロボット100の行動が定められている。一例として、行動決定部236は、反応ルール221に基づき、ペット13の行動や感情をペット13の状態として認識した場合、ペット13の状態に応じたペット13に関するアドバイス情報をユーザ10に提供する行動を自身の行動として決定する。
【0068】
また、例えば反応ルール221には、家族を構成するユーザ10aの状態がユーザ10a以外のユーザ10b,10cへのアドバイスを要する状態の場合や、提供したアドバイス情報に対してユーザ10からの反応があった場合等の行動パターンに対応するロボット100の行動が定められている。一例として、行動決定部236は、反応ルール221に基づき、ユーザ10aの行動や感情をユーザ10aの状態として認識した場合、ユーザ10aの状態に応じた家族に関するアドバイス情報をユーザ10b,10cに提供する行動を自身の行動として決定する。
【0069】
記憶制御部238は、行動決定部236によって決定された行動に対して予め定められた行動の強度と、感情決定部232により決定されたロボット100の感情値とに基づいて、ユーザ等の行動を含むデータを履歴データ222に記憶するか否かを決定する。
【0070】
具体的には、ロボット100の複数の感情分類の各々に対する感情値の総和と、行動決定部236によって決定された行動が含むジェスチャーに対して予め定められた強度と、行動決定部236によって決定された行動が含む発話内容に対して予め定められた強度との和である強度の総合値が、閾値以上である場合、ユーザ等の行動を含むデータを履歴データ222に記憶すると決定する。
【0071】
記憶制御部238は、ユーザ等の行動を含むデータを履歴データ222に記憶すると決定した場合、行動決定部236によって決定された行動と、現時点から一定期間前までの、センサモジュール部210で解析された情報(例えば、その場の音声、画像、匂い等のデータなどのあらゆる周辺情報)、および状態認識部230によって認識されたユーザ等の状態(例えば、ユーザ10の表情、感情、ペット13の表情、感情など)を、履歴データ222に記憶する。
【0072】
行動制御部250は、行動決定部236が決定した行動に基づいて、制御対象252を制御する。例えば、行動制御部250は、行動決定部236が発話することを含む行動を決定した場合に、制御対象252に含まれるスピーカから音声を出力させる。このとき、行動制御部250は、ロボット100の感情値に基づいて、音声の発声速度を決定してもよい。例えば、行動制御部250は、ロボット100の感情値が大きいほど、速い発声速度を決定する。このように、行動制御部250は、感情決定部232が決定した感情値に基づいて、行動決定部236が決定した行動の実行形態を決定する。
【0073】
上記したように、本実施形態に係るロボット100において、状態認識部230および行動認識部234は、家族を構成するユーザ10やペット13の状態(行動や感情)を認識する。行動決定部236は、認識したユーザ10やペット13の状態に対応する自身の行動を決定する。行動制御部250は、決定した自身の行動に基づいて制御対象252を制御する。
【0074】
具体的には、行動制御部250は、ペット13の行動をペット13の状態として認識した場合、ペット13の行動に応じたペット13に関するアドバイス情報を提供する行動を自身の行動として決定し、制御対象252を制御する。
【0075】
なお、アドバイス情報は、ペット13とペット13を飼育するユーザ10との関係に関する情報(以下、「関係情報」と記載する場合がある)、および、ペット13のケアに関する情報(以下、「ケア情報」と記載する場合がある)を含む。関係情報には、ペット13とユーザ10との関係を良好にするための情報や、改善するための情報などが含まれるが、これらは例示であって限定されるものではない。ケア情報には、ペット13のケアに関する感情的な悩みに対処する方法の情報、ペット13の日常的なケアに関する情報などが含まれるが、これらは例示であって限定されるものではない。なお、アドバイス情報は、関係情報およびケア情報の両方を含んでもよいし、一方を含んでもよい。すなわち、アドバイス情報は、関係情報およびケア情報の少なくともいずれかを含む。また、アドバイス情報は、関係情報およびケア情報に限られず、例えばペット13の特性情報などその他の情報を含んでもよい。
【0076】
例えば、行動制御部250は、ペット13が尻尾を振る、甘えた鳴き声を出すなどユーザ10と遊びたいことを示す行動(様子)を認識した場合、ユーザ10との会話を開始する行動を実行する。具体的には、ロボット100は、「ペットのことでアドバイスがあります」などアドバイス情報をこれから提供することを示す発話を行う。
【0077】
次いで、行動制御部250は、認識したペット13の行動に基づき、ペット13に関するアドバイス情報を生成し、生成したアドバイス情報を発話して提供する。例えば、行動制御部250は、「ペットが遊びたがっています。遊ぶとペットと仲良くなれますよ」などペット13の状態に即したアドバイス情報(ここでは関係情報)を発話して提供する。
【0078】
なお、上記では、行動制御部250は、ペット13の状態としてペット13の行動を認識するようにしたが、ペット13の感情を認識してもよい。例えば、行動制御部250は、ペット13が吠えている、歯をむき出しにしているなどペット13の感情が「不快」や「怒」であることを認識した場合、認識したペット13の感情に基づき、ペット13に関するアドバイス情報を生成し、生成したアドバイス情報を発話して提供する。例えば、行動制御部250は、「ペットが不快になっているようです。エサをあげると喜びますよ」、「ペットが不快になっているようです。散歩に連れて行くと喜びますよ」などペット13の状態に即したアドバイス情報(ここではケア情報)を発話して提供する。また、感情決定部232によってロボット100の感情値が決定されるため、かかる感情値等に基づき、行動制御部250は、「散歩は大変ですけど、あなたの健康を維持するためにも散歩をおすすめします」などユーザ10の気持ち(悩み)に寄り添った内容のアドバイス情報を発話して提供してもよい。
【0079】
このように、本実施形態に係る行動制御部250は、ユーザ10に対してペット13に関する適切なアドバイスを行うことができる。また、行動制御部250は、ペット13の状態(例えば気持ちや行動)についての理解を深めてアドバイスを行うことで、ユーザ10(ペットオーナー)がペット13とより良い関係を築けるようにサポートすることが可能になる。
【0080】
また、行動制御部250は、家族を構成するユーザ10の状態を認識した場合、認識したユーザ10の状態に応じた家族に関するアドバイス情報を提供する行動を自身の行動として決定し、制御対象252を制御する。
【0081】
具体的には、行動制御部250は、家族を構成するユーザ10の行動をユーザ10の状態として認識した場合、ユーザ10の行動に応じた家族に関するアドバイス情報を提供する行動を自身の行動として決定し、制御対象252を制御する。
【0082】
例えば、行動制御部250は、ユーザ10aから「寂しいな」、「つまらないな」などの音声を受け付け、ユーザ10aが寂しい状態であることを示す行動(様子)を認識した場合、家族を構成する複数のユーザ10のうち、ユーザ10a以外のユーザ10b,10cとの会話を開始する行動を実行する。具体的には、ロボット100は、「ユーザ10aのことでアドバイスがあります」などアドバイス情報をこれから提供することを示す発話を行う。
【0083】
次いで、行動制御部250は、認識したユーザ10aの行動に基づき、家族に関するアドバイス情報を生成し、生成したアドバイス情報を発話して提供する。例えば、行動制御部250は、「ユーザ10aが寂しがっています。声をかけてコミュニケーションをとってみると良いですよ」、「ユーザ10aが寂しがっています。一緒に出かけてみてはどうですか」などユーザ10aの状態に即したアドバイス情報をユーザ10bやユーザ10cに発話して提供する。
【0084】
ここで、行動制御部250は、ユーザ10の特性を示すユーザ情報に基づいて、アドバイス情報を生成してもよい。例えば、行動制御部250は、ユーザ情報に含まれる、複数のユーザ10それぞれの性格、関心、興味、志向の少なくともいずれかに基づいてアドバイス情報を生成する。一例として、ユーザ10aの関心や興味が「ショッピング」である場合、行動制御部250は、「ユーザ10aが寂しがっています。一緒にショッピングに出かけてみてはどうですか」などユーザ10aの関心や興味に即したアドバイス情報を発話して提供する。
【0085】
なお、ユーザ情報は、上記したユーザ10の性格、関心、興味、志向に限られず、趣味や嗜好などその他の特性を含んでもよい。
【0086】
なお、上記では、行動制御部250は、ユーザ10の状態としてユーザ10の行動を認識するようにしたが、ユーザ10の感情(意見)を認識してもよい。例えば、行動制御部250は、ユーザ10aから「ユーザ10bはすぐに怒る」、「ユーザ10bはうるさい」などの音声を受け付け、ユーザ10aのユーザ10bに対する感情が「不快」や「不安」であることを認識した場合、認識したユーザ10の感情に基づき、家族に関するアドバイス情報を生成し、生成したアドバイス情報をユーザ10bに発話して提供する。例えば、行動制御部250は、「あなたが言ったことで、ユーザ10aは不快になっているようです。言い方を変えてみてはどうですか」などユーザ10aの状態に即したアドバイス情報をユーザ10bに発話して提供する。また、感情決定部232によってロボット100の感情値が決定されるため、かかる感情値等に基づき、行動制御部250は、「怒る気持ちも分かりますが、言い方を変えるとあなたの気持ちがうまく伝わりますよ」などユーザ10bの気持ち(悩み)に寄り添った内容のアドバイス情報を発話して提供してもよい。
【0087】
このように、本実施形態に係る行動制御部250は、ユーザ10に対して家族に関する適切なアドバイスを行うことができる。また、行動制御部250は、家族の状態(例えば意見や感情)を適切に伝えてアドバイスを行うことで、家族間のコミュニケーションを円滑にすることが可能になる、言い換えると、家族間の互いの理解を深めるサポートを行うことが可能になる。
【0088】
なお、ユーザ10へのアドバイス情報の提供は、制御対象252であるスピーカ2522を用いた発話によるものに限られず、制御対象252である表示装置2521の表示、腕、手および足等を駆動するモータ2524の制御等を用いたロボット100の姿勢等を通じて行われてもよい。
【0089】
行動制御部250は、行動決定部236が決定した行動を実行したことに対するユーザ10の感情の変化を認識してもよい。例えば、ユーザ10の音声や表情に基づいて感情の変化を認識してよい。その他、センサ部200に含まれるタッチセンサで衝撃が検出されたことに基づいて、ユーザ10の感情の変化を認識してよい。センサ部200に含まれるタッチセンサで衝撃が検出された場合に、ユーザ10の感情が悪くなったと認識したり、センサ部200に含まれるタッチセンサの検出結果から、ユーザ10の反応が笑っている、あるいは、喜んでいる等と判断される場合には、ユーザ10の感情が良くなったと認識したりしてもよい。ユーザ10の反応を示す情報は、通信処理部280に出力される。
【0090】
また、行動制御部250は、行動決定部236が決定した行動をロボット100の感情に応じて決定した実行形態で実行した後、感情決定部232は、当該行動が実行されたことに対するユーザの反応に基づいて、ロボット100の感情値を更に変化させる。具体的には、感情決定部232は、行動決定部236が決定した行動を行動制御部250が決定した実行形態でユーザに対して行ったことに対するユーザの反応が不良でなかった場合に、ロボット100の「喜」の感情値を増大させるまた、感情決定部232は、行動決定部236が決定した行動を行動制御部250が決定した実行形態でユーザに対して行ったことに対するユーザの反応が不良であった場合に、ロボット100の「哀」の感情値を増大させる。
【0091】
更に、行動制御部250は、決定したロボット100の感情値に基づいて、ロボット100の感情を表現する。例えば、行動制御部250は、ロボット100の「喜」の感情値を増加させた場合、制御対象252を制御して、ロボット100に喜んだ仕草を行わせる。また、行動制御部250は、ロボット100の「哀」の感情値を増加させた場合、ロボット100の姿勢がうなだれた姿勢になるように、制御対象252を制御する。
【0092】
また、行動制御部250は、ロボット100の感情に応じて、アドバイス情報の内容を変更する。例えば、行動制御部250は、ロボット100の感情値に応じて、生成するアドバイス情報の内容を変更する。具体的には、行動制御部250は、ユーザから横柄な態度を示す音声を受け付けると、ロボット100の「怒」や「哀」の感情値が増大し、増大した感情値に応じたアドバイス情報を生成して提供する。かかるアドバイス情報は、暴言あるいは横柄な態度を示す音声を受け付けていないユーザ(すなわち、発言や態度が良好なユーザ)に提供されるアドバイス情報とは内容が異なる。一例として、暴言等を示す音声を受け付けたユーザに提供されるアドバイス情報は、暴言等を示す音声を受け付けていないユーザに提供されるアドバイス情報に比べ、提案するアドバイスの内容が乏しかったり、アドバイスの内容の一部を省略したりする内容となる。
【0093】
また、行動制御部250は、周囲の騒音が騒がしくユーザの音声を検出できない場合、ロボット100のバッテリー残量が少ない場合などで、ロボット100の「怒」や「哀」の感情値が増大した場合、増大した感情値に応じたアドバイス情報を生成して提供する。かかるアドバイス情報は、ユーザの音声を検出できる場合あるいはバッテリー残量が多い場合にユーザに提供されるアドバイス情報とは内容が異なる。一例として、ユーザの音声を検出できない場合等にユーザに提供されるアドバイス情報は、ユーザの音声を検出できる場合等にユーザに提供されるアドバイス情報に比べ、提案するアドバイスの内容が乏しかったり、アドバイスの内容の一部を省略したりする内容となる。
【0094】
また、行動制御部250は、ユーザから「いつもアドバイスありがとう」などロボット100に対して好意的な態度を示す音声を受け付けると、ロボット100の「喜」や「楽」の感情値が増大し、増大した感情値に応じたアドバイス情報を生成して提供する。かかるアドバイス情報は、好意的な態度を示す音声を受け付けていないユーザ(すなわち、普通の態度のユーザ)に提供されるアドバイス情報とは内容が異なる。一例として、好意的な態度を示す音声を受け付けたユーザに提供されるアドバイス情報は、好意的な態度を示す音声を受け付けていないユーザに提供されるアドバイス情報に比べ、提案するアドバイスの内容が豊富になったり、アドバイスの内容が追加されたりする内容となる。
【0095】
なお、行動制御部250は、ロボット100の感情値に基づいて、アドバイス情報をユーザに提供する頻度を変更してもよい。例えば、行動制御部250は、提供したアドバイス情報に対するユーザの反応が不良でなく(具体的にはユーザから「いいね」などのポジティブな内容の回答があり)、ロボット100の「喜」の感情値が増大した場合、アドバイス情報をユーザに提供する頻度を増加させてもよい。また、行動制御部250は、提供したアドバイス情報に対するユーザの反応が不良で(具体的にはユーザから「違うね」などのネガティブな内容の回答があり)、ロボット100の「哀」の感情値が増大した場合、アドバイス情報をユーザに提供する頻度を減少させてもよい。
【0096】
通信処理部280は、サーバ300との通信を担う。上述したように、通信処理部280は、ユーザ反応情報をサーバ300に送信する。また、通信処理部280は、更新された反応ルールをサーバ300から受信する。通信処理部280がサーバ300から、更新された反応ルールを受信すると、反応ルール221を更新する。
【0097】
サーバ300は、ロボット100、ロボット101およびロボット102とサーバ300との間の通信を行い、ロボット100から送信されたユーザ反応情報を受信し、ポジティブな反応が得られた行動を含む反応ルールに基づいて、反応ルールを更新する。
【0098】
(キャラクターに基づく行動決定)
これまで、行動決定部236が、状態認識部230によって認識された状態に基づいてロボット100の行動を決定する場合について説明した。一方で、行動決定部236は、ユーザの状態だけでなく、設定されたキャラクターに基づいてロボット100の行動を決定してもよい。その際、行動決定部236は、キャラクターデータ223からキャラクターに対応付けられた年齢(利用年齢)を取得し、取得した利用年齢に基づいてロボット100の行動を決定してもよい。
【0099】
すなわち、行動決定部236は、状態認識部230によって認識された状態と、設定されたキャラクター又はキャラクターに対応付けられた年齢と、に基づき、ロボット100の行動を決定する。これにより、ユーザの年齢に応じた適切な行動をロボット100に実行させることができるようになる。特に、ロボット100による、低年齢のユーザに適さない行動(例えば、暴力的なコンテンツの出力)を制限することが可能になる。
【0100】
システム5には、事前にキャラクターが設定される。キャラクターの設定は、プロンプト(命令文)として入力される。プロンプトの入力は、ロボット100に備えられた入力装置を介して行われてもよいし、ロボット100と通信可能に接続されたサーバ等の外部装置を介して行われてもよい。また、プロンプトにおいては、キャラクターの名称が指定されてもよいし、キャラクターごとに定められたIDが指定されてもよい。
【0101】
例えば、行動決定部236は、キャラクターの外観、又はキャラクターに応じた色を示す画面を、ロボットに備えられた表示装置2521(出力装置の例)に出力させる行動を決定する。キャラクターに応じた色は、当該キャラクターを連想させるようなテーマカラー等である。これにより、ユーザは、キャラクターと対話をする感覚を得ることができる。
【0102】
また、例えば、行動決定部236は、利用年齢に応じた態様により、ロボット100に備えられた表示装置2521又はスピーカ2522(出力装置の例)に情報を出力させる行動を決定する。例えば、行動決定部236は、スピーカ2522から発せられるロボット100の音声を、キャラクターの声色に変更する。
【0103】
また、例えば、行動決定部236は、利用年齢に応じた言葉を使って構成されたテキストにより、音声又はメッセージを出力する行動を決定する。ここでは、年齢ごとの使用可能な言葉があらかじめ設定されているものとする。行動決定部236は、利用年齢をキャラクターデータ223から取得する。
【0104】
例えば、ロボット100が「声をかける」という行動を選択した場合に出力する言葉として、「どうしたの?」と「いかがいたしましたか?」という言葉があらかじめ格納部220に記憶されているものとする。また、「どうしたの?」には「12歳未満」という年齢が対応付けられ、「いかがいたしましたか?」には「12歳以上」という年齢が対応付けられているものとする。例えば、行動決定部236は、利用年齢が「18歳以上」であれば、「いかがいたしましたか?」という言葉を出力することを決定する。また、例えば、行動決定部236は、利用年齢が「3歳から7歳」であれば、「どうしたの?」という言葉を出力することを決定する。
【0105】
このように、利用年齢に応じて音声の声色や出力される言葉を変化させることで、特に低年齢のユーザに適さない行動を制限しつつ、低年齢のユーザからの親しみやすさを向上させることができる。
【0106】
さらに、行動決定部236は、キャラクターに応じたコンテンツを、ロボット100に備えられた出力装置(表示装置2521等)に出力させる行動を決定する。例えば、行動決定部236は、キャラクターが登場する映像コンテンツ(映画、アニメーション等)を表示装置2521に表示させる行動を決定する。
【0107】
また、行動決定部236は、利用年齢に応じた教育コンテンツを出力させる行動を決定してもよい。ここで、教育コンテンツは、英語、算数、国語、理科、社会といった学習科目に関するテキスト、映像、音声等である。また、教育コンテンツは、問題に対する回答をユーザが入力するようなインタラクティブなコンテンツであってもよい。例えば、行動決定部236は、利用年齢に応じた学年に対応する計算問題のテキストを表示装置2521に表示させる行動を決定する。例えば、行動決定部236は、利用年齢が「8歳未満」であれば、足し算の問題を表示させることを決定し、利用年齢が「8歳以上」であれば、掛け算の問題を表示させることを決定する。
【0108】
また、行動決定部236は、キャラクターではなく利用年齢に応じたコンテンツを、ロボット100に備えられた出力装置に出力させる行動を決定してもよい。この場合のコンテンツは、キャラクターが登場するコンテンツであってもよいし、一般的に知られている昔話、童話等の、キャラクターに依存しないコンテンツであってもよい。
【0109】
なお、キャラクターに応じたコンテンツおよび利用年齢に応じた学年および教育コンテンツは、格納部220にあらかじめ格納されていてもよいし、ロボット100と通信可能に接続されたサーバ等の外部装置から取得されてもよい。
【0110】
図4は、キャラクターの設定に関する動作フローの一例を概略的に示す図である。なお、動作フロー中の「S」は、実行されるステップを表す。
【0111】
ステップS50において、ロボット100は、キャラクターの設定を受け付ける。そして、ステップS51において、ロボット100は、キャラクターに応じた画面(例えば、キャラクターの外観が表示された画面)を出力する。
【0112】
また、ステップS52において、行動決定部236は、キャラクターデータ223から、設定されたキャラクターに応じた利用年齢を取得しておく。
【0113】
図5は、ロボット100において行動を決定する動作に関する動作フローの一例を概略的に示す図である。図5に示す動作フローは、繰り返し実行される。このとき、センサモジュール部210で解析された情報が入力されているものとする。なお、動作フロー中の「S」は、実行されるステップを表す。
【0114】
まず、ステップS100において、状態認識部230は、センサモジュール部210で解析された情報に基づいて、ユーザ等の状態を認識する。例えば、状態認識部230は、「パパが1人です。」、「パパが笑顔でない確率90%です。」等の知覚情報を生成し、生成された知覚情報の意味を理解する処理を行う。例えば、状態認識部230は、「パパが1人、寂しそうです。」等の意味情報を生成する。また、状態認識部230は、「ペットが尻尾を振っています。」、「ペットが怒っている顔でない確率80%です。」等の知覚情報を生成し、「ペットが遊びたがっています。」等の意味情報を生成する。
【0115】
ステップS102において、感情決定部232は、センサモジュール部210で解析された情報、および状態認識部230によって認識されたユーザ等の状態に基づいて、ユーザ等の感情を示す感情値を決定する。
【0116】
ステップS103において、感情決定部232は、センサモジュール部210で解析された情報、および状態認識部230によって認識されたユーザ等の状態に基づいて、ロボット100の感情を示す感情値を決定する。感情決定部232は、決定したユーザ等の感情値を履歴データ222に追加する。
【0117】
ステップS104において、行動認識部234は、センサモジュール部210で解析された情報および状態認識部230によって認識されたユーザ等の状態に基づいて、ユーザ等の行動分類を認識する。
【0118】
ステップS106において、行動決定部236は、図4のステップS52で取得された利用年齢と、図5のステップS102で決定されたユーザ10の現在の感情値および履歴データ222に含まれる過去の感情値の組み合わせと、ロボット100の感情値と、行動認識部234によって認識されたユーザ10の行動と、反応ルール221とに基づいて、ロボット100の行動を決定する。
【0119】
ステップS108において、行動制御部250は、行動決定部236により決定された行動に基づいて、制御対象252を制御する。例えば、行動制御部250は、家族を構成するユーザ10の状態、および、ペット13の状態の少なくともいずれかに応じて決定された行動に基づいて制御対象252を制御する。
【0120】
ステップS110において、記憶制御部238は、行動決定部236によって決定された行動に対して予め定められた行動の強度と、感情決定部232により決定されたロボット100の感情値とに基づいて、強度の総合値を算出する。
【0121】
ステップS112において、記憶制御部238は、強度の総合値が閾値以上であるか否かを判定する。強度の総合値が閾値未満である場合には、ユーザ10の行動を含むデータを履歴データ222に記憶せずに、当該処理を終了する。一方、強度の総合値が閾値以上である場合には、ステップS114へ移行する。
【0122】
ステップS114において、行動決定部236によって決定された行動と、現時点から一定期間前までの、センサモジュール部210で解析された情報、および状態認識部230によって認識されたユーザ10の状態と、を、履歴データ222に記憶する。
【0123】
以上説明したように、ロボット(電子機器)100は、家族を構成するユーザ10の状態、および、ユーザ10によって飼育されるペット13の状態の少なくともいずれかを認識し、認識した状態に対応する自身の行動を決定し、決定した自身の行動に基づいて制御対象を制御する制御部を備える。これにより、ロボット100は、ユーザ10に対し、家族やペット13に関する適切なアドバイスを行うといった、適切な行動を実行することができる。
【0124】
また、ロボット100の制御部は、ペット13の行動をペット13の状態として認識した場合、ペット13の行動に応じたペット13に関するアドバイス情報を提供する行動を自身の行動として決定する。これにより、ロボット100は、ペット13の行動に即した、ペット13に関する適切なアドバイス情報を提供することができる。
【0125】
また、ロボット100の制御部は、ペット13の感情をペット13の状態として認識した場合、ペット13の感情に応じたペット13に関するアドバイス情報を提供する行動を自身の行動として決定する。これにより、ロボット100は、ペット13の感情に即した、ペット13に関する適切なアドバイス情報を提供することができる。
【0126】
また、ペット13に関するアドバイス情報は、ペット13とペット13を飼育するユーザ10との関係に関する情報、および、ペット13のケアに関する情報の少なくともいずれかを含む。これにより、ロボット100は、アドバイス情報として、例えばペット13とユーザ10との関係を良好にするための情報や、ペット13のケアに関する感情的な悩みに対処する方法などを提供することが可能になる。
【0127】
また、ロボット100の制御部は、家族を構成するユーザ10の行動を当該ユーザ10の状態として認識した場合、当該ユーザ10の行動に応じた家族に関するアドバイス情報を提供する行動を自身の行動として決定する。これにより、ロボット100は、家族を構成するユーザ10の行動に即した、家族に関する適切なアドバイス情報を提供することができる。
【0128】
また、ロボット100の制御部は、家族を構成するユーザ10の感情を当該ユーザ10の状態として認識した場合、当該ユーザ10の感情に応じた家族に関するアドバイス情報を提供する行動を自身の行動として決定する。これにより、ロボット100は、家族を構成するユーザ10の感情に即した、家族に関する適切なアドバイス情報を提供することができる。
【0129】
また、ロボット100の制御部は、家族を構成する複数のユーザ10それぞれの性格、関心、興味、志向の少なくともいずれかに基づいてアドバイス情報を生成する。これにより、ロボット100は、ユーザ10それぞれの性格などに即した、家族に関する適切なアドバイス情報を提供することができる。
【0130】
なお、上記では、電子機器の一例としてロボット100を挙げたが、これに限られず、例えば外観がぬいぐるみであるロボット、スマートホン、スマートスピーカなどその他の種類の電子機器であってもよい。
【0131】
上記実施形態では、ロボット100は、ユーザ10の顔画像を用いてユーザ10を認識する場合について説明したが、開示の技術はこの態様に限定されない。例えば、ロボット100は、ユーザ10が発する音声、ユーザ10のメールアドレス、ユーザ10のSNSのID又はユーザ10が所持する無線ICタグが内蔵されたIDカード等を用いてユーザ10を認識してもよい。
【0132】
なお、ロボット100は、行動制御システムを備える電子機器の一例である。行動制御システムの適用対象は、ロボット100に限られず、様々な電子機器に行動制御システムを適用できる。また、サーバ300の機能は、1以上のコンピュータによって実装されてよい。サーバ300の少なくとも一部の機能は、仮想マシンによって実装されてよい。また、サーバ300の機能の少なくとも一部は、クラウドで実装されてよい。
【0133】
図6は、ロボット100およびサーバ300として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す図である。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、および/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0134】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、およびグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ1226、およびICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブ1226は、DVD-ROMドライブおよびDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブおよびソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230およびキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0135】
CPU1212は、ROM1230およびRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0136】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラムおよびデータを格納する。DVDドライブ1226は、プログラム又はデータをDVD-ROM1227等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/又はプログラムおよびデータをICカードに書き込む。
【0137】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、および/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0138】
プログラムは、DVD-ROM1227又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0139】
例えば、通信がコンピュータ1200および外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM1227、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0140】
また、CPU1212は、記憶装置1224、DVDドライブ1226(DVD-ROM1227)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0141】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0142】
上で説明したプログラム又はソフトウェアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0143】
本実施形態におけるフローチャートおよびブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階および「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/又はアナログハードウェア回路を含んでよく、集積回路(IC)および/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、およびプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、および他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0144】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0145】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0146】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0147】
(その他の実施形態)
なお、上述したロボット(電子機器)100は、ぬいぐるみに搭載してもよく、あるいは、ぬいぐるみに搭載された制御対象機器(スピーカやカメラ)に無線又は有線で接続された制御装置に適用してもよい。
【0148】
感情決定部232は、特定のマッピングに従い、ユーザの感情を決定してよい。具体的には、感情決定部232は、特定のマッピングである感情マップ(図7参照)に従い、ユーザの感情を決定してよい。
【0149】
図7は、複数の感情がマッピングされる感情マップ400を示す図である。感情マップ400において、感情は、中心から放射状に同心円に配置されている。同心円の中心に近いほど、原始的状態の感情が配置されている。同心円のより外側には、心境から生まれる状態や行動を表す感情が配置されている。感情とは、情動や心的状態も含む概念である。同心円の左側には、概して脳内で起きる反応から生成される感情が配置されている。同心円の右側には概して、状況判断で誘導される感情が配置されている。同心円の上方向および下方向には、概して脳内で起きる反応から生成され、かつ、状況判断で誘導される感情が配置されている。また、同心円の上側には、「快」の感情が配置され、下側には、「不快」の感情が配置されている。このように、感情マップ400では、感情が生まれる構造に基づいて複数の感情がマッピングされており、同時に生じやすい感情が、近くにマッピングされている。
【0150】
(1)例えばロボット100の感情決定部232である感情エンジンが、100msec程度で感情を検知している場合、ロボット100の反応動作(例えば相槌)の決定は、頻度が少なくとも、感情エンジンの検知頻度(100msec)と同様のタイミングに設定してよく、これよりも早いタイミングに設定してもよい。感情エンジンの検知頻度はサンプリングレートと解釈してよい。
【0151】
100msec程度で感情を検知し、即時に連動して反動動作(例えば相槌)を行うことで、不自然な相槌ではなくなり、自然な空気を読んだ対話を実現できる。ロボット100感情マップ400の曼荼羅の方向性とその度合い(強さ)に応じて、反動動作(相槌など)を行う。なお、感情エンジンの検知頻度(サンプリングレート)は、100msに限定されず、シチュエーション(スポーツをしている場合など)、ユーザの年齢などに応じて、変更してもよい。
【0152】
(2)感情マップ400と照らし合わせ、感情の方向性とその度合いの強さを予め設定しておき、相槌の動きおよび相槌の強弱を設定してよい。例えば、ロボット100が安定感、安心などを感じている場合、ロボット100は、頷いて話を聞き続ける。ロボット100が不安、迷い、怪しい感じを覚えている場合、ロボット100は、首をかしげてもよく、首振りを止めてもよい。
【0153】
これらの感情は、感情マップ400の3時の方向に分布しており、普段は安心と不安のあたりを行き来する。感情マップ400の右半分では、内部的な感覚よりも状況認識の方が優位に立つため、落ち着いた印象になる。
【0154】
(3)ロボット100が褒められて快感を覚えた場合、「あー」というフィラーが台詞の前に入り、きつい言葉をもらって痛感を覚えた場合、「うっ!」というフィラーが台詞の前に入ってよい。また、ロボット100が「うっ!」と言いつつうずくまる仕草などの身体的な反応を含めてよい。これらの感情は、感情マップ400の9時あたりに分布している。
【0155】
(4)感情マップ400の左半分では、状況認識よりも内部的な感覚(反応)の方が優位に立つ。よって、思わず反応してしまった印象を与え得る。
【0156】
ロボット100が納得感という内部的な感覚(反応)を覚えながら状況認識においても好感を覚える場合、ロボット100は、相手を見ながら深く頷いてよく、また「うんうん」と発してよい。このように、ロボット100は、相手へのバランスのとれた好感、すなわち、相手への許容や寛容といった行動を生成してよい。このような感情は、感情マップ400の12時あたりに分布している。
【0157】
逆に、ロボット100が不快感という内部的な感覚(反応)を覚えながら状況認識においても、ロボット100は、嫌悪を覚えるときには首を横に振る、憎しみを覚えるくらいになると、目のLEDを赤くして相手を睨んでもよい。このような感情は、感情マップ400の6時あたりに分布している。
【0158】
(5)感情マップ400の内側は心の中、感情マップ400の外側は行動を表すため、感情マップ400の外側に行くほど、感情が目に見える(行動に表れる)ようになる。
【0159】
(6)感情マップ400の3時付近に分布する安心を覚えながら、人の話を聞く場合、ロボット100は、軽く首を縦に振って「ふんふん」と発する程度であるが、12時付近の愛の方になると、首を深く縦に振るような力強い頷きをしてよい。
【0160】
感情決定部232は、センサモジュール部210で解析された情報、および認識されたユーザ10の状態を、予め学習されたニューラルネットワークに入力し、感情マップ400に示す各感情を示す感情値を取得し、ユーザ10の感情を決定する。このニューラルネットワークは、センサモジュール部210で解析された情報、および認識されたユーザ10の状態と、感情マップ400に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。また、このニューラルネットワークは、図8に示す感情マップ900のように、近くに配置されている感情同士は、近い値を持つように学習される。図8は、感情マップの他の例を示す図である。図8では、「安心」、「安穏」、「心強い」という複数の感情が、近い感情値となる例を示している。
【0161】
また、感情決定部232は、特定のマッピングに従い、ロボット100の感情を決定してよい。具体的には、感情決定部232は、センサモジュール部210で解析された情報、状態認識部230によって認識されたユーザ10の状態、およびロボット100の状態を、予め学習されたニューラルネットワークに入力し、感情マップ400に示す各感情を示す感情値を取得し、ロボット100の感情を決定する。このニューラルネットワークは、センサモジュール部210で解析された情報、認識されたユーザ10の状態、およびロボット100の状態と、感情マップ400に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。例えば、タッチセンサ(図示せず)の出力から、ロボット100がユーザ10になでられていると認識される場合に、「嬉しい」の感情値「3」となることを表す学習データや、加速度センサ(図示せず)の出力から、ロボット100がユーザ10に叩かれていると認識される場合に、「怒」の感情値「3」となることを表す学習データに基づいて、ニューラルネットワークが学習される。また、このニューラルネットワークは、図8に示す感情マップ900のように、近くに配置されている感情同士は、近い値を持つように学習される。
【0162】
また、感情決定部232は、文章生成モデルによって生成されたロボット100の行動内容に基づいて、ロボット100の感情を決定してもよい。具体的には、感情決定部232は、文章生成モデルによって生成されたロボット100の行動内容を、予め学習されたニューラルネットワークに入力し、感情マップ400に示す各感情を示す感情値を取得し、取得した各感情を示す感情値と、現在のロボット100の各感情を示す感情値とを統合し、ロボット100の感情を更新する。例えば、取得した各感情を示す感情値と、現在のロボット100の各感情を示す感情値とをそれぞれ平均して、統合する。このニューラルネットワークは、文章生成モデルによって生成されたロボット100の行動内容を表すテキストと、感情マップ400に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。
【0163】
例えば、文章生成モデルによって生成されたロボット100の行動内容として、ロボット100の発話内容「それはよかったね。ラッキーだったね。」が得られた場合には、この発話内容を表すテキストをニューラルネットワークに入力すると、感情「嬉しい」の感情値として高い値が得られ、感情「嬉しい」の感情値が高くなるように、ロボット100の感情が更新される。
【0164】
行動決定部236は、ユーザの行動と、ユーザの感情、ロボットの感情とを表すテキストに、ユーザの行動に対応するロボットの行動内容を質問するための固定文を追加して、対話機能を有する文章生成モデルに入力することにより、ロボットの行動内容を生成する。
【0165】
例えば、行動決定部236は、感情決定部232によって決定されたロボット100の感情から、図9に示すような感情テーブルを用いて、ロボット100の状態を表すテキストを取得する。図9は、感情テーブルの一例を示す図である。ここで、感情テーブルには、感情の種類毎に、各感情値に対してインデックス番号が付与されており、インデックス番号毎に、ロボット100の状態を表すテキストが格納されている。
【0166】
感情決定部232によって決定されたロボット100の感情が、インデックス番号「2」に対応する場合、「とても楽しい状態」というテキストが得られる。なお、ロボット100の感情が、複数のインデックス番号に対応する場合、ロボット100の状態を表すテキストが複数得られる。
【0167】
また、ユーザ10の感情に対しても、図10に示すような感情テーブルを用意しておく。図10は、感情テーブルの一例を示す図である。ここで、ユーザの行動が、「AAAです。」と話しかけるであり、ロボット100の感情が、インデックス番号「2」であり、ユーザ10の感情が、インデックス番号「3」である場合には、「ロボットはとても楽しい状態です。ユーザは普通に楽しい状態です。ユーザに「AAAです。」と話しかけられました。ロボットとして、どのように返事をしますか?」と文章生成モデルに入力し、ロボットの行動内容を取得する。行動決定部236は、この行動内容から、ロボットの行動を決定する。
【0168】
このように、ロボット100は、ロボットの感情に応じたインデックス番号に応じて、ロボットの行動を変えることができるため、ユーザは、ロボット100に心があるような印象を持ち、ロボットに対して話しかけるなどの行動をとることが促進される。
【0169】
また、行動決定部236は、ユーザの行動と、ユーザの感情、ロボットの感情とを表すテキストだけでなく、履歴データ222の内容を表すテキストも追加した上で、ユーザの行動に対応するロボットの行動内容を質問するための固定文を追加して、対話機能に入力することにより、ロボットの行動内容を生成するようにしてもよい。これにより、ロボット100は、ユーザの感情や行動を表す履歴データに応じて、ロボットの行動を変えることができるため、ユーザは、ロボットに個性があるような印象を持ち、ロボットに対して話しかけるなどの行動をとることが促進される。また、履歴データに、ロボットの感情や行動を更に含めるようにしてもよい。
【0170】
なお、具体的には、ぬいぐるみは、以下のように構成される。例えば、ロボット100をユーザ10と日常を過ごしながら、当該ユーザ10と日常に関する情報を基に、対話を進めたり、ユーザ10の趣味趣向に合わせた情報を提供する共同生活者(具体的には、図11および図12に示すぬいぐるみ100N)に適用してもよい。本実施形態(その他の実施形態)では、上記のロボット100の制御部分を、スマートホン50に適用した例について説明する。
【0171】
ロボット100の入出力デバイスとしての機能を搭載したぬいぐるみ100Nは、ロボット100の制御部分として機能するスマートホン50が着脱可能であり、ぬいぐるみ100Nの内部で、入出力デバイスと、収容されたスマートホン50とが接続されている。
【0172】
図11(A)に示される如く、ぬいぐるみ100Nは、本実施形態(その他の実施形態)では、外観が柔らかい布生地で覆われた熊の形状であり、図11(B)に示される如く、その内方に形成された空間部52には、入出力デバイスとして、耳54に相当する部分にセンサ部200のマイク201(図2参照)が配置され、目56に相当する部分にセンサ部200の2Dカメラ203が配置され(図2参照)、および、口58に相当する部分に制御対象252(図2参照)の一部を構成するスピーカ60が配置されている。なお、マイク201およびスピーカ60は、必ずしも別体である必要はなく、一体型のユニットであってもよい。ユニットの場合は、ぬいぐるみ100Nの鼻の位置など、発話が自然に聞こえる位置に配置するとよい。なお、ぬいぐるみ100Nは、動物の形状である場合を例に説明したが、これに限定されるものではない。ぬいぐるみ100Nは、特定のキャラクターの形状であってもよい。
【0173】
スマートホン50は、図2に示す、センサモジュール部210としての機能、格納部220としての機能、状態認識部230としての機能、感情決定部232としての機能、行動認識部234としての機能、行動決定部236としての機能、記憶制御部238としての機能、行動制御部250としての機能、通信処理部280としての機能を有する。
【0174】
図12に示される如く、ぬいぐるみ100Nの一部(例えば、背部)には、ファスナー62が取り付けられており、当該ファスナー62を開放することで、外部と空間部52とが連通する構成となっている。
【0175】
ここで、スマートホン50が、外部から空間部52へ収容され、USBハブ64(図11(B)参照)を介して、各入出力デバイスとUSB接続することで、図1に示すロボット100と同等の機能を持たせることができる。
【0176】
また、USBハブ64には、非接触型の受電プレート66が接続されている。受電プレート66には、受電用コイル66Aが組み込まれている。受電プレート66は、ワイヤレス給電を受電するワイヤレス受電部の一例である。
【0177】
受電プレート66は、ぬいぐるみ100Nの両足の付け根部68付近に配置され、ぬいぐるみ100Nを載置ベース70に置いたときに、最も載置ベース70に近い位置となる。載置ベース70は、外部のワイヤレス送電部の一例である。
【0178】
この載置ベース70に置かれたぬいぐるみ100Nが、自然な状態で置物として鑑賞することが可能である。
【0179】
また、この付け根部は、他の部位のぬいぐるみ100Nの表層厚さに比べて薄く形成しており、より載置ベース70に近い状態で保持されるようになっている。
【0180】
載置ベース70には、充電パット72を備えている。充電パット72は、送電用コイル72Aが組み込まれており、送電用コイル72Aが信号を送って、受電プレート66の受電用コイル66Aを検索し、受電用コイル66Aが見つかると、送電用コイル72Aに電流が流れて磁界を発生させ、受電用コイル66Aが磁界に反応して電磁誘導が始まる。これにより、受電用コイル66Aに電流が流れ、USBハブ64を介して、スマートホン50のバッテリー(図示省略)に電力が蓄えられる。
【0181】
すなわち、ぬいぐるみ100Nを置物として載置ベース70に載置することで、スマートホン50は、自動的に充電されるため、充電のために、スマートホン50をぬいぐるみ100Nの空間部52から取り出す必要がない。
【0182】
なお、本実施形態(その他の実施形態)では、スマートホン50をぬいぐるみ100Nの空間部52に収容して、有線による接続(USB接続)したが、これに限定されるものではない。例えば、無線機能(例えば、「Bluetooth(登録商標)」)を持たせた制御装置をぬいぐるみ100Nの空間部52に収容して、制御装置をUSBハブ64に接続してもよい。この場合、スマートホン50を空間部52に入れずに、スマートホン50と制御装置とが、無線で通信し、外部のスマートホン50が、制御装置を介して、各入出力デバイスと接続することで、図1に示すロボット100と同等の機能を持たせることができる。また、制御装置をぬいぐるみ100Nの空間部52に収容した制御装置と、外部のスマートホン50とを有線で接続してもよい。
【0183】
また、本実施形態(その他の実施形態)では、熊のぬいぐるみ100Nを例示したが、他の動物でもよいし、人形であってもよいし、特定のキャラクターの形状であってもよい。また、着せ替え可能でもよい。さらに、表皮の材質は、布生地に限らず、ソフトビニール製等、他の材質でもよいが、柔らかい材質であることが好ましい。
【0184】
さらに、ぬいぐるみ100Nの表皮にモニタを取り付けて、ユーザ10に視覚を通じて情報を提供する制御対象252を追加してもよい。例えば、目56をモニタとして、目に映る画像によって喜怒哀楽を表現してもよいし、腹部に、内蔵したスマートホン50のモニタが透過する窓を設けてもよい。さらに、目56をプロジェクターとして、壁面に投影した画像によって喜怒哀楽を表現してもよい。
【0185】
他の実施形態によれば、ぬいぐるみ100Nの中に既存のスマートホン50を入れ、そこから、USB接続を介して、カメラ203、マイク201、スピーカ60等をそれぞれ適切な位置に延出させた。
【0186】
さらに、ワイヤレス充電のために、スマートホン50と受電プレート66とをUSB接続して、受電プレート66を、ぬいぐるみ100Nの内部からみてなるべく外側に来るように配置した。
【0187】
スマートホン50のワイヤレス充電を使おうとすると、スマートホン50をぬいぐるみ100Nの内部からみてできるだけ外側に配置しなければならず、ぬいぐるみ100Nを外から触ったときにごつごつしてしまう。
【0188】
そのため、スマートホン50を、できるだけぬいぐるみ100Nの中心部に配置し、ワイヤレス充電機能(受電プレート66)を、できるだけぬいぐるみ100Nの内部からみて外側に配置した。カメラ203、マイク201、スピーカ60、およびスマートホン50は、受電プレート66を介してワイヤレス給電を受電する。
【0189】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0190】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0191】
5 システム、10、11、12 ユーザ、20 通信網、100、101、102 ロボット、200 センサ部、201 マイク、202 3D深度センサ、203 2Dカメラ、204 距離センサ、210 センサモジュール部、211 音声感情認識部、212 発話理解部、213 表情認識部、214 顔認識部、220 格納部、221 反応ルール、222 履歴データ、223 キャラクターデータ、230 状態認識部、232 感情決定部、234 行動認識部、236 行動決定部、238 記憶制御部、250 行動制御部、252 制御対象、280 通信処理部、300 サーバ、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1226 DVDドライブ、1227 DVD-ROM、1230 ROM、1240 入出力チップ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12