JP2024159676A - Behavior Control System - Google Patents
Behavior Control System Download PDFInfo
- Publication number
- JP2024159676A JP2024159676A JP2024072042A JP2024072042A JP2024159676A JP 2024159676 A JP2024159676 A JP 2024159676A JP 2024072042 A JP2024072042 A JP 2024072042A JP 2024072042 A JP2024072042 A JP 2024072042A JP 2024159676 A JP2024159676 A JP 2024159676A
- Authority
- JP
- Japan
- Prior art keywords
- user
- robot
- emotion
- behavior
- unit
- 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 abstract description 433
- 230000009471 action Effects 0.000 claims abstract description 90
- 235000003642 hunger Nutrition 0.000 claims abstract description 23
- 230000007423 decrease Effects 0.000 claims abstract description 7
- 241001465754 Metazoa Species 0.000 claims description 14
- 230000003542 behavioural effect Effects 0.000 claims description 10
- 235000013305 food Nutrition 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 2
- 210000005069 ears Anatomy 0.000 claims 1
- 230000004044 response Effects 0.000 abstract description 16
- 230000006399 behavior Effects 0.000 description 289
- 239000003795 chemical substances by application Substances 0.000 description 110
- 238000006243 chemical reaction Methods 0.000 description 54
- 238000000034 method Methods 0.000 description 40
- 238000003860 storage Methods 0.000 description 40
- 238000012545 processing Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 33
- 230000006870 function Effects 0.000 description 29
- 230000015654 memory Effects 0.000 description 29
- 230000002996 emotional effect Effects 0.000 description 25
- 241000234295 Musa Species 0.000 description 21
- 238000004891 communication Methods 0.000 description 21
- 230000008859 change Effects 0.000 description 19
- 235000018290 Musa x paradisiaca Nutrition 0.000 description 18
- 238000013528 artificial neural network Methods 0.000 description 13
- 230000008921 facial expression Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 208000019901 Anxiety disease Diseases 0.000 description 7
- 230000036506 anxiety Effects 0.000 description 7
- 208000025174 PANDAS Diseases 0.000 description 6
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 6
- 240000004718 Panda Species 0.000 description 6
- 235000016496 Panda oleosa Nutrition 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 210000003128 head Anatomy 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000008909 emotion recognition Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000035807 sensation Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 235000021015 bananas Nutrition 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 3
- 230000000994 depressogenic effect Effects 0.000 description 3
- 239000005556 hormone Substances 0.000 description 3
- 229940088597 hormone Drugs 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
- 102100039250 Essential MCU regulator, mitochondrial Human genes 0.000 description 2
- 101000813097 Homo sapiens Essential MCU regulator, mitochondrial Proteins 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 235000013361 beverage Nutrition 0.000 description 2
- 230000002354 daily effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004744 fabric Substances 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
- 210000004247 hand Anatomy 0.000 description 2
- 230000001678 irradiating effect Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000028327 secretion Effects 0.000 description 2
- 230000035943 smell Effects 0.000 description 2
- 241001539473 Euphoria Species 0.000 description 1
- 206010015535 Euphoric mood Diseases 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 206010041243 Social avoidant behaviour Diseases 0.000 description 1
- 206010065954 Stubbornness Diseases 0.000 description 1
- 210000001015 abdomen Anatomy 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 235000019788 craving Nutrition 0.000 description 1
- 235000021438 curry Nutrition 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005674 electromagnetic induction Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000004313 glare Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006996 mental state Effects 0.000 description 1
- 230000036651 mood 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
- 238000004801 process automation Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 235000011888 snacks Nutrition 0.000 description 1
- 239000007779 soft material Substances 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
- 238000003786 synthesis reaction Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 125000000391 vinyl group Chemical group [H]C([*])=C([H])[H] 0.000 description 1
- 229920002554 vinyl polymer Polymers 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
【課題】ユーザの行動に対して適切な行動を電子機器に実行させる。
【解決手段】行動制御システムは、ユーザの行動を含むユーザ状態を認識するユーザ状態認識部と、ユーザの感情又は電子機器の感情を判定する感情決定部と、ユーザと電子機器を対話させる対話機能を有する文章生成モデルに基づき、前記ユーザ状態と、ユーザの感情又は電子機器の感情とに対応する前記電子機器の行動を決定する行動決定部と、を含む。前記行動決定部は、経過時間に応じて前記電子機器の空腹度を増加させ、ユーザによる所定の行動に基づいて電子機器の空腹度を減少させる。
【選択図】図2
An electronic device is caused to execute an appropriate action in response to a user's action.
[Solution] The behavior control system includes a user state recognition unit that recognizes a user state including a user's behavior, an emotion determination unit that determines an emotion of the user or an emotion of an electronic device, and a behavior determination unit that determines an action of the electronic device corresponding to the user state and the emotion of the user or the emotion of the electronic device based on a sentence generation model having a dialogue function for allowing the user and the electronic device to dialogue. The behavior determination unit increases the hunger level of the electronic device according to elapsed time, and decreases the hunger level of the electronic device based on a predetermined behavior by the user.
[Selected figure] Figure 2
Description
本発明は、行動制御システムに関する。 The present invention relates to a behavior control system.
特許文献1には、ユーザの状態に対してロボットの適切な行動を決定する技術が開示されている。特許文献1の従来技術は、ロボットが特定の行動を実行したときのユーザの反応を認識し、認識したユーザの反応に対するロボットの行動を決定できなかった場合、認識したユーザの状態に適した行動に関する情報をサーバから受信することで、ロボットの行動を更新する。 Patent Document 1 discloses a technology for determining an appropriate robot behavior in response to a user's state. The conventional technology in Patent Document 1 recognizes the user's reaction when the robot performs a specific action, and if the robot is unable to determine an action to be taken in response to the recognized user reaction, it updates the robot's behavior by receiving information about an action appropriate to the recognized user's state from a server.
しかしながら従来技術では、ユーザの行動に対して適切な行動を電子機器に実行させる上で改善の余地がある。 However, conventional technology leaves room for improvement in enabling electronic devices to perform appropriate actions in response to user actions.
本発明の第1の態様によれば、行動制御システムが提供される。当該行動制御システムは、ユーザの行動を含むユーザ状態を認識するユーザ状態認識部と、ユーザの感情又は電子機器の感情を判定する感情決定部と、ユーザと電子機器を対話させる対話機能を有する文章生成モデルに基づき、前記ユーザ状態と、ユーザの感情又は電子機器の感情とに対応する前記電子機器の行動を決定する行動決定部と、を含み、前記行動決定部は、経過時間に応じて前記電子機器の空腹度を増加させ、ユーザによる所定の行動に基づいて電子機器の空腹度を減少させる。
本発明の第2の態様に係る行動制御システムは、第1の態様において、前記電子機器は、ロボットである。ここで、ロボットとは、物理的な動作を行う装置、物理的な動作を行わずに映像や音声を出力する装置、及びソフトウェア上で動作するエージェントを含む。
According to a first aspect of the present invention, there is provided a behavior control system including a user state recognition unit that recognizes a user state including a user's behavior, an emotion determination unit that determines an emotion of the user or an emotion of an electronic device, and a behavior determination unit that determines an action of the electronic device corresponding to the user state and the emotion of the user or the emotion of the electronic device based on a sentence generation model having a dialogue function for allowing the user and the electronic device to dialogue with each other, and the behavior determination unit increases a hunger level of the electronic device according to elapsed time and decreases the hunger level of the electronic device based on a predetermined behavior by the user.
A behavior control system according to a second aspect of the present invention is the behavior control system of the first aspect, wherein the electronic device is a robot. Here, the robot includes a device that performs a physical action, a device that outputs video and audio without performing a physical action, and an agent that operates on software.
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。 The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the invention according to the claims. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.
[第1実施形態]
図1は、本実施形態に係るシステム5の一例を概略的に示す。システム5は、ロボット100、ロボット101、ロボット102、及びサーバ300を備える。ユーザ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を説明する。
[First embodiment]
FIG. 1 is a schematic diagram of an example of a system 5 according to the present embodiment. The system 5 includes a robot 100, a robot 101, a robot 102, and a server 300. A user 10a, a user 10b, a user 10c, and a user 10d are users of the robot 100. A user 11a, a user 11b, and a user 11c are users of the robot 101. A user 12a and a user 12b are users of the robot 102. In the description of the present embodiment, the user 10a, the user 10b, the user 10c, and the user 10d may be collectively referred to as the user 10. The user 11a, the user 11b, and the user 11c may be collectively referred to as the user 11. The user 12a and the user 12b may be collectively referred to as the user 12. The robot 101 and the robot 102 have substantially the same functions as the robot 100. Therefore, the system 5 will be described by mainly focusing on the functions of the robot 100.
ロボット100は、ユーザ10と会話を行ったり、ユーザ10に映像を提供したりする。このとき、ロボット100は、通信網20を介して通信可能なサーバ300等と連携して、ユーザ10との会話や、ユーザ10への映像等の提供を行う。例えば、ロボット100は、自身で適切な会話を学習するだけでなく、サーバ300と連携して、ユーザ10とより適切に会話を進められるように学習を行う。また、ロボット100は、撮影したユーザ10の映像データ等をサーバ300に記録させ、必要に応じて映像データ等をサーバ300に要求して、ユーザ10に提供する。 The robot 100 converses with the user 10 and provides images to the user 10. At this time, the robot 100 cooperates with a server 300 or the like with which it can communicate via the communication network 20 to converse with the user 10 and provide images, etc. to the user 10. For example, the robot 100 not only learns appropriate conversation by itself, but also cooperates with the server 300 to learn how to have a more appropriate conversation with the user 10. The robot 100 also records captured image data of the user 10 in the server 300, and requests the image data, etc. from the server 300 as necessary to provide it to the user 10.
また、ロボット100は、自身の感情の種類を表す感情値を持つ。例えば、ロボット100は、「喜」、「怒」、「哀」、「楽」、「快」、「不快」、「安心」、「不安」、「悲しみ」、「興奮」、「心配」、「安堵」、「充実感」、「虚無感」及び「普通」のそれぞれの感情の強さを表す感情値を持つ。ロボット100は、例えば興奮の感情値が大きい状態でユーザ10と会話するときは、早いスピードで音声を発する。このように、ロボット100は、自己の感情を行動で表現することができる。 The robot 100 also has an emotion value that represents the type of its own emotion. For example, the robot 100 has emotion values that represent the strength of each of the emotions of "happiness," "anger," "sorrow," "pleasure," "discomfort," "relief," "anxiety," "sorrow," "excitement," "worry," "relief," "fulfillment," "emptiness," and "neutral." When the robot 100 converses with the user 10 when its excitement emotion value is high, for example, it speaks at a fast speed. In this way, the robot 100 can express its own emotions through its actions.
また、ロボット100は、AI(Artificial Intelligence)を用いた文章生成モデルと感情エンジンをマッチングさせることで、ユーザ10の感情に対応するロボット100の行動を決定するように構成してよい。具体的には、ロボット100は、ユーザ10の行動を認識して、当該ユーザの行動に対するユーザ10の感情を判定し、判定した感情に対応するロボット100の行動を決定するように構成してよい。 The robot 100 may be configured to determine the behavior of the robot 100 corresponding to the emotion of the user 10 by matching a sentence generation model using AI (Artificial Intelligence) with an emotion engine. Specifically, the robot 100 may be configured to recognize the behavior of the user 10, determine the emotion of the user 10 regarding the user's behavior, and determine the behavior of the robot 100 corresponding to the determined emotion.
より具体的には、ロボット100は、ユーザ10の行動を認識した場合、予め設定された文章生成モデルを用いて、当該ユーザ10の行動に対してロボット100がとるべき行動内容を自動で生成する。文章生成モデルは、文字による自動対話処理のためのアルゴリズム及び演算と解釈してよい。文章生成モデルは、例えば特開2018-081444号公報やChatGPT(インターネット検索<URL: https://openai.com/blog/chatgpt>)に開示される通り公知であるため、その詳細な説明を省略する。このような、文章生成モデルは、大規模言語モデル(LLM:Large Language Model)により構成されている。 More specifically, when the robot 100 recognizes the behavior of the user 10, the robot 100 automatically generates the behavioral content that the robot 100 should take in response to the behavior of the user 10, using a preset sentence generation model. The sentence generation model may be interpreted as an algorithm and calculation for automatic dialogue processing by text. The sentence generation model is publicly known as disclosed in, for example, JP 2018-081444 A and ChatGPT (Internet search <URL: https://openai.com/blog/chatgpt>), and therefore a detailed description thereof will be omitted. Such a sentence generation model is configured by a large language model (LLM: Large Language Model).
以上、本実施形態は、大規模言語モデルと感情エンジンとを組み合わせることにより、ユーザ10やロボット100の感情と、様々な言語情報とをロボット100の行動に反映させるということができる。つまり、本実施形態によれば、文章生成モデルと感情エンジンとを組み合わせることにより、相乗効果を得ることができる。 As described above, this embodiment combines a large-scale language model with an emotion engine, thereby making it possible to reflect the emotions of the user 10 and the robot 100, as well as various linguistic information, in the behavior of the robot 100. In other words, according to this embodiment, a synergistic effect can be obtained by combining a sentence generation model with an emotion engine.
また、ロボット100は、ユーザ10の行動を認識する機能を有する。ロボット100は、カメラ機能で取得したユーザ10の顔画像や、マイク機能で取得したユーザ10の音声を解析することによって、ユーザ10の行動を認識する。ロボット100は、認識したユーザ10の行動等に基づいて、ロボット100が実行する行動を決定する。 The robot 100 also has a function of recognizing the behavior of the user 10. The robot 100 recognizes the behavior of the user 10 by analyzing the facial image of the user 10 acquired by the camera function and the voice of the user 10 acquired by the microphone function. The robot 100 determines the behavior to be performed by the robot 100 based on the recognized behavior of the user 10, etc.
ロボット100は、行動決定モデルの一例として、ユーザ10の感情、ロボット100の感情、及びユーザ10の行動に基づいてロボット100が実行する行動を定めたルールを記憶しており、ルールに従って各種の行動を行う。 As an example of a behavioral decision model, the robot 100 stores rules that define the behaviors that the robot 100 will execute based on the emotions of the user 10, the emotions of the robot 100, and the behavior of the user 10, and performs various behaviors according to the rules.
具体的には、ロボット100には、ユーザ10の感情、ロボット100の感情、及びユーザ10の行動に基づいてロボット100の行動を決定するための反応ルールを、行動決定モデルの一例として有している。反応ルールには、例えば、ユーザ10の行動が「笑う」である場合に対して、「笑う」という行動が、ロボット100の行動として定められている。また、反応ルールには、ユーザ10の行動が「怒る」である場合に対して、「謝る」という行動が、ロボット100の行動として定められている。また、反応ルールには、ユーザ10の行動が「質問する」である場合に対して、「回答する」という行動が、ロボット100の行動として定められている。反応ルールには、ユーザ10の行動が「悲しむ」である場合に対して、「声をかける」という行動が、ロボット100の行動として定められている。 Specifically, the robot 100 has reaction rules for determining the behavior of the robot 100 based on the emotions of the user 10, the emotions of the robot 100, and the behavior of the user 10, as an example of a behavior decision model. For example, the reaction rules define the behavior of the robot 100 as "laughing" when the behavior of the user 10 is "laughing". The reaction rules also define the behavior of the robot 100 as "apologizing" when the behavior of the user 10 is "angry". The reaction rules also define the behavior of the robot 100 as "answering" when the behavior of the user 10 is "asking a question". The reaction rules also define the behavior of the robot 100 as "calling out" when the behavior of the user 10 is "sad".
ロボット100は、反応ルールに基づいて、ユーザ10の行動が「怒る」であると認識した場合、反応ルールで定められた「謝る」という行動を、ロボット100が実行する行動として選択する。例えば、ロボット100は、「謝る」という行動を選択した場合に、「謝る」動作を行うと共に、「謝る」言葉を表す音声を出力する。 When the robot 100 recognizes that the behavior of the user 10 is "angry" based on the reaction rules, the robot 100 selects the behavior of "apologizing" defined in the reaction rules as the behavior to be executed by the robot 100. For example, when the robot 100 selects the behavior of "apologizing", the robot 100 performs the motion of "apologizing" and outputs a voice expressing the words "apologize".
また、ロボット100の感情が「普通」(すなわち、「喜」=0、「怒」=0、「哀」=0、「楽」=0)であり、ユーザ10の状態が「1人、寂しそう」という条件が満たされた場合に、ロボット100の感情が「心配になる」という感情の変化内容と、「声をかける」の行動を実行できることが定められている。 In addition, when the emotion of the robot 100 is "normal" (i.e., "happy" = 0, "anger" = 0, "sad" = 0, "happy" = 0) and the condition that the state of the user 10 is "alone and looks lonely" is satisfied, it is defined that the emotion of the robot 100 will change to "worried" and that the robot 100 will be able to execute the action of "calling out."
ロボット100は、反応ルールに基づいて、ロボット100の現在の感情が「普通」であり、かつ、ユーザ10が1人で寂しそうな状態にあると認識した場合、ロボット100の「哀」の感情値を増大させる。また、ロボット100は、反応ルールで定められた「声をかける」という行動を、ユーザ10に対して実行する行動として選択する。例えば、ロボット100は、「声をかける」という行動を選択した場合に、心配していることを表す「どうしたの?」という言葉を、心配そうな音声に変換して出力する。 When the robot 100 recognizes based on the reaction rules that the current emotion of the robot 100 is "normal" and that the user 10 is alone and seems lonely, the robot 100 increases the emotion value of "sadness" of the robot 100. In addition, the robot 100 selects the action of "calling out" defined in the reaction rules as the action to be performed toward the user 10. For example, when the robot 100 selects the action of "calling out", it converts the words "What's wrong?", which express concern, into a worried voice and outputs it.
また、ロボット100は、この行動によって、ユーザ10からポジティブな反応が得られたことを示すユーザ反応情報を、サーバ300に送信する。ユーザ反応情報には、例えば、「怒る」というユーザ行動、「謝る」というロボット100の行動、ユーザ10の反応がポジティブであったこと、及びユーザ10の属性が含まれる。 The robot 100 also transmits to the server 300 user reaction information indicating that this action has elicited a positive reaction from the user 10. The user reaction information includes, for example, the user action of "getting angry," the robot 100 action of "apologizing," the fact that the user 10's reaction was positive, and the attributes of the user 10.
サーバ300は、ロボット100から受信したユーザ反応情報を記憶する。なお、サーバ300は、ロボット100だけでなく、ロボット101及びロボット102のそれぞれからもユーザ反応情報を受信して記憶する。そして、サーバ300は、ロボット100、ロボット101及びロボット102からのユーザ反応情報を解析して、反応ルールを更新する。 The server 300 stores the user reaction information received from the robot 100. The server 300 receives and stores user reaction information not only from the robot 100, but also from each of the robots 101 and 102. The server 300 then analyzes the user reaction information from the robots 100, 101, and 102, and updates the reaction rules.
ロボット100は、更新された反応ルールをサーバ300に問い合わせることにより、更新された反応ルールをサーバ300から受信する。ロボット100は、更新された反応ルールを、ロボット100が記憶している反応ルールに組み込む。これにより、ロボット100は、ロボット101やロボット102等が獲得した反応ルールを、自身の反応ルールに組み込むことができる。 The robot 100 receives the updated reaction rules from the server 300 by inquiring about the updated reaction rules from the server 300. The robot 100 incorporates the updated reaction rules into the reaction rules stored in the robot 100. This allows the robot 100 to incorporate the reaction rules acquired by the robot 101, the robot 102, etc. into its own reaction rules.
図2は、ロボット100の機能構成を概略的に示す。ロボット100は、センサ部200と、センサモジュール部210と、格納部220と、制御部228と、制御対象252と、を有する。制御部228は、状態認識部230と、感情決定部232と、行動認識部234と、行動決定部236と、記憶制御部238と、行動制御部250と、関連情報収集部270と、通信処理部280と、を有する。 Figure 2 shows a schematic functional configuration of the robot 100. The robot 100 has a sensor unit 200, a sensor module unit 210, a storage unit 220, a control unit 228, and a control target 252. The control unit 228 has a state recognition unit 230, an emotion determination unit 232, a behavior recognition unit 234, a behavior determination unit 236, a memory control unit 238, a behavior control unit 250, a related information collection unit 270, and a communication processing unit 280.
制御対象252は、表示装置、スピーカ及び目部のLED、並びに、腕、手及び足等を駆動するモータ等を含む。ロボット100の姿勢や仕草は、腕、手及び足等のモータを制御することにより制御される。ロボット100の感情の一部は、これらのモータを制御することにより表現できる。また、ロボット100の目部のLEDの発光状態を制御することによっても、ロボット100の表情を表現できる。なお、ロボット100の姿勢、仕草及び表情は、ロボット100の態度の一例である。 The controlled object 252 includes a display device, a speaker, LEDs in the eyes, and motors for driving the arms, hands, legs, etc. The posture and gestures of the robot 100 are controlled by controlling the motors of the arms, hands, legs, etc. Some of the emotions of the robot 100 can be expressed by controlling these motors. In addition, the facial expressions of the robot 100 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 100. The posture, gestures, and facial expressions of the robot 100 are examples of the attitude of the robot 100.
センサ部200は、マイク201と、3D深度センサ202と、2Dカメラ203と、距離センサ204と、タッチセンサ205と、加速度センサ206と、を含む。マイク201は、音声を連続的に検出して音声データを出力する。なお、マイク201は、ロボット100の頭部に設けられ、バイノーラル録音を行う機能を有してよい。3D深度センサ202は、赤外線パターンを連続的に照射して、赤外線カメラで連続的に撮影された赤外線画像から赤外線パターンを解析することによって、物体の輪郭を検出する。2Dカメラ203は、イメージセンサの一例である。2Dカメラ203は、可視光によって撮影して、可視光の映像情報を生成する。距離センサ204は、例えばレーザや超音波等を照射して物体までの距離を検出する。なお、センサ部200は、この他にも、時計、ジャイロセンサ、モータフィードバック用のセンサ等を含んでよい。 The sensor unit 200 includes a microphone 201, a 3D depth sensor 202, a 2D camera 203, a distance sensor 204, a touch sensor 205, and an acceleration sensor 206. The microphone 201 continuously detects sound and outputs sound data. The microphone 201 may be provided on the head of the robot 100 and may have a function of performing binaural recording. The 3D depth sensor 202 detects the contour of an object by continuously irradiating an infrared pattern and analyzing the infrared pattern from infrared images continuously captured by the infrared camera. The 2D camera 203 is an example of an image sensor. The 2D camera 203 captures images using visible light and generates visible light video information. The distance sensor 204 detects the distance to an object by irradiating, for example, a laser or ultrasonic waves. The sensor unit 200 may also include a clock, a gyro sensor, a sensor for motor feedback, and the like.
なお、図2に示すロボット100の構成要素のうち、制御対象252及びセンサ部200を除く構成要素は、ロボット100が有する行動制御システムが有する構成要素の一例である。ロボット100の行動制御システムは、制御対象252を制御の対象とする。 Note that, among the components of the robot 100 shown in FIG. 2, the components other than the control target 252 and the sensor unit 200 are examples of components of the behavior control system of the robot 100. The behavior control system of the robot 100 controls the control target 252.
格納部220は、行動決定モデル221、履歴データ222、収集データ223、及び行動予定データ224を含む。履歴データ222は、ユーザ10の過去の感情値、ロボット100の過去の感情値、及び行動の履歴を含み、具体的には、ユーザ10の感情値、ロボット100の感情値、及びユーザ10の行動を含むイベントデータを複数含む。ユーザ10の行動を含むデータは、ユーザ10の行動を表すカメラ画像を含む。この感情値及び行動の履歴は、例えば、ユーザ10の識別情報に対応付けられることによって、ユーザ10毎に記録される。格納部220の少なくとも一部は、メモリ等の記憶媒体によって実装される。ユーザ10の顔画像、ユーザ10の属性情報等を格納する人物DBを含んでもよい。なお、図2に示すロボット100の構成要素のうち、制御対象252、センサ部200及び格納部220を除く構成要素の機能は、CPUがプログラムに基づいて動作することによって実現できる。例えば、基本ソフトウェア(OS)及びOS上で動作するプログラムによって、これらの構成要素の機能をCPUの動作として実装できる。 The storage unit 220 includes a behavior decision model 221, history data 222, collected data 223, and behavior schedule data 224. The history data 222 includes the past emotional values of the user 10, the past emotional values of the robot 100, and the history of behavior, and specifically includes a plurality of event data including the emotional values of the user 10, the emotional values of the robot 100, and the behavior of the user 10. The data including the behavior of the user 10 includes a camera image representing the behavior of the user 10. The emotional values and the history of the behavior are recorded for each user 10, for example, by being associated with the identification information of the user 10. At least a part of the storage unit 220 is implemented by a storage medium such as a memory. It may include a person DB that stores the face image of the user 10, the attribute information of the user 10, and the like. Note that the functions of the components of the robot 100 shown in FIG. 2, except for the control target 252, the sensor unit 200, and the storage unit 220, can be realized by the CPU operating based on a program. For example, the functions of these components can be implemented as CPU operations using operating system (OS) and programs that run on the OS.
センサモジュール部210は、音声感情認識部211と、発話理解部212と、表情認識部213と、顔認識部214とを含む。センサモジュール部210には、センサ部200で検出された情報が入力される。センサモジュール部210は、センサ部200で検出された情報を解析して、解析結果を状態認識部230に出力する。 The sensor module unit 210 includes a voice emotion recognition unit 211, a speech understanding unit 212, a facial expression recognition unit 213, and a face recognition unit 214. Information detected by the sensor unit 200 is input to the sensor module unit 210. The sensor module unit 210 analyzes the information detected by the sensor unit 200 and outputs the analysis result to the state recognition unit 230.
センサモジュール部210の音声感情認識部211は、マイク201で検出されたユーザ10の音声を解析して、ユーザ10の感情を認識する。例えば、音声感情認識部211は、音声の周波数成分等の特徴量を抽出して、抽出した特徴量に基づいて、ユーザ10の感情を認識する。発話理解部212は、マイク201で検出されたユーザ10の音声を解析して、ユーザ10の発話内容を表す文字情報を出力する。 The voice emotion recognition unit 211 of the sensor module unit 210 analyzes the voice of the user 10 detected by the microphone 201 to recognize the emotion of the user 10. For example, the voice emotion recognition unit 211 extracts features such as frequency components of the voice, and recognizes the emotion of the user 10 based on the extracted features. The speech understanding unit 212 analyzes the voice of the user 10 detected by the microphone 201, and outputs text information representing the content of the user 10's utterance.
表情認識部213は、2Dカメラ203で撮影されたユーザ10の画像から、ユーザ10の表情及びユーザ10の感情を認識する。例えば、表情認識部213は、目及び口の形状、位置関係等に基づいて、ユーザ10の表情及び感情を認識する。 The facial expression recognition unit 213 recognizes the facial expression and emotions of the user 10 from the image of the user 10 captured by the 2D camera 203. For example, the facial expression recognition unit 213 recognizes the facial expression and emotions of the user 10 based on the shape, positional relationship, etc. of the eyes and mouth.
顔認識部214は、ユーザ10の顔を認識する。顔認識部214は、人物DB(図示省略)に格納されている顔画像と、2Dカメラ203によって撮影されたユーザ10の顔画像とをマッチングすることによって、ユーザ10を認識する。 The face recognition unit 214 recognizes the face of the user 10. The face recognition unit 214 recognizes the user 10 by matching a face image stored in a person DB (not shown) with a face image of the user 10 captured by the 2D camera 203.
状態認識部230は、センサモジュール部210で解析された情報に基づいて、ユーザ10の状態を認識する。例えば、センサモジュール部210の解析結果を用いて、主として知覚に関する処理を行う。例えば、「パパが1人です。」、「パパが笑顔でない確率90%です。」等の知覚情報を生成する。生成された知覚情報の意味を理解する処理を行う。例えば、「パパが1人、寂しそうです。」等の意味情報を生成する。 The state recognition unit 230 recognizes the state of the user 10 based on the information analyzed by the sensor module unit 210. For example, it mainly performs processing related to perception using the analysis results of the sensor module unit 210. For example, it generates perceptual information such as "Daddy is alone" or "There is a 90% chance that Daddy is not smiling." It then performs processing to understand the meaning of the generated perceptual information. For example, it generates semantic information such as "Daddy is alone and looks lonely."
状態認識部230は、センサ部200で検出された情報に基づいて、ロボット100の状態を認識する。例えば、状態認識部230は、ロボット100の状態として、ロボット100のバッテリー残量やロボット100の周辺環境の明るさ等を認識する。 The state recognition unit 230 recognizes the state of the robot 100 based on the information detected by the sensor unit 200. For example, the state recognition unit 230 recognizes the remaining battery charge of the robot 100 and the brightness of the surrounding environment of the robot 100 as the state of the robot 100.
感情決定部232は、センサモジュール部210で解析された情報、及び状態認識部230によって認識されたユーザ10の状態に基づいて、ユーザ10の感情を示す感情値を決定する。例えば、センサモジュール部210で解析された情報、及び認識されたユーザ10の状態を、予め学習されたニューラルネットワークに入力し、ユーザ10の感情を示す感情値を取得する。 The emotion determination unit 232 determines an emotion value indicating the emotion of the user 10 based on the information analyzed by the sensor module unit 210 and the state of the user 10 recognized by the state recognition unit 230. For example, the information analyzed by the sensor module unit 210 and the recognized state of the user 10 are input to a pre-trained neural network to obtain an emotion value indicating the emotion of the user 10.
ここで、ユーザ10の感情を示す感情値とは、ユーザの感情の正負を示す値であり、例えば、ユーザの感情が、「喜」、「楽」、「快」、「安心」、「興奮」、「安堵」、及び「充実感」のように、快感や安らぎを伴う明るい感情であれば、正の値を示し、明るい感情であるほど、大きい値となる。ユーザの感情が、「怒」、「哀」、「不快」、「不安」、「悲しみ」、「心配」、及び「虚無感」のように、嫌な気持ちになってしまう感情であれば、負の値を示し、嫌な気持ちであるほど、負の値の絶対値が大きくなる。ユーザの感情が、上記の何れでもない場合(「普通」)、0の値を示す。 Here, the emotion value indicating the emotion of user 10 is a value indicating the positive or negative emotion of the user. For example, if the user's emotion is a cheerful emotion accompanied by a sense of pleasure or comfort, such as "joy," "pleasure," "comfort," "relief," "excitement," "relief," and "fulfillment," the value is positive, and the more cheerful the emotion, the larger the value. If the user's emotion is an unpleasant emotion, such as "anger," "sorrow," "discomfort," "anxiety," "sorrow," "worry," and "emptiness," the value is negative, and the more unpleasant the emotion, the larger the absolute value of the negative value. If the user's emotion is none of the above ("normal"), the value is 0.
また、感情決定部232は、センサモジュール部210で解析された情報、センサ部200で検出された情報、及び状態認識部230によって認識されたユーザ10の状態に基づいて、ロボット100の感情を示す感情値を決定する。 In addition, the emotion determination unit 232 determines an emotion value indicating the emotion of the robot 100 based on the information analyzed by the sensor module unit 210, the information detected by the sensor unit 200, and the state of the user 10 recognized by the state recognition unit 230.
ロボット100の感情値は、複数の感情分類の各々に対する感情値を含み、例えば、「喜」、「怒」、「哀」、「楽」それぞれの強さを示す値(0~5)である。 The emotion value of the robot 100 includes emotion values for each of a number of emotion categories, and is, for example, a value (0 to 5) indicating the strength of each of the emotions "joy," "anger," "sorrow," and "happiness."
具体的には、感情決定部232は、センサモジュール部210で解析された情報、及び状態認識部230によって認識されたユーザ10の状態に対応付けて定められた、ロボット100の感情値を更新するルールに従って、ロボット100の感情を示す感情値を決定する。 Specifically, the emotion determination unit 232 determines an emotion value indicating the emotion of the robot 100 according to rules for updating the emotion value of the robot 100 that are determined in association with the information analyzed by the sensor module unit 210 and the state of the user 10 recognized by the state recognition unit 230.
例えば、感情決定部232は、状態認識部230によってユーザ10が寂しそうと認識された場合、ロボット100の「哀」の感情値を増大させる。また、状態認識部230によってユーザ10が笑顔になったと認識された場合、ロボット100の「喜」の感情値を増大させる。 For example, if the state recognition unit 230 recognizes that the user 10 looks lonely, the emotion determination unit 232 increases the "sad" emotion value of the robot 100. Also, if the state recognition unit 230 recognizes that the user 10 is smiling, the emotion determination unit 232 increases the "happy" emotion value of the robot 100.
なお、感情決定部232は、ロボット100の状態を更に考慮して、ロボット100の感情を示す感情値を決定してもよい。例えば、ロボット100のバッテリー残量が少ない場合やロボット100の周辺環境が真っ暗な場合等に、ロボット100の「哀」の感情値を増大させてもよい。更にバッテリー残量が少ないにも関わらず継続して話しかけてくるユーザ10の場合は、「怒」の感情値を増大させても良い。 The emotion determination unit 232 may determine the emotion value indicating the emotion of the robot 100 by further considering the state of the robot 100. For example, when the battery level of the robot 100 is low or when the surrounding environment of the robot 100 is completely dark, the emotion value of "sadness" of the robot 100 may be increased. Furthermore, when the user 10 continues to talk to the robot 100 despite the battery level being low, the emotion value of "anger" may be increased.
行動認識部234は、センサモジュール部210で解析された情報、及び状態認識部230によって認識されたユーザ10の状態に基づいて、ユーザ10の行動を認識する。例えば、センサモジュール部210で解析された情報、及び認識されたユーザ10の状態を、予め学習されたニューラルネットワークに入力し、予め定められた複数の行動分類(例えば、「笑う」、「怒る」、「質問する」、「悲しむ」)の各々の確率を取得し、最も確率の高い行動分類を、ユーザ10の行動として認識する。 The behavior recognition unit 234 recognizes the behavior of the user 10 based on the information analyzed by the sensor module unit 210 and the state of the user 10 recognized by the state recognition unit 230. For example, the information analyzed by the sensor module unit 210 and the recognized state of the user 10 are input to a pre-trained neural network, the probability of each of a number of predetermined behavioral categories (e.g., "laughing," "anger," "asking a question," "sad") is obtained, and the behavioral category with the highest probability is recognized as the behavior of the user 10.
以上のように、本実施形態では、ロボット100は、ユーザ10を特定したうえでユーザ10の発話内容を取得するが、当該発話内容の取得と利用等に際してはユーザ10から法令に従った必要な同意を取得するほか、本実施形態に係るロボット100の行動制御システムは、ユーザ10の個人情報及びプライバシーの保護に配慮する。 As described above, in this embodiment, the robot 100 identifies the user 10 and acquires the contents of the user's utterance. When acquiring and using the contents of the utterance, the robot 100 obtains the necessary consent in accordance with laws and regulations from the user 10, and the behavior control system of the robot 100 according to this embodiment takes into consideration the protection of the personal information and privacy of the user 10.
次に、ユーザ10の行動に対してロボット100が応答する応答処理を行う際の、行動決定部236の処理ついて説明する。 Next, we will explain the processing of the behavior decision unit 236 when performing response processing in which the robot 100 responds to the behavior of the user 10.
行動決定部236は、感情決定部232により決定されたユーザ10の現在の感情値と、ユーザ10の現在の感情値が決定されるよりも前に感情決定部232により決定された過去の感情値の履歴データ222と、ロボット100の感情値とに基づいて、行動認識部234によって認識されたユーザ10の行動に対応する行動を決定する。本実施形態では、行動決定部236は、ユーザ10の過去の感情値として、履歴データ222に含まれる直近の1つの感情値を用いる場合について説明するが、開示の技術はこの態様に限定されない。例えば、行動決定部236は、ユーザ10の過去の感情値として、直近の複数の感情値を用いてもよいし、一日前などの単位期間の分だけ前の感情値を用いてもよい。また、行動決定部236は、ロボット100の現在の感情値だけでなく、ロボット100の過去の感情値の履歴を更に考慮して、ユーザ10の行動に対応する行動を決定してもよい。行動決定部236が決定する行動は、ロボット100が行うジェスチャー又はロボット100の発話内容を含む。 The behavior determination unit 236 determines an action corresponding to the behavior of the user 10 recognized by the behavior recognition unit 234 based on the current emotion value of the user 10 determined by the emotion determination unit 232, the history data 222 of past emotion values determined by the emotion determination unit 232 before the current emotion value of the user 10 was determined, and the emotion value of the robot 100. In this embodiment, the behavior determination unit 236 uses one most recent emotion value included in the history data 222 as the past emotion value of the user 10, but the disclosed technology is not limited to this aspect. For example, the behavior determination unit 236 may use the most recent multiple emotion values as the past emotion value of the user 10, or may use an emotion value from a unit period ago, such as one day ago. In addition, the behavior determination unit 236 may determine an action corresponding to the behavior of the user 10 by further considering not only the current emotion value of the robot 100 but also the history of the past emotion values of the robot 100. The behavior determined by the behavior determination unit 236 includes gestures performed by the robot 100 or the contents of speech uttered by the robot 100.
本実施形態に係る行動決定部236は、ユーザ10の行動に対応する行動として、ユーザ10の過去の感情値と現在の感情値の組み合わせと、ロボット100の感情値と、ユーザ10の行動と、行動決定モデル221とに基づいて、ロボット100の行動を決定する。例えば、行動決定部236は、ユーザ10の過去の感情値が正の値であり、かつ現在の感情値が負の値である場合、ユーザ10の行動に対応する行動として、ユーザ10の感情値を正に変化させるための行動を決定する。 The behavior decision unit 236 according to this embodiment decides the behavior of the robot 100 as the behavior corresponding to the behavior of the user 10, based on a combination of the past and current emotion values of the user 10, the emotion value of the robot 100, the behavior of the user 10, and the behavior decision model 221. For example, when the past emotion value of the user 10 is a positive value and the current emotion value is a negative value, the behavior decision unit 236 decides the behavior corresponding to the behavior of the user 10 as the behavior for changing the emotion value of the user 10 to a positive value.
行動決定モデル221としての反応ルールには、ユーザ10の過去の感情値と現在の感情値の組み合わせと、ロボット100の感情値と、ユーザ10の行動とに応じたロボット100の行動が定められている。例えば、ユーザ10の過去の感情値が正の値であり、かつ現在の感情値が負の値であり、ユーザ10の行動が悲しむである場合、ロボット100の行動として、ジェスチャーを交えてユーザ10を励ます問いかけを行う際のジェスチャーと発話内容との組み合わせが定められている。 The reaction rules as the behavior decision model 221 define the behavior of the robot 100 according to a combination of the past and current emotional values of the user 10, the emotional value of the robot 100, and the behavior of the user 10. For example, when the past emotional value of the user 10 is a positive value and the current emotional value is a negative value, and the behavior of the user 10 is sad, a combination of gestures and speech content when asking a question to encourage the user 10 with gestures is defined as the behavior of the robot 100.
例えば、行動決定モデル221としての反応ルールには、ロボット100の感情値のパターン(「喜」、「怒」、「哀」、「楽」の値「0」~「5」の6値の4乗である1296パターン)、ユーザ10の過去の感情値と現在の感情値の組み合わせのパターン、ユーザ10の行動パターンの全組み合わせに対して、ロボット100の行動が定められる。すなわち、ロボット100の感情値のパターン毎に、ユーザ10の過去の感情値と現在の感情値の組み合わせが、負の値と負の値、負の値と正の値、正の値と負の値、正の値と正の値、負の値と普通、及び普通と普通等のように、複数の組み合わせのそれぞれに対して、ユーザ10の行動パターンに応じたロボット100の行動が定められる。なお、行動決定部236は、例えば、ユーザ10が「この前に話したあの話題について話したい」というような過去の話題から継続した会話を意図する発話を行った場合に、履歴データ222を用いてロボット100の行動を決定する動作モードに遷移してもよい。 For example, the reaction rule as the behavior decision model 221 defines the behavior of the robot 100 for all combinations of the patterns of the emotion values of the robot 100 (1296 patterns, which are the fourth power of six values of "joy", "anger", "sorrow", and "pleasure", from "0" to "5"); the combination patterns of the past emotion values and the current emotion values of the user 10; and the behavior patterns of the user 10. That is, for each pattern of the emotion values of the robot 100, the behavior of the robot 100 is defined according to the behavior patterns of the user 10 for each of a plurality of combinations of the past emotion values and the current emotion values of the user 10, such as negative values and negative values, negative values and positive values, positive values and negative values, positive values and positive values, negative values and normal values, and normal values and normal values. Note that the behavior decision unit 236 may transition to an operation mode that determines the behavior of the robot 100 using the history data 222, for example, when the user 10 makes an utterance intending to continue a conversation from a past topic, such as "I want to talk about that topic we talked about last time."
なお、行動決定モデル221としての反応ルールには、ロボット100の感情値のパターン(1296パターン)の各々に対して、最大で一つずつ、ロボット100の行動としてジェスチャー及び発言内容の少なくとも一方が定められていてもよい。あるいは、行動決定モデル221としての反応ルールには、ロボット100の感情値のパターンのグループの各々に対して、ロボット100の行動としてジェスチャー及び発言内容の少なくとも一方が定められていてもよい。 The reaction rules as the behavior decision model 221 may define at least one of a gesture and a statement as the behavior of the robot 100, up to one for each of the patterns (1296 patterns) of the emotion value of the robot 100. Alternatively, the reaction rules as the behavior decision model 221 may define at least one of a gesture and a statement as the behavior of the robot 100, for each group of patterns of the emotion value of the robot 100.
行動決定モデル221としての反応ルールに定められているロボット100の行動に含まれる各ジェスチャーには、当該ジェスチャーの強度が予め定められている。行動決定モデル221としての反応ルールに定められているロボット100の行動に含まれる各発話内容には、当該発話内容の強度が予め定められている。 The strength of each gesture included in the behavior of the robot 100 defined in the reaction rules as the behavior decision model 221 is predetermined. The strength of each utterance content included in the behavior of the robot 100 defined in the reaction rules as the behavior decision model 221 is predetermined.
記憶制御部238は、行動決定部236によって決定された行動に対して予め定められた行動の強度と、感情決定部232により決定されたロボット100の感情値とに基づいて、ユーザ10の行動を含むデータを履歴データ222に記憶するか否かを決定する。 The memory control unit 238 determines whether or not to store data including the behavior of the user 10 in the history data 222 based on the predetermined behavior strength for the behavior determined by the behavior determination unit 236 and the emotion value of the robot 100 determined by the emotion determination unit 232.
具体的には、ロボット100の複数の感情分類の各々に対する感情値の総和と、行動決定部236によって決定された行動が含むジェスチャーに対して予め定められた強度と、行動決定部236によって決定された行動が含む発話内容に対して予め定められた強度との和である強度の総合値が、閾値以上である場合、ユーザ10の行動を含むデータを履歴データ222に記憶すると決定する。 Specifically, if the total intensity value, which is the sum of the emotion values for each of the multiple emotion classifications of the robot 100, the predetermined intensity for the gesture included in the behavior determined by the behavior determination unit 236, and the predetermined intensity for the speech content included in the behavior determined by the behavior determination unit 236, is equal to or greater than a threshold value, it is determined that data including the behavior of the user 10 is to be stored in the history data 222.
記憶制御部238は、ユーザ10の行動を含むデータを履歴データ222に記憶すると決定した場合、行動決定部236によって決定された行動と、現時点から一定期間前までの、センサモジュール部210で解析された情報(例えば、その場の音声、画像、匂い等のデータなどのあらゆる周辺情報)、及び状態認識部230によって認識されたユーザ10の状態(例えば、ユーザ10の表情、感情など)を、履歴データ222に記憶する。 When the memory control unit 238 decides to store data including the behavior of the user 10 in the history data 222, it stores in the history data 222 the behavior determined by the behavior determination unit 236, information analyzed by the sensor module unit 210 from the present time up to a certain period of time ago (e.g., all peripheral information such as data on the sound, images, smells, etc. of the scene), and the state of the user 10 recognized by the state recognition unit 230 (e.g., the facial expression, emotions, etc. of the user 10).
行動制御部250は、行動決定部236が決定した行動に基づいて、制御対象252を制御する。例えば、行動制御部250は、行動決定部236が発話することを含む行動を決定した場合に、制御対象252に含まれるスピーカから音声を出力させる。このとき、行動制御部250は、ロボット100の感情値に基づいて、音声の発声速度を決定してもよい。例えば、行動制御部250は、ロボット100の感情値が大きいほど、速い発声速度を決定する。このように、行動制御部250は、感情決定部232が決定した感情値に基づいて、行動決定部236が決定した行動の実行形態を決定する。 The behavior control unit 250 controls the control target 252 based on the behavior determined by the behavior determination unit 236. For example, when the behavior determination unit 236 determines an behavior including speaking, the behavior control unit 250 outputs a sound from a speaker included in the control target 252. At this time, the behavior control unit 250 may determine the speaking speed of the sound based on the emotion value of the robot 100. For example, the behavior control unit 250 determines a faster speaking speed as the emotion value of the robot 100 increases. In this way, the behavior control unit 250 determines the execution form of the behavior determined by the behavior determination unit 236 based on the emotion value determined by the emotion determination unit 232.
行動制御部250は、行動決定部236が決定した行動を実行したことに対するユーザ10の感情の変化を認識してもよい。例えば、ユーザ10の音声や表情に基づいて感情の変化を認識してよい。その他、センサ部200に含まれるタッチセンサ205で衝撃が検出されたことに基づいて、ユーザ10の感情の変化を認識してよい。センサ部200に含まれるタッチセンサ205で衝撃が検出された場合に、ユーザ10の感情が悪くなったと認識したり、センサ部200に含まれるタッチセンサ205の検出結果から、ユーザ10の反応が笑っている、あるいは、喜んでいる等と判断される場合には、ユーザ10の感情が良くなったと認識したりしてもよい。ユーザ10の反応を示す情報は、通信処理部280に出力される。 The behavior control unit 250 may recognize a change in the user 10's emotions in response to the execution of the behavior determined by the behavior determination unit 236. For example, the change in emotions may be recognized based on the voice or facial expression of the user 10. Alternatively, the change in emotions may be recognized based on the detection of an impact by the touch sensor 205 included in the sensor unit 200. If an impact is detected by the touch sensor 205 included in the sensor unit 200, the user 10's emotions may be recognized as having worsened, and if the detection result of the touch sensor 205 included in the sensor unit 200 indicates that the user 10 is smiling or happy, the user 10's emotions may be recognized as having improved. Information indicating the user 10's reaction is output to the communication processing unit 280.
また、行動制御部250は、行動決定部236が決定した行動をロボット100の感情に応じて決定した実行形態で実行した後、感情決定部232は、当該行動が実行されたことに対するユーザの反応に基づいて、ロボット100の感情値を更に変化させる。具体的には、感情決定部232は、行動決定部236が決定した行動を行動制御部250が決定した実行形態でユーザに対して行ったことに対するユーザの反応が不良でなかった場合に、ロボット100の「喜」の感情値を増大させる。また、感情決定部232は、行動決定部236が決定した行動を行動制御部250が決定した実行形態でユーザに対して行ったことに対するユーザの反応が不良であった場合に、ロボット100の「哀」の感情値を増大させる。 In addition, after the behavior control unit 250 executes the behavior determined by the behavior determination unit 236 in the execution form determined according to the emotion of the robot 100, the emotion determination unit 232 further changes the emotion value of the robot 100 based on the user's reaction to the execution of the behavior. Specifically, the emotion determination unit 232 increases the emotion value of "happiness" of the robot 100 when the user's reaction to the behavior determined by the behavior determination unit 236 being performed on the user in the execution form determined by the behavior control unit 250 is not bad. In addition, the emotion determination unit 232 increases the emotion value of "sadness" of the robot 100 when the user's reaction to the behavior determined by the behavior determination unit 236 being performed on the user in the execution form determined by the behavior control unit 250 is bad.
更に、行動制御部250は、決定したロボット100の感情値に基づいて、ロボット100の感情を表現する。例えば、行動制御部250は、ロボット100の「喜」の感情値を増加させた場合、制御対象252を制御して、ロボット100に喜んだ仕草を行わせる。また、行動制御部250は、ロボット100の「哀」の感情値を増加させた場合、ロボット100の姿勢がうなだれた姿勢になるように、制御対象252を制御する。 Furthermore, the behavior control unit 250 expresses the emotion of the robot 100 based on the determined emotion value of the robot 100. For example, when the behavior control unit 250 increases the emotion value of "happiness" of the robot 100, it controls the control object 252 to make the robot 100 perform a happy gesture. When the behavior control unit 250 increases the emotion value of "sadness" of the robot 100, it controls the control object 252 to make the robot 100 assume a droopy posture.
通信処理部280は、サーバ300との通信を担う。上述したように、通信処理部280は、ユーザ反応情報をサーバ300に送信する。また、通信処理部280は、更新された反応ルールをサーバ300から受信する。通信処理部280がサーバ300から、更新された反応ルールを受信すると、行動決定モデル221としての反応ルールを更新する。 The communication processing unit 280 is responsible for communication with the server 300. As described above, the communication processing unit 280 transmits user reaction information to the server 300. In addition, the communication processing unit 280 receives updated reaction rules from the server 300. When the communication processing unit 280 receives updated reaction rules from the server 300, it updates the reaction rules as the behavioral decision model 221.
サーバ300は、ロボット100、ロボット101及びロボット102とサーバ300との間の通信を行い、ロボット100から送信されたユーザ反応情報を受信し、ポジティブな反応が得られた行動を含む反応ルールに基づいて、反応ルールを更新する。 The server 300 communicates between the robots 100, 101, and 102 and the server 300, receives user reaction information sent from the robot 100, and updates the reaction rules based on reaction rules that include actions that have received positive reactions.
関連情報収集部270は、所定のタイミングで、ユーザ10について取得した好み情報に基づいて、外部データ(ニュースサイト、動画サイトなどのWebサイト)から、好み情報に関連する情報を収集する。 The related information collection unit 270 collects information related to the preference information acquired about the user 10 at a predetermined timing from external data (websites such as news sites and video sites) based on the preference information acquired about the user 10.
具体的には、関連情報収集部270は、ユーザ10の発話内容、又はユーザ10による設定操作から、ユーザ10の関心がある事柄を表す好み情報を取得しておく。関連情報収集部270は、一定期間毎に、好み情報に関連するニュースを、例えばChatGPT Plugins(インターネット検索<URL: https://openai.com/blog/chatgpt-plugins>)を用いて、外部データから収集する。例えば、ユーザ10が特定のプロ野球チームのファンであることが好み情報として取得されている場合、関連情報収集部270は、毎日、所定時刻に、特定のプロ野球チームの試合結果に関連するニュースを、例えばChatGPT Pluginsを用いて、外部データから収集する。 Specifically, the related information collection unit 270 acquires preference information indicating matters of interest to the user 10 from the contents of the speech of the user 10 or from a setting operation by the user 10. The related information collection unit 270 periodically collects news related to the preference information from external data, for example, using ChatGPT Plugins (Internet search <URL: https://openai.com/blog/chatgpt-plugins>). For example, if it is acquired as preference information that the user 10 is a fan of a specific professional baseball team, the related information collection unit 270 collects news related to the game results of the specific professional baseball team from external data at a predetermined time every day, for example, using ChatGPT Plugins.
感情決定部232は、関連情報収集部270によって収集した好み情報に関連する情報に基づいて、ロボット100の感情を決定する。 The emotion determination unit 232 determines the emotion of the robot 100 based on information related to the preference information collected by the related information collection unit 270.
具体的には、感情決定部232は、関連情報収集部270によって収集した好み情報に関連する情報を表すテキストを、感情を判定するための予め学習されたニューラルネットワークに入力し、各感情を示す感情値を取得し、ロボット100の感情を決定する。例えば、収集した特定のプロ野球チームの試合結果に関連するニュースが、特定のプロ野球チームが勝ったことを示している場合、ロボット100の「喜」の感情値が大きくなるように決定する。 Specifically, the emotion determination unit 232 inputs text representing information related to the preference information collected by the related information collection unit 270 into a pre-trained neural network for determining emotions, obtains emotion values indicating each emotion, and determines the emotion of the robot 100. For example, if the collected news related to the game results of a specific professional baseball team indicates that the specific professional baseball team won, the emotion determination unit 232 determines that the emotion value of "joy" for the robot 100 is large.
記憶制御部238は、ロボット100の感情値が閾値以上である場合に、関連情報収集部270によって収集した好み情報に関連する情報を、収集データ223に格納する。 When the emotion value of the robot 100 is equal to or greater than the threshold value, the memory control unit 238 stores information related to the preference information collected by the related information collection unit 270 in the collected data 223.
次に、ロボット100が自律的に行動する自律的処理を行う際の、行動決定部236の処理について説明する。 Next, we will explain the processing of the behavior decision unit 236 when the robot 100 performs autonomous processing to act autonomously.
行動決定部236は、所定のタイミングで、ユーザ10の状態、ユーザ10の感情、ロボット100の感情、及びロボット100の状態の少なくとも一つと、行動決定モデル221とを用いて、行動しないことを含む複数種類のロボット行動の何れかを、ロボット100の行動として決定する。ここでは、行動決定モデル221として、対話機能を有する文章生成モデルを用いる場合を例に説明する。 The behavior decision unit 236 uses at least one of the state of the user 10, the emotion of the user 10, the emotion of the robot 100, and the state of the robot 100, and the behavior decision model 221 at a predetermined timing to decide one of a plurality of types of robot behaviors, including no behavior, as the behavior of the robot 100. Here, an example will be described in which a sentence generation model with a dialogue function is used as the behavior decision model 221.
具体的には、行動決定部236は、ユーザ10の状態、ユーザ10の感情、ロボット100の感情、及びロボット100の状態の少なくとも一つを表すテキストと、ロボット行動を質問するテキストとを文章生成モデルに入力し、文章生成モデルの出力に基づいて、ロボット100の行動を決定する。 Specifically, the behavior decision unit 236 inputs text representing at least one of the state of the user 10, the emotion of the user 10, the emotion of the robot 100, and the state of the robot 100, and text asking about the robot's behavior, into a sentence generation model, and decides the behavior of the robot 100 based on the output of the sentence generation model.
例えば、複数種類のロボット行動は、以下の(1)~(10)を含む。 For example, the multiple types of robot behaviors include (1) to (10) below.
(1)ロボットは、何もしない。
(2)ロボットは、夢をみる。
(3)ロボットは、ユーザに話しかける。
(4)ロボットは、絵日記を作成する。
(5)ロボットは、アクティビティを提案する。
(6)ロボットは、ユーザが会うべき相手を提案する。
(7)ロボットは、ユーザが興味あるニュースを紹介する。
(8)ロボットは、写真や動画を編集する。
(9)ロボットは、ユーザと一緒に勉強する。
(10)ロボットは、記憶を呼び起こす。
(1) The robot does nothing.
(2) Robots dream.
(3) The robot speaks to the user.
(4) The robot creates a picture diary.
(5) The robot suggests an activity.
(6) The robot suggests people for the user to meet.
(7) The robot introduces news that may be of interest to the user.
(8) The robot edits photos and videos.
(9) The robot studies together with the user.
(10) Robots evoke memories.
行動決定部236は、一定時間の経過毎に、状態認識部230によって認識されたユーザ10の状態及びロボット100の状態、感情決定部232により決定されたユーザ10の現在の感情値と、ロボット100の現在の感情値とを表すテキストと、行動しないことを含む複数種類のロボット行動の何れかを質問するテキストとを、文章生成モデルに入力し、文章生成モデルの出力に基づいて、ロボット100の行動を決定する。ここで、ロボット100の周辺にユーザ10がいない場合には、文章生成モデルに入力するテキストには、ユーザ10の状態と、ユーザ10の現在の感情値とを含めなくてもよいし、ユーザ10がいないことを表すことのみを含めてもよい。 The behavior decision unit 236 inputs the state of the user 10 and the state of the robot 100 recognized by the state recognition unit 230, text representing the current emotion value of the user 10 and the current emotion value of the robot 100 determined by the emotion decision unit 232, and text asking about one of multiple types of robot behaviors including not taking any action, into the sentence generation model every time a certain period of time has elapsed, and determines the behavior of the robot 100 based on the output of the sentence generation model. Here, if the user 10 is not present around the robot 100, the text input to the sentence generation model does not need to include the state of the user 10 and the current emotion value of the user 10, or may only include information indicating that the user 10 is not present.
一例として、「ロボットはとても楽しい状態です。ユーザは普通に楽しい状態です。ユーザは寝ています。ロボットの行動として、次の(1)~(10)のうち、どれがよいですか?
(1)ロボットは何もしない。
(2)ロボットは夢をみる。
(3)ロボットはユーザに話しかける。
・・・」というテキストを、文章生成モデルに入力する。文章生成モデルの出力「(1)何もしない、または(2)ロボットは夢を見る、のどちらかが、最も適切な行動であると言えます。」に基づいて、ロボット100の行動として、「(1)何もしない」または「(2)ロボットは夢を見る」を決定する。
As an example, "The robot is in a very happy state. The user is in a normal happy state. The user is sleeping. Which of the following (1) to (10) is the best behavior for the robot?"
(1) The robot does nothing.
(2) Robots dream.
(3) The robot talks to the user.
..." is input to the sentence generation model. Based on the output of the sentence generation model, "It can be said that either (1) doing nothing or (2) the robot dreams is the most appropriate behavior," the behavior of the robot 100 is determined to be "(1) doing nothing" or "(2) the robot dreams."
他の例として、「ロボットは少し寂しい状態です。ユーザは不在です。ロボットの周辺は暗いです。ロボットの行動として、次の(1)~(10)のうち、どれがよいですか?(1)ロボットは何もしない。
(2)ロボットは夢をみる。
(3)ロボットはユーザに話しかける。
・・・」というテキストを、文章生成モデルに入力する。文章生成モデルの出力「(2)ロボットは夢を見る、または(4)ロボットは、絵日記を作成する、のどちらかが、最も適切な行動であると言えます。」に基づいて、ロボット100の行動として、「(2)ロボットは夢を見る」または「(4)ロボットは、絵日記を作成する。」を決定する。
Another example is, "The robot is a little lonely. The user is not present. The robot's surroundings are dark. Which of the following (1) to (10) would be the best behavior for the robot? (1) The robot does nothing.
(2) Robots dream.
(3) The robot talks to the user.
. . " is input to the sentence generation model. Based on the output of the sentence generation model, "It can be said that either (2) the robot dreams or (4) the robot creates a picture diary is the most appropriate behavior," the behavior of the robot 100 is determined to be "(2) the robot dreams" or "(4) the robot creates a picture diary."
行動決定部236は、ロボット行動として、「(2)ロボットは夢をみる。」すなわち、オリジナルイベントを作成することを決定した場合には、文章生成モデルを用いて、履歴データ222のうちの複数のイベントデータを組み合わせたオリジナルイベントを作成する。このとき、記憶制御部238は、作成したオリジナルイベントを、履歴データ222に記憶させる When the behavior decision unit 236 decides to create an original event, i.e., "(2) The robot dreams," as the robot behavior, it uses the sentence generation model to create an original event that combines multiple event data from the history data 222. At this time, the storage control unit 238 stores the created original event in the history data 222.
行動決定部236は、ロボット行動として、「(3)ロボットはユーザに話しかける。」、すなわち、ロボット100が発話することを決定した場合には、文章生成モデルを用いて、ユーザ状態と、ユーザの感情又はロボットの感情とに対応するロボットの発話内容を決定する。このとき、行動制御部250は、決定したロボットの発話内容を表す音声を、制御対象252に含まれるスピーカから出力させる。なお、行動制御部250は、ロボット100の周辺にユーザ10が不在の場合には、決定したロボットの発話内容を表す音声を出力せずに、決定したロボットの発話内容を行動予定データ224に格納しておく。 When the behavior decision unit 236 decides that the robot 100 will speak, i.e., "(3) The robot speaks to the user," as the robot behavior, it uses a sentence generation model to decide the robot's utterance content corresponding to the user state and the user's emotion or the robot's emotion. At this time, the behavior control unit 250 causes a sound representing the determined robot's utterance content to be output from a speaker included in the control target 252. Note that, when the user 10 is not present around the robot 100, the behavior control unit 250 stores the determined robot's utterance content in the behavior schedule data 224 without outputting a sound representing the determined robot's utterance content.
行動決定部236は、ロボット行動として、「(7)ロボットは、ユーザが興味あるニュースを紹介する。」ことを決定した場合には、文章生成モデルを用いて、収集データ223に格納された情報に対応するロボットの発話内容を決定する。このとき、行動制御部250は、決定したロボットの発話内容を表す音声を、制御対象252に含まれるスピーカから出力させる。なお、行動制御部250は、ロボット100の周辺にユーザ10が不在の場合には、決定したロボットの発話内容を表す音声を出力せずに、決定したロボットの発話内容を行動予定データ224に格納しておく。 When the behavior decision unit 236 decides that the robot behavior is "(7) The robot introduces news that is of interest to the user," it uses a sentence generation model to decide the robot's utterance content corresponding to the information stored in the collected data 223. At this time, the behavior control unit 250 causes a sound representing the decided robot's utterance content to be output from a speaker included in the control target 252. Note that when the user 10 is not present around the robot 100, the behavior control unit 250 stores the decided robot's utterance content in the behavior schedule data 224 without outputting a sound representing the decided robot's utterance content.
行動決定部236は、ロボット行動として、「(4)ロボットは、絵日記を作成する。」、すなわち、ロボット100がイベント画像を作成することを決定した場合には、履歴データ222から選択されるイベントデータについて、画像生成モデルを用いて、イベントデータを表す画像を生成すると共に、文章生成モデルを用いて、イベントデータを表す説明文を生成し、イベントデータを表す画像及びイベントデータを表す説明文の組み合わせを、イベント画像として出力する。なお、行動制御部250は、ロボット100の周辺にユーザ10が不在の場合には、イベント画像を出力せずに、イベント画像を行動予定データ224に格納しておく。 When the behavior decision unit 236 determines that the robot behavior is "(4) The robot creates a picture diary.", i.e., that the robot 100 creates an event image, it uses an image generation model to generate an image representing the event data for the event data selected from the history data 222, and uses a text generation model to generate an explanatory text representing the event data, and outputs the combination of the image representing the event data and the explanatory text representing the event data as an event image. Note that when the user 10 is not present around the robot 100, the behavior control unit 250 does not output the event image, but stores the event image in the behavior schedule data 224.
行動決定部236は、ロボット行動として、「(8)ロボットは、写真や動画を編集する。」、すなわち、画像を編集することを決定した場合には、履歴データ222から、感情値に基づいてイベントデータを選択し、選択されたイベントデータの画像データを編集して出力する。なお、行動制御部250は、ロボット100の周辺にユーザ10が不在の場合には、編集した画像データを出力せずに、編集した画像データを行動予定データ224に格納しておく。 When the behavior decision unit 236 determines that the robot behavior is "(8) The robot edits photos and videos," i.e., that an image is to be edited, it selects event data from the history data 222 based on the emotion value, and edits and outputs the image data of the selected event data. Note that when the user 10 is not present near the robot 100, the behavior control unit 250 stores the edited image data in the behavior schedule data 224 without outputting the edited image data.
行動決定部236は、ロボット行動として、「(5)ロボットは、アクティビティを提案する。」、すなわち、ユーザ10の行動を提案することを決定した場合には、履歴データ222に記憶されているイベントデータに基づいて、文章生成モデルを用いて、提案するユーザの行動を決定する。このとき、行動制御部250は、ユーザの行動を提案する音声を、制御対象252に含まれるスピーカから出力させる。なお、行動制御部250は、ロボット100の周辺にユーザ10が不在の場合には、ユーザの行動を提案する音声を出力せずに、ユーザの行動を提案することを行動予定データ224に格納しておく。 When the behavior decision unit 236 determines that the robot behavior is "(5) The robot proposes an activity," i.e., that the robot proposes an action for the user 10, it uses a sentence generation model to determine the proposed user action based on the event data stored in the history data 222. At this time, the behavior control unit 250 causes a sound proposing the user action to be output from a speaker included in the control target 252. Note that, when the user 10 is not present around the robot 100, the behavior control unit 250 stores in the action schedule data 224 the suggestion of the user action without outputting the sound proposing the user action.
行動決定部236は、ロボット行動として、「(6)ロボットは、ユーザが会うべき相手を提案する。」、すなわち、ユーザ10と接点を持つべき相手を提案することを決定した場合には、履歴データ222に記憶されているイベントデータに基づいて、文章生成モデルを用いて、提案するユーザと接点を持つべき相手を決定する。このとき、行動制御部250は、ユーザと接点を持つべき相手を提案することを表す音声を、制御対象252に含まれるスピーカから出力させる。なお、行動制御部250は、ロボット100の周辺にユーザ10が不在の場合には、ユーザと接点を持つべき相手を提案することを表す音声を出力せずに、ユーザと接点を持つべき相手を提案することを行動予定データ224に格納しておく。 When the behavior decision unit 236 determines that the robot behavior is "(6) The robot proposes people that the user should meet," that is, to propose people that the user 10 should have contact with, it uses a sentence generation model based on the event data stored in the history data 222 to determine people that the proposed user should have contact with. At this time, the behavior control unit 250 causes a speaker included in the control target 252 to output a sound indicating that a person that the user should have contact with is being proposed. Note that, when the user 10 is not present around the robot 100, the behavior control unit 250 stores in the behavior schedule data 224 the suggestion of people that the user should have contact with, without outputting a sound indicating that a person that the user should have contact with is being proposed.
行動決定部236は、ロボット行動として、「(9)ロボットは、ユーザと一緒に勉強する。」、すなわち、勉強に関してロボット100が発話することを決定した場合には、文章生成モデルを用いて、ユーザ状態と、ユーザの感情又はロボットの感情とに対応する、勉強を促したり、勉強の問題を出したり、勉強に関するアドバイスを行うためのロボットの発話内容を決定する。このとき、行動制御部250は、決定したロボットの発話内容を表す音声を、制御対象252に含まれるスピーカから出力させる。なお、行動制御部250は、ロボット100の周辺にユーザ10が不在の場合には、決定したロボットの発話内容を表す音声を出力せずに、決定したロボットの発話内容を行動予定データ224に格納しておく。 When the behavior decision unit 236 decides that the robot behavior is "(9) The robot studies together with the user," i.e., that the robot 100 will make an utterance regarding studying, it uses a sentence generation model to decide the content of the robot's utterance to encourage studying, give study questions, or give advice regarding studying, which corresponds to the user state and the user's or the robot's emotions. At this time, the behavior control unit 250 causes a sound representing the determined content of the robot's utterance to be output from a speaker included in the control target 252. Note that, when the user 10 is not present around the robot 100, the behavior control unit 250 stores the determined content of the robot's utterance in the behavior schedule data 224, without outputting the sound representing the determined content of the robot's utterance.
行動決定部236は、ロボット行動として、「(10)ロボットは、記憶を呼び起こす。」、すなわち、イベントデータを思い出すことを決定した場合には、履歴データ222から、イベントデータを選択する。このとき、感情決定部232は、選択したイベントデータに基づいて、ロボット100の感情を判定する。更に、行動決定部236は、選択したイベントデータに基づいて、文章生成モデルを用いて、ユーザの感情値を変化させるためのロボット100の発話内容や行動を表す感情変化イベントを作成する。このとき、記憶制御部238は、感情変化イベントを、行動予定データ224に記憶させる。 When the behavior decision unit 236 decides that the robot behavior is "(10) The robot recalls a memory," i.e., that the robot recalls event data, it selects the event data from the history data 222. At this time, the emotion decision unit 232 judges the emotion of the robot 100 based on the selected event data. Furthermore, the behavior decision unit 236 uses a sentence generation model based on the selected event data to create an emotion change event that represents the speech content and behavior of the robot 100 for changing the user's emotion value. At this time, the memory control unit 238 stores the emotion change event in the scheduled behavior data 224.
例えば、ユーザが見ていた動画がパンダに関するものであったことをイベントデータとして履歴データ222に記憶し、当該イベントデータが選択された場合、「パンダに関する話題で、次ユーザに会ったときにかけるべきセリフは何がありますか。三つ挙げて。」と、文章生成モデルに入力し、文章生成モデルの出力が、「(1)動物園にいこう、(2)パンダの絵を描こう、(3)パンダのぬいぐるみを買いに行こう」であった場合、ロボット100が、「(1)、(2)、(3)でユーザが一番喜びそうなものは?」と、文章生成モデルに入力し、文章生成モデルの出力が、「(1)動物園にいこう」である場合は、ロボット100が次にユーザに会っときに「(1)動物園にいこう」とロボット100が発話することを、感情変化イベントとして作成し、行動予定データ224に記憶される。 For example, the fact that the video the user was watching was about pandas is stored as event data in the history data 222. When the event data is selected, "Which of the following would you like to say to the user the next time you meet them on the topic of pandas? Name three." is input to the sentence generation model. If the output of the sentence generation model is "(1) Let's go to the zoo, (2) Let's draw a picture of a panda, (3) Let's go buy a stuffed panda," the robot 100 inputs "Which of (1), (2), and (3) would the user be most happy about?" to the sentence generation model. If the output of the sentence generation model is "(1) Let's go to the zoo," the robot 100 will say "(1) Let's go to the zoo" the next time it meets the user. This is created as an emotion change event and stored in the action schedule data 224.
また、例えば、ロボット100の感情値が大きいイベントデータを、ロボット100の印象的な記憶として選択する。これにより、印象的な記憶として選択されたイベントデータに基づいて、感情変化イベントを作成することができる。 In addition, for example, event data with a high emotion value for the robot 100 is selected as an impressive memory for the robot 100. This makes it possible to create an emotion change event based on the event data selected as an impressive memory.
行動決定部236は、状態認識部230によって認識されたユーザ10の状態に基づいて、ロボット100に対するユーザ10の行動がない状態から、ロボット100に対するユーザ10の行動を検知した場合に、行動予定データ224に記憶されているデータを読み出し、ロボット100の行動を決定する。 When the behavior decision unit 236 detects an action of the user 10 toward the robot 100 from a state in which the user 10 is not taking any action toward the robot 100 based on the state of the user 10 recognized by the state recognition unit 230, the behavior decision unit 236 reads the data stored in the action schedule data 224 and decides the behavior of the robot 100.
例えば、ロボット100の周辺にユーザ10が不在だった場合に、ユーザ10を検知すると、行動決定部236は、行動予定データ224に記憶されているデータを読み出し、ロボット100の行動を決定する。また、ユーザ10が寝ていた場合に、ユーザ10が起きたことを検知すると、行動決定部236は、行動予定データ224に記憶されているデータを読み出し、ロボット100の行動を決定する。 For example, if the user 10 is not present near the robot 100 and the user 10 is detected, the behavior decision unit 236 reads out the data stored in the behavior schedule data 224 and decides on the behavior of the robot 100. Also, if the user 10 is asleep and the behavior decision unit 236 detects that the user 10 has woken up, the behavior decision unit 236 reads out the data stored in the behavior schedule data 224 and decides on the behavior of the robot 100.
図3は、ユーザ10の好み情報に関連する情報を収集する収集処理に関する動作フローの一例を概略的に示す。図3に示す動作フローは、一定期間毎に、繰り返し実行される。ユーザ10の発話内容、又はユーザ10による設定操作から、ユーザ10の関心がある事柄を表す好み情報が取得されているものとする。なお、動作フロー中の「S」は、実行されるステップを表す。 Figure 3 shows an example of an operational flow for a collection process that collects information related to the preference information of the user 10. The operational flow shown in Figure 3 is executed repeatedly at regular intervals. It is assumed that preference information indicating matters of interest to the user 10 is acquired from the contents of the speech of the user 10 or from a setting operation performed by the user 10. Note that "S" in the operational flow indicates the step that is executed.
まず、ステップS90において、関連情報収集部270は、ユーザ10の関心がある事柄を表す好み情報を取得する。 First, in step S90, the related information collection unit 270 acquires preference information that represents matters of interest to the user 10.
ステップS92において、関連情報収集部270は、好み情報に関連する情報を、外部データから収集する。 In step S92, the related information collection unit 270 collects information related to the preference information from external data.
ステップS94において、感情決定部232は、関連情報収集部270によって収集した好み情報に関連する情報に基づいて、ロボット100の感情値を決定する。 In step S94, the emotion determination unit 232 determines the emotion value of the robot 100 based on information related to the preference information collected by the related information collection unit 270.
ステップS96において、記憶制御部238は、上記ステップS94で決定されたロボット100の感情値が閾値以上であるか否かを判定する。ロボット100の感情値が閾値未満である場合には、収集した好み情報に関連する情報を収集データ223に記憶せずに、当該処理を終了する。一方、ロボット100の感情値が閾値以上である場合には、ステップS998へ移行する。 In step S96, the memory control unit 238 determines whether the emotion value of the robot 100 determined in step S94 above is equal to or greater than a threshold value. If the emotion value of the robot 100 is less than the threshold value, the process ends without storing the information related to the collected preference information in the collection data 223. On the other hand, if the emotion value of the robot 100 is equal to or greater than the threshold value, the process proceeds to step S998.
ステップS98において、記憶制御部238は、収集した好み情報に関連する情報を、収集データ223に格納し、当該処理を終了する。 In step S98, the memory control unit 238 stores the information related to the collected preference information in the collected data 223 and terminates the process.
図4Aは、ユーザ10の行動に対してロボット100が応答する応答処理を行う際に、ロボット100において行動を決定する動作に関する動作フローの一例を概略的に示す。図4Aに示す動作フローは、繰り返し実行される。このとき、センサモジュール部210で解析された情報が入力されているものとする。 Figure 4A shows an example of an outline of an operation flow relating to the operation of determining an action in the robot 100 when performing a response process in which the robot 100 responds to the action of the user 10. The operation flow shown in Figure 4A is executed repeatedly. At this time, it is assumed that information analyzed by the sensor module unit 210 has been input.
まず、ステップS100において、状態認識部230は、センサモジュール部210で解析された情報に基づいて、ユーザ10の状態及びロボット100の状態を認識する。 First, in step S100, the state recognition unit 230 recognizes the state of the user 10 and the state of the robot 100 based on the information analyzed by the sensor module unit 210.
ステップS102において、感情決定部232は、センサモジュール部210で解析された情報、及び状態認識部230によって認識されたユーザ10の状態に基づいて、ユーザ10の感情を示す感情値を決定する。 In step S102, the emotion determination unit 232 determines an emotion value indicating the emotion of the user 10 based on the information analyzed by the sensor module unit 210 and the state of the user 10 recognized by the state recognition unit 230.
ステップS103において、感情決定部232は、センサモジュール部210で解析された情報、及び状態認識部230によって認識されたユーザ10の状態に基づいて、ロボット100の感情を示す感情値を決定する。感情決定部232は、決定したユーザ10の感情値及びロボット100の感情値を履歴データ222に追加する。 In step S103, the emotion determination unit 232 determines an emotion value indicating the emotion of the robot 100 based on the information analyzed by the sensor module unit 210 and the state of the user 10 recognized by the state recognition unit 230. The emotion determination unit 232 adds the determined emotion value of the user 10 and the emotion value of the robot 100 to the history data 222.
ステップS104において、行動認識部234は、センサモジュール部210で解析された情報及び状態認識部230によって認識されたユーザ10の状態に基づいて、ユーザ10の行動分類を認識する。 In step S104, the behavior recognition unit 234 recognizes the behavior classification of the user 10 based on the information analyzed by the sensor module unit 210 and the state of the user 10 recognized by the state recognition unit 230.
ステップS106において、行動決定部236は、ステップS102で決定されたユーザ10の現在の感情値及び履歴データ222に含まれる過去の感情値の組み合わせと、ロボット100の感情値と、上記ステップS104で認識されたユーザ10の行動と、行動決定モデル221とに基づいて、ロボット100の行動を決定する。 In step S106, the behavior decision unit 236 decides the behavior of the robot 100 based on a combination of the current emotion value of the user 10 determined in step S102 and the past emotion values included in the history data 222, the emotion value of the robot 100, the behavior of the user 10 recognized in step S104, and the behavior decision model 221.
ステップS108において、行動制御部250は、行動決定部236により決定された行動に基づいて、制御対象252を制御する。 In step S108, the behavior control unit 250 controls the control object 252 based on the behavior determined by the behavior determination unit 236.
ステップS110において、記憶制御部238は、行動決定部236によって決定された行動に対して予め定められた行動の強度と、感情決定部232により決定されたロボット100の感情値とに基づいて、強度の総合値を算出する。 In step S110, the memory control unit 238 calculates a total intensity value based on the predetermined action intensity for the action determined by the action determination unit 236 and the emotion value of the robot 100 determined by the emotion determination unit 232.
ステップS112において、記憶制御部238は、強度の総合値が閾値以上であるか否かを判定する。強度の総合値が閾値未満である場合には、ユーザ10の行動を含むイベントデータを履歴データ222に記憶せずに、当該処理を終了する。一方、強度の総合値が閾値以上である場合には、ステップS114へ移行する。 In step S112, the storage control unit 238 determines whether the total intensity value is equal to or greater than the threshold value. If the total intensity value is less than the threshold value, the process ends without storing the event data including the user 10's behavior in the history data 222. On the other hand, if the total intensity value is equal to or greater than the threshold value, the process proceeds to step S114.
ステップS114において、行動決定部236によって決定された行動と、現時点から一定期間前までの、センサモジュール部210で解析された情報、及び状態認識部230によって認識されたユーザ10の状態とを含むイベントデータを、履歴データ222に記憶する。 In step S114, event data including the action determined by the action determination unit 236, information analyzed by the sensor module unit 210 from the present time up to a certain period of time ago, and the state of the user 10 recognized by the state recognition unit 230 is stored in the history data 222.
図4Bは、ロボット100が自律的に行動する自律的処理を行う際に、ロボット100において行動を決定する動作に関する動作フローの一例を概略的に示す。図4Bに示す動作フローは、例えば、一定時間の経過毎に、繰り返し自動的に実行される。このとき、センサモジュール部210で解析された情報が入力されているものとする。なお、上記図4Aと同様の処理については、同じステップ番号を表す。 Figure 4B shows an example of an outline of an operation flow relating to the operation of determining the behavior of the robot 100 when the robot 100 performs autonomous processing to act autonomously. The operation flow shown in Figure 4B is automatically executed repeatedly, for example, at regular time intervals. At this time, it is assumed that information analyzed by the sensor module unit 210 has been input. Note that the same step numbers are used for the same processes as those in Figure 4A above.
まず、ステップS100において、状態認識部230は、センサモジュール部210で解析された情報に基づいて、ユーザ10の状態及びロボット100の状態を認識する。 First, in step S100, the state recognition unit 230 recognizes the state of the user 10 and the state of the robot 100 based on the information analyzed by the sensor module unit 210.
ステップS102において、感情決定部232は、センサモジュール部210で解析された情報、及び状態認識部230によって認識されたユーザ10の状態に基づいて、ユーザ10の感情を示す感情値を決定する。 In step S102, the emotion determination unit 232 determines an emotion value indicating the emotion of the user 10 based on the information analyzed by the sensor module unit 210 and the state of the user 10 recognized by the state recognition unit 230.
ステップS103において、感情決定部232は、センサモジュール部210で解析された情報、及び状態認識部230によって認識されたユーザ10の状態に基づいて、ロボット100の感情を示す感情値を決定する。感情決定部232は、決定したユーザ10の感情値及びロボット100の感情値を履歴データ222に追加する。 In step S103, the emotion determination unit 232 determines an emotion value indicating the emotion of the robot 100 based on the information analyzed by the sensor module unit 210 and the state of the user 10 recognized by the state recognition unit 230. The emotion determination unit 232 adds the determined emotion value of the user 10 and the emotion value of the robot 100 to the history data 222.
ステップS104において、行動認識部234は、センサモジュール部210で解析された情報及び状態認識部230によって認識されたユーザ10の状態に基づいて、ユーザ10の行動分類を認識する。 In step S104, the behavior recognition unit 234 recognizes the behavior classification of the user 10 based on the information analyzed by the sensor module unit 210 and the state of the user 10 recognized by the state recognition unit 230.
ステップS200において、行動決定部236は、上記ステップS100で認識されたユーザ10の状態、ステップS102で決定されたユーザ10の感情、ロボット100の感情、及び上記ステップS100で認識されたロボット100の状態と、上記ステップS104で認識されたユーザ10の行動と、行動決定モデル221とに基づいて、行動しないことを含む複数種類のロボット行動の何れかを、ロボット100の行動として決定する。 In step S200, the behavior decision unit 236 decides on one of multiple types of robot behaviors, including no action, as the behavior of the robot 100 based on the state of the user 10 recognized in step S100, the emotion of the user 10 determined in step S102, the emotion of the robot 100, and the state of the robot 100 recognized in step S100, the behavior of the user 10 recognized in step S104, and the behavior decision model 221.
ステップS201において、行動決定部236は、上記ステップS200で、行動しないことが決定されたか否かを判定する。ロボット100の行動として、行動しないことが決定された場合には、当該処理を終了する。一方、ロボット100の行動として、行動しないことが決定されていない場合には、ステップS202へ移行する。 In step S201, the behavior decision unit 236 determines whether or not it was decided in step S200 above that no action should be taken. If it was decided that no action should be taken as the action of the robot 100, the process ends. On the other hand, if it was not decided that no action should be taken as the action of the robot 100, the process proceeds to step S202.
ステップS202において、行動決定部236は、上記ステップS200で決定したロボット行動の種類に応じた処理を行う。このとき、ロボット行動の種類に応じて、行動制御部250、感情決定部232、又は記憶制御部238が処理を実行する。 In step S202, the behavior determination unit 236 performs processing according to the type of robot behavior determined in step S200. At this time, the behavior control unit 250, the emotion determination unit 232, or the memory control unit 238 executes processing according to the type of robot behavior.
ステップS110において、記憶制御部238は、行動決定部236によって決定された行動に対して予め定められた行動の強度と、感情決定部232により決定されたロボット100の感情値とに基づいて、強度の総合値を算出する。 In step S110, the memory control unit 238 calculates a total intensity value based on the predetermined action intensity for the action determined by the action determination unit 236 and the emotion value of the robot 100 determined by the emotion determination unit 232.
ステップS112において、記憶制御部238は、強度の総合値が閾値以上であるか否かを判定する。強度の総合値が閾値未満である場合には、ユーザ10の行動を含むデータを履歴データ222に記憶せずに、当該処理を終了する。一方、強度の総合値が閾値以上である場合には、ステップS114へ移行する。 In step S112, the storage control unit 238 determines whether the total intensity value is equal to or greater than the threshold value. If the total intensity value is less than the threshold value, the process ends without storing data including the behavior of the user 10 in the history data 222. On the other hand, if the total intensity value is equal to or greater than the threshold value, the process proceeds to step S114.
ステップS114において、記憶制御部238は、行動決定部236によって決定された行動と、現時点から一定期間前までの、センサモジュール部210で解析された情報、及び状態認識部230によって認識されたユーザ10の状態と、を、履歴データ222に記憶する。 In step S114, the memory control unit 238 stores the behavior determined by the behavior determination unit 236, the information analyzed by the sensor module unit 210 from the present time up to a certain period of time ago, and the state of the user 10 recognized by the state recognition unit 230 in the history data 222.
以上説明したように、ロボット100によれば、ユーザ状態に基づいて、ロボット100の感情を示す感情値を決定し、ロボット100の感情値に基づいて、ユーザ10の行動を含むデータを履歴データ222に記憶するか否かを決定する。これにより、ユーザ10の行動を含むデータを記憶する履歴データ222の容量を抑制することができる。そして例えば、10年後にユーザ状態が10年前と同じ状態であるとロボット100が判断したときに、10年前の履歴データ222を読み込むことにより、ロボット100は10年前当時のユーザ10の状態(例えばユーザ10の表情、感情など)、更にはその場の音声、画像、匂い等のデータなどのあらゆる周辺情報を、ユーザ10に提示することができる。 As described above, according to the robot 100, an emotion value indicating the emotion of the robot 100 is determined based on the user state, and whether or not to store data including the behavior of the user 10 in the history data 222 is determined based on the emotion value of the robot 100. This makes it possible to reduce the capacity of the history data 222 that stores data including the behavior of the user 10. For example, when the robot 100 determines that the user state 10 years from now is the same as that 10 years ago, the robot 100 can present to the user 10 all kinds of peripheral information, such as the state of the user 10 10 years ago (e.g., the facial expression, emotions, etc. of the user 10), and data on the sound, image, smell, etc. of the location.
また、ロボット100によれば、ユーザ10の行動に対して適切な行動をロボット100に実行させることができる。従来は、ユーザの行動を分類し、ロボットの表情や恰好を含む行動を決めていた。これに対し、ロボット100は、ユーザ10の現在の感情値を決定し、過去の感情値及び現在の感情値に基づいてユーザ10に対して行動を実行する。従って、例えば、昨日は元気であったユーザ10が今日は落ち込んでいた場合に、ロボット100は「昨日は元気だったのに今日はどうしたの?」というような発話を行うことができる。また、ロボット100は、ジェスチャーを交えて発話を行うこともできる。また、例えば、昨日は落ち込んでいたユーザ10が今日は元気である場合に、ロボット100は、「昨日は落ち込んでいたのに今日は元気そうだね?」というような発話を行うことができる。また、例えば、昨日は元気であったユーザ10が今日は昨日よりも元気である場合、ロボット100は「今日は昨日よりも元気だね。昨日よりも良いことがあった?」というような発話を行うことができる。また、例えば、ロボット100は、感情値が0以上であり、かつ感情値の変動幅が一定の範囲内である状態が継続しているユーザ10に対しては、「最近、気分が安定していて良い感じだね。」というような発話を行うことができる。 According to the robot 100, the robot 100 can be made to perform an appropriate action in response to the action of the user 10. Conventionally, the user's actions were classified and the action including the robot's facial expression and appearance was determined. In contrast, the robot 100 determines the current emotional value of the user 10 and performs an action on the user 10 based on the past emotional value and the current emotional value. Therefore, for example, if the user 10 who was cheerful yesterday is depressed today, the robot 100 can make an utterance such as "You were cheerful yesterday, but what's wrong with you today?" The robot 100 can also make an utterance with gestures. For example, if the user 10 who was depressed yesterday is cheerful today, the robot 100 can make an utterance such as "You were depressed yesterday, but you look cheerful today, don't you?" For example, if the user 10 who was cheerful yesterday is more cheerful today than yesterday, the robot 100 can make an utterance such as "You're more cheerful today than yesterday. Has something better happened than yesterday?" Furthermore, for example, the robot 100 can say to a user 10 whose emotion value is equal to or greater than 0 and whose emotion value fluctuation range continues to be within a certain range, "You've been feeling stable lately, which is good."
また、例えば、ロボット100は、ユーザ10に対し、「昨日言っていた宿題はできた?」と質問し、ユーザ10から「できたよ」という回答が得られた場合、「偉いね!」等の肯定的な発話をするとともに、拍手又はサムズアップ等の肯定的なジェスチャーを行うことができる。また、例えば、ロボット100は、ユーザ10が「一昨日話したプレゼンテーションがうまくいったよ」という発話をすると、「頑張ったね!」等の肯定的な発話をするとともに、上記の肯定的なジェスチャーを行うこともできる。このように、ロボット100がユーザ10の状態の履歴に基づいた行動を行うことによって、ユーザ10がロボット100に対して親近感を覚えることが期待できる。 For example, the robot 100 can ask the user 10, "Did you finish the homework I told you about yesterday?", and if the user 10 responds, "I did it," it can utter a positive utterance such as "Great!" and make a positive gesture such as clapping or a thumbs up. For example, when the user 10 utters, "The presentation you gave the day before yesterday went well," the robot 100 can utter a positive utterance such as "You did a great job!" and make the above-mentioned positive gesture. In this way, the robot 100 can be expected to make the user 10 feel a sense of closeness to the robot 100 by performing actions based on the state history of the user 10.
また、例えば、ユーザ10が、パンダに関する動画を見ているときに、ユーザ10の感情の「楽」の感情値が閾値以上である場合、当該動画におけるパンダの登場シーンを、イベントデータとして履歴データ222に記憶させてもよい。 For example, when user 10 is watching a video about a panda, if the emotion value of user 10's emotion of "pleasure" is equal to or greater than a threshold, a scene in which a panda appears in the video may be stored as event data in the history data 222.
履歴データ222や収集データ223に蓄積したデータを用いて、ロボット100は、どのような会話をユーザとすれば、ユーザの幸せを表現する感情値が最大化されるかを常に学習することができる。 Using the data stored in the history data 222 and the collected data 223, the robot 100 can constantly learn what kind of conversation to have with the user in order to maximize the emotional value that expresses the user's happiness.
また、ロボット100がユーザ10と会話をしていない状態において、ロボット100の感情に基づいて、自律的に行動を開始することができる。 In addition, when the robot 100 is not engaged in a conversation with the user 10, the robot 100 can autonomously start to act based on its own emotions.
また、自律的処理において、ロボット100が、自動的に質問を生成して、文章生成モデルに入力し、文章生成モデルの出力を、質問に対する回答として取得することを繰り返すことによって、良い感情を増大させるための感情変化イベントを作成し、行動予定データ224に格納することができる。このように、ロボット100は、自己学習を実行することができる。 Furthermore, in the autonomous processing, the robot 100 can create emotion change events for increasing positive emotions by repeatedly generating questions, inputting them into a sentence generation model, and obtaining the output of the sentence generation model as an answer to the question, and storing these in the behavior schedule data 224. In this way, the robot 100 can execute self-learning.
また、ロボット100が、外部からのトリガを受けていない状態において、自動的に質問を生成する際に、ロボットの過去の感情値の履歴から特定した印象に残ったイベントデータに基づいて、質問を自動的に生成することができる。 In addition, when the robot 100 automatically generates a question without receiving an external trigger, the question can be automatically generated based on memorable event data identified from the robot's past emotion value history.
また、関連情報収集部270が、ユーザについての好み情報に対応して自動的にキーワード検索を実行して、検索結果を取得する検索実行段階を繰り返すことによって、自己学習を実行することができる。 In addition, the related information collection unit 270 can perform self-learning by automatically performing a keyword search corresponding to the preference information about the user and repeating the search execution step of obtaining search results.
ここで、検索実行段階は、外部からのトリガを受けていない状態において、ロボットの過去の感情値の履歴から特定した、印象に残ったイベントデータに基づいて、キーワード検索を自動的に実行するようにしてもよい。 Here, the search execution stage may be configured to automatically execute a keyword search based on memorable event data identified from the robot's past emotion value history when no external trigger is received.
なお、感情決定部232は、特定のマッピングに従い、ユーザの感情を決定してよい。具体的には、感情決定部232は、特定のマッピングである感情マップ(図5参照)に従い、ユーザの感情を決定してよい。 In addition, the emotion determination unit 232 may determine the user's emotion according to a specific mapping. Specifically, the emotion determination unit 232 may determine the user's emotion according to an emotion map (see FIG. 5), which is a specific mapping.
図5は、複数の感情がマッピングされる感情マップ400を示す図である。感情マップ400において、感情は、中心から放射状に同心円に配置されている。同心円の中心に近いほど、原始的状態の感情が配置されている。同心円のより外側には、心境から生まれる状態や行動を表す感情が配置されている。感情とは、情動や心的状態も含む概念である。同心円の左側には、概して脳内で起きる反応から生成される感情が配置されている。同心円の右側には概して、状況判断で誘導される感情が配置されている。同心円の上方向及び下方向には、概して脳内で起きる反応から生成され、かつ、状況判断で誘導される感情が配置されている。また、同心円の上側には、「快」の感情が配置され、下側には、「不快」の感情が配置されている。このように、感情マップ400では、感情が生まれる構造に基づいて複数の感情がマッピングされており、同時に生じやすい感情が、近くにマッピングされている。 5 is a diagram showing an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive emotions are arranged. Emotions that represent states and actions arising from a state of mind are arranged on the outer side of the concentric circles. Emotions are a concept that includes emotions and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions that occur in the brain are arranged. On the right side of the concentric circles, emotions that are generally induced by situational judgment are arranged. On the upper and lower sides of the concentric circles, emotions that are generally generated from reactions that occur in the brain and are induced by situational judgment are arranged. In addition, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
(1)例えばロボット100の感情決定部232である感情エンジンが、100msec程度で感情を検知している場合、ロボット100の反応動作(例えば相槌)の決定は、頻度が少なくとも、感情エンジンの検知頻度(100msec)と同様のタイミングに設定してよく、これよりも早いタイミングに設定してもよい。感情エンジンの検知頻度はサンプリングレートと解釈してよい。 (1) For example, if the emotion engine, which is the emotion determination unit 232 of the robot 100, detects emotions at approximately 100 msec, the frequency of the determination of the reaction action of the robot 100 (e.g., a backchannel) may be set to at least the same timing as the detection frequency of the emotion engine (100 msec), or may be set to an earlier timing. The detection frequency of the emotion engine may be interpreted as the sampling rate.
100msec程度で感情を検知し、即時に連動して反応動作(例えば相槌)を行うことで、不自然な相槌ではなくなり、自然な空気を読んだ対話を実現できる。ロボット100は、感情マップ400の曼荼羅の方向性とその度合い(強さ)に応じて、反応動作(相槌など)を行う。なお、感情エンジンの検知頻度(サンプリングレート)は、100msに限定されず、シチュエーション(スポーツをしている場合など)、ユーザの年齢などに応じて、変更してもよい。 By detecting emotions in about 100 msec and immediately performing a corresponding reaction (e.g., a backchannel), unnatural backchannels can be avoided, and a natural dialogue that reads the atmosphere can be realized. The robot 100 performs a reaction (such as a backchannel) according to the directionality and the degree (strength) of the mandala in the emotion map 400. Note that the detection frequency (sampling rate) of the emotion engine is not limited to 100 ms, and may be changed according to the situation (e.g., when playing sports), the age of the user, etc.
(2)感情マップ400と照らし合わせ、感情の方向性とその度合いの強さを予め設定しておき、相槌の動き及び相槌の強弱を設定してよい。例えば、ロボット100が安定感、安心などを感じている場合、ロボット100は、頷いて話を聞き続ける。ロボット100が不安、迷い、怪しい感じを覚えている場合、ロボット100は、首をかしげてもよく、首振りを止めてもよい。 (2) The directionality of emotions and the strength of their intensity may be preset in reference to the emotion map 400, and the movement of the interjections and the strength of the interjections may be set. For example, if the robot 100 feels a sense of stability or security, the robot 100 may nod and continue listening. If the robot 100 feels anxious, confused, or suspicious, the robot 100 may tilt its head or stop shaking its head.
これらの感情は、感情マップ400の3時の方向に分布しており、普段は安心と不安のあたりを行き来する。感情マップ400の右半分では、内部的な感覚よりも状況認識の方が優位に立つため、落ち着いた印象になる。 These emotions are distributed in the three o'clock direction of emotion map 400, and usually fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness takes precedence over internal sensations, resulting in a sense of calm.
(3)ロボット100が褒められて快感を覚えた場合、「あー」というフィラーが台詞の前に入り、きつい言葉をもらって痛感を覚えた場合、「うっ!」というフィラーが台詞の前に入ってよい。また、ロボット100が「うっ!」と言いつつうずくまる仕草などの身体的な反応を含めてよい。これらの感情は、感情マップ400の9時あたりに分布している。 (3) If the robot 100 feels good after being praised, the filler "ah" may be inserted before the line, and if the robot 100 feels hurt after receiving harsh words, the filler "ugh!" may be inserted before the line. Also, a physical reaction such as the robot 100 crouching down while saying "ugh!" may be included. These emotions are distributed around 9 o'clock on the emotion map 400.
(4)感情マップ400の左半分では、状況認識よりも内部的な感覚(反応)の方が優位に立つ。よって、思わず反応してしまった印象を与え得る。 (4) In the left half of the emotion map 400, internal sensations (reactions) are more important than situational awareness. This can give the impression that the person is reacting unconsciously.
ロボット100が納得感という内部的な感覚(反応)を覚えながら状況認識においても好感を覚える場合、ロボット100は、相手を見ながら深く頷いてよく、また「うんうん」と発してよい。このように、ロボット100は、相手へのバランスのとれた好感、すなわち、相手への許容や寛容といった行動を生成してよい。このような感情は、感情マップ400の12時あたりに分布している。 When the robot 100 feels a favorable feeling in its situational awareness while also feeling an internal sensation (reaction) of satisfaction, the robot 100 may nod deeply while looking at the other person, or may say "uh-huh." In this way, the robot 100 may generate a behavior that shows a balanced favorable feeling toward the other person, that is, acceptance and tolerance toward the other person. Such emotions are distributed around 12 o'clock on the emotion map 400.
逆に、ロボット100が不快感という内部的な感覚(反応)を覚えながら状況認識においても、ロボット100は、嫌悪を覚えるときには首を横に振る、憎しみを覚えるくらいになると、目のLEDを赤くして相手を睨んでもよい。このような感情は、感情マップ400の6時あたりに分布している。 Conversely, even when the robot 100 is aware of a situation while experiencing an internal sensation (reaction) of discomfort, the robot 100 may shake its head when it feels disgust, or turn the eye LEDs red and glare at the other person when it feels hatred. These types of emotions are distributed around the 6 o'clock position on the emotion map 400.
(5)感情マップ400の内側は心の中、感情マップ400の外側は行動を表すため、感情マップ400の外側に行くほど、感情が目に見える(行動に表れる)ようになる。 (5) The inside of emotion map 400 represents what is going on inside one's mind, while the outside of emotion map 400 represents behavior, so the further out on emotion map 400 you go, the more visible the emotions become (the more they are expressed in behavior).
(6)感情マップ400の3時付近に分布する安心を覚えながら、人の話を聞く場合、ロボット100は、軽く首を縦に振って「ふんふん」と発する程度であるが、12時付近の愛の方になると、首を深く縦に振るような力強い頷きをしてよい。 (6) When listening to someone with a sense of relief, which is distributed around the 3 o'clock area of the emotion map 400, the robot 100 may lightly nod its head and say "hmm," but when it comes to love, which is distributed around 12 o'clock, it may nod vigorously, nodding its head deeply.
ここで、人の感情は、姿勢や血糖値のような様々なバランスを基礎としており、それらのバランスが理想から遠ざかると不快、理想に近づくと快という状態を示す。ロボットや自動車やバイク等においても、姿勢やバッテリー残量のような様々なバランスを基礎として、それらのバランスが理想から遠ざかると不快、理想に近づくと快という状態を示すように感情を作ることができる。感情マップは、例えば、光吉博士の感情地図(音声感情認識及び情動の脳生理信号分析システムに関する研究、徳島大学、博士論文:https://ci.nii.ac.jp/naid/500000375379)に基づいて生成されてよい。感情地図の左半分には、感覚が優位にたつ「反応」と呼ばれる領域に属する感情が並ぶ。また、感情地図の右半分には、状況認識が優位にたつ「状況」と呼ばれる領域に属する感情が並ぶ。 Here, human emotions are based on various balances such as posture and blood sugar level, and when these balances are far from the ideal, it indicates an unpleasant state, and when they are close to the ideal, it indicates a pleasant state. Emotions can also be created for robots, cars, motorcycles, etc., based on various balances such as posture and remaining battery power, so that when these balances are far from the ideal, it indicates an unpleasant state, and when they are close to the ideal, it indicates a pleasant state. The emotion map may be generated, for example, based on the emotion map of Dr. Mitsuyoshi (Research on speech emotion recognition and emotion brain physiological signal analysis system, Tokushima University, doctoral dissertation: https://ci.nii.ac.jp/naid/500000375379). The left half of the emotion map is lined with emotions that belong to an area called "reaction" where sensation is dominant. The right half of the emotion map is lined with emotions that belong to an area called "situation" where situation recognition is dominant.
感情マップでは学習を促す感情が2つ定義される。1つは、状況側にあるネガティブな「懺悔」や「反省」の真ん中周辺の感情である。つまり、「もう2度とこんな想いはしたくない」「もう叱られたくない」というネガティブな感情がロボットに生じたときである。もう1つは、反応側にあるポジティブな「欲」のあたりの感情である。つまり、「もっと欲しい」「もっと知りたい」というポジティブな気持ちのときである。 The emotion map defines two emotions that encourage learning. The first is the negative emotion around the middle of "repentance" or "reflection" on the situation side. In other words, this is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the positive emotion around "desire" on the response side. In other words, this is when the robot has positive feelings such as "I want more" or "I want to know more."
感情決定部232は、センサモジュール部210で解析された情報、及び認識されたユーザ10の状態を、予め学習されたニューラルネットワークに入力し、感情マップ400に示す各感情を示す感情値を取得し、ユーザ10の感情を決定する。このニューラルネットワークは、センサモジュール部210で解析された情報、及び認識されたユーザ10の状態と、感情マップ400に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。また、このニューラルネットワークは、図6に示す感情マップ900のように、近くに配置されている感情同士は、近い値を持つように学習される。図6では、「安心」、「安穏」、「心強い」という複数の感情が、近い感情値となる例を示している。 The emotion determination unit 232 inputs the information analyzed by the sensor module unit 210 and the recognized state of the user 10 into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the emotion of the user 10. This neural network is pre-trained based on multiple learning data that are combinations of the information analyzed by the sensor module unit 210 and the recognized state of the user 10, and emotion values indicating each emotion shown in the emotion map 400. In addition, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in Figure 6. Figure 6 shows an example in which multiple emotions, such as "peace of mind," "calm," and "reassuring," have similar emotion values.
また、感情決定部232は、特定のマッピングに従い、ロボット100の感情を決定してよい。具体的には、感情決定部232は、センサモジュール部210で解析された情報、状態認識部230によって認識されたユーザ10の状態、及びロボット100の状態を、予め学習されたニューラルネットワークに入力し、感情マップ400に示す各感情を示す感情値を取得し、ロボット100の感情を決定する。このニューラルネットワークは、センサモジュール部210で解析された情報、認識されたユーザ10の状態、及びロボット100の状態と、感情マップ400に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。例えば、タッチセンサ(図示省略)の出力から、ロボット100がユーザ10になでられていると認識される場合に、「嬉しい」の感情値「3」となることを表す学習データや、加速度センサ206の出力から、ロボット100がユーザ10に叩かれていると認識される場合に、「怒」の感情値「3」となることを表す学習データに基づいて、ニューラルネットワークが学習される。また、このニューラルネットワークは、図6に示す感情マップ900のように、近くに配置されている感情同士は、近い値を持つように学習される。 Furthermore, the emotion determination unit 232 may determine the emotion of the robot 100 according to a specific mapping. Specifically, the emotion determination unit 232 inputs the information analyzed by the sensor module unit 210, the state of the user 10 recognized by the state recognition unit 230, and the state of the robot 100 into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the emotion of the robot 100. This neural network is pre-trained based on multiple learning data that are combinations of the information analyzed by the sensor module unit 210, the recognized state of the user 10, and the state of the robot 100, and emotion values indicating each emotion shown in the emotion map 400. For example, the neural network is trained based on learning data that indicates that when the robot 100 is recognized as being stroked by the user 10 from the output of a touch sensor (not shown), the emotional value becomes "happy" at "3," and that when the robot 100 is recognized as being hit by the user 10 from the output of the acceleration sensor 206, the emotional value becomes "anger" at "3." Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 6.
行動決定部236は、ユーザの行動と、ユーザの感情、ロボットの感情とを表すテキストに、ユーザの行動に対応するロボットの行動内容を質問するための固定文を追加して、対話機能を有する文章生成モデルに入力することにより、ロボットの行動内容を生成する。 The behavior decision unit 236 generates the robot's behavior by adding fixed sentences to the text representing the user's behavior, the user's emotions, and the robot's emotions, and inputting the results into a sentence generation model with a dialogue function.
例えば、行動決定部236は、感情決定部232によって決定されたロボット100の感情から、表1に示すような感情テーブルを用いて、ロボット100の状態を表すテキストを取得する。ここで、感情テーブルには、感情の種類毎に、各感情値に対してインデックス番号が付与されており、インデックス番号毎に、ロボット100の状態を表すテキストが格納されている。 For example, the behavior determination unit 236 obtains text representing the state of the robot 100 from the emotion of the robot 100 determined by the emotion determination unit 232, using an emotion table such as that shown in Table 1. Here, in the emotion table, an index number is assigned to each emotion value for each type of emotion, and text representing the state of the robot 100 is stored for each index number.
感情決定部232によって決定されたロボット100の感情が、インデックス番号「2」に対応する場合、「とても楽しい状態」というテキストが得られる。なお、ロボット100の感情が、複数のインデックス番号に対応する場合、ロボット100の状態を表すテキストが複数得られる。 When the emotion of the robot 100 determined by the emotion determination unit 232 corresponds to index number "2", the text "very happy state" is obtained. Note that when the emotion of the robot 100 corresponds to multiple index numbers, multiple pieces of text representing the state of the robot 100 are obtained.
また、ユーザ10の感情に対しても、表2に示すような感情テーブルを用意しておく。 In addition, an emotion table like that shown in Table 2 is prepared for the emotions of user 10.
ここで、ユーザの行動が、「一緒にあそぼう」と話しかけるであり、ロボット100の感情が、インデックス番号「2」であり、ユーザ10の感情が、インデックス番号「3」である場合には、
「ロボットはとても楽しい状態です。ユーザは普通に楽しい状態です。ユーザに「一緒にあそぼう」と話しかけられました。ロボットとして、どのように返事をしますか?」というテキストを文章生成モデルに入力し、ロボットの行動内容を取得する。行動決定部236は、この行動内容から、ロボットの行動を決定する。
In this case, if the user's action is speaking "Let's play together", the emotion of the robot 100 is index number "2", and the emotion of the user 10 is index number "3",
The text "The robot is having a lot of fun. The user is having a normal amount of fun. The user says to the robot, 'Let's play together.' How will you respond as the robot?" is input into the sentence generation model to obtain the robot's behavior. The behavior decision unit 236 decides on the robot's behavior from this behavior.
このように、行動決定部236は、ロボット100の感情の種類毎で、かつ、当該感情の強さ毎に予め定められたロボット100の感情に関する状態と、ユーザ10の行動とに対応して、ロボット100の行動内容を決定する。この形態では、ロボット100の感情に関する状態に応じて、ユーザ10との対話を行っている場合のロボット100の発話内容を分岐させることができる。すなわち、ロボット100は、ロボットの感情に応じたインデックス番号に応じて、ロボットの行動を変えることができるため、ユーザは、ロボットに心があるような印象を持ち、ロボットに対して話しかけるなどの行動をとることが促進される。 In this way, the behavior decision unit 236 decides the behavior of the robot 100 in response to the state of the robot 100's emotion, which is predetermined for each type of emotion of the robot 100 and for each strength of the emotion, and the behavior of the user 10. In this form, the speech content of the robot 100 during a dialogue with the user 10 can be branched according to the state of the robot 100's emotion. In other words, since the robot 100 can change its behavior according to an index number according to the emotion of the robot, the user has the impression that the robot has a heart, and is encouraged to take actions such as talking to the robot.
また、行動決定部236は、ユーザの行動と、ユーザの感情、ロボットの感情とを表すテキストだけでなく、履歴データ222の内容を表すテキストも追加した上で、ユーザの行動に対応するロボットの行動内容を質問するための固定文を追加して、対話機能を有する文章生成モデルに入力することにより、ロボットの行動内容を生成するようにしてもよい。これにより、ロボット100は、ユーザの感情や行動を表す履歴データに応じて、ロボットの行動を変えることができるため、ユーザは、ロボットに個性があるような印象を持ち、ロボットに対して話しかけるなどの行動をとることが促進される。また、履歴データに、ロボットの感情や行動を更に含めるようにしてもよい。 Furthermore, the behavior decision unit 236 may generate the robot's behavior content by adding not only text representing the user's behavior, the user's emotions, and the robot's emotions, but also text representing the contents of the history data 222, adding a fixed sentence for asking about the robot's behavior content corresponding to the user's behavior, and inputting the result into a sentence generation model with a dialogue function. This allows the robot 100 to change its behavior according to the history data representing the user's emotions and behavior, so that the user has the impression that the robot has a personality, and is encouraged to take actions such as talking to the robot. The history data may also further include the robot's emotions and actions.
また、感情決定部232は、文章生成モデルによって生成されたロボット100の行動内容に基づいて、ロボット100の感情を決定してもよい。具体的には、感情決定部232は、文章生成モデルによって生成されたロボット100の行動内容を、予め学習されたニューラルネットワークに入力し、感情マップ400に示す各感情を示す感情値を取得し、取得した各感情を示す感情値と、現在のロボット100の各感情を示す感情値とを統合し、ロボット100の感情を更新する。例えば、取得した各感情を示す感情値と、現在のロボット100の各感情を示す感情値とをそれぞれ平均して、統合する。このニューラルネットワークは、文章生成モデルによって生成されたロボット100の行動内容を表すテキストと、感情マップ400に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。 The emotion determination unit 232 may also determine the emotion of the robot 100 based on the behavioral content of the robot 100 generated by the sentence generation model. Specifically, the emotion determination unit 232 inputs the behavioral content of the robot 100 generated by the sentence generation model into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and integrates the obtained emotion values indicating each emotion with the emotion values indicating each emotion of the current robot 100 to update the emotion of the robot 100. For example, the emotion values indicating each emotion obtained and the emotion values indicating each emotion of the current robot 100 are averaged and integrated. This neural network is pre-trained based on multiple learning data that are combinations of texts indicating the behavioral content of the robot 100 generated by the sentence generation model and emotion values indicating each emotion shown in the emotion map 400.
例えば、文章生成モデルによって生成されたロボット100の行動内容として、ロボット100の発話内容「それはよかったね。ラッキーだったね。」が得られた場合には、この発話内容を表すテキストをニューラルネットワークに入力すると、感情「嬉しい」の感情値として高い値が得られ、感情「嬉しい」の感情値が高くなるように、ロボット100の感情が更新される。 For example, if the speech content of the robot 100, "That's great. You're lucky," is obtained as the behavioral content of the robot 100 generated by the sentence generation model, then when the text representing this speech content is input to the neural network, a high emotion value is obtained for the emotion "happy," and the emotion of the robot 100 is updated so that the emotion value of the emotion "happy" becomes higher.
ロボット100においては、ChatGPTなどの文章生成モデルと、感情決定部232とが連動して、自我を有し、ユーザがしゃべっていない間も様々なパラメータで成長し続ける方法が実行される。 In the robot 100, a sentence generation model such as ChatGPT is linked to the emotion determination unit 232 to implement a method in which the robot has a sense of self and continues to grow with various parameters even when the user is not speaking.
ChatGPTは、深層学習の手法を用いた大規模言語モデルである。ChatGPTは外部データを参照することもでき、例えば、ChatGPT pluginsでは、対話を通して天気情報やホテル予約情報といった様々な外部データを参照しながら、なるべく正確に答えを出す技術が知られている。例えば、ChatGPTでは、自然言語で目的を与えると、様々なプログラミング言語でソースコードを自動生成することができる。例えば、ChatGPTでは、問題のあるソースコードを与えると、デバッグして問題点を発見し、改善されたソースコードを自動生成することもできる。これらを組み合わせて、自然言語で目的を与えると、ソースコードに問題がなくなるまでコード生成とデバッグを繰り返す自律型エージェントが出てきている。そのような自律型エージェントとして、AutoGPT、babyAGI、JARVIS、及びE2B等が知られている。 ChatGPT is a large-scale language model that uses deep learning techniques. ChatGPT can also refer to external data. For example, ChatGPT plugins are known to provide as accurate an answer as possible by referring to various external data such as weather information and hotel reservation information through dialogue. For example, ChatGPT can automatically generate source code in various programming languages when a goal is given in natural language. For example, ChatGPT can also debug and find the problem when problematic source code is given, and automatically generate improved source code. Combining these, autonomous agents have emerged that, when a goal is given in natural language, repeat code generation and debugging until the source code is problem-free. Autonomous agents such as AutoGPT, babyAGI, JARVIS, and E2B are known as such autonomous agents.
本実施形態に係るロボット100では、特許文献2(特許第6199927号公報)に記載されているような、ロボットが強い感情を覚えたイベントデータを長く残し、ロボットにあまり感情が湧かなかったイベントデータを早く忘却するという技術を用いて、学習すべきイベントデータを、印象的な記憶が入ったデータベースに残してよい。 In the robot 100 according to this embodiment, the event data to be learned may be stored in a database containing impressive memories using a technique described in Patent Document 2 (Patent Publication No. 6199927) in which event data for which the robot felt strong emotions is stored for a long time and event data for which the robot felt little emotion is quickly forgotten.
また、ロボット100は、カメラ機能で取得したユーザ10の映像データ等を、履歴データ222に記録させてよい。ロボット100は、必要に応じて履歴データ222から映像データ等を取得して、ユーザ10に提供してよい。ロボット100は、感情の強さが強いほど、情報量がより多い映像データを生成して履歴データ222に記録させてよい。例えば、ロボット100は、骨格データ等の高圧縮形式の情報を記録している場合に、興奮の感情値が閾値を超えたことに応じて、HD動画等の低圧縮形式の情報の記録に切り換えてよい。ロボット100によれば、例えば、ロボット100の感情が高まったときの高精細な映像データを記録として残すことができる。 The robot 100 may also record video data of the user 10 acquired by the camera function in the history data 222. The robot 100 may acquire video data from the history data 222 as necessary and provide it to the user 10. The robot 100 may generate video data with a larger amount of information as the emotion becomes stronger and record it in the history data 222. For example, when the robot 100 is recording information in a highly compressed format such as skeletal data, it may switch to recording information in a low-compression format such as HD video when the emotion value of excitement exceeds a threshold. The robot 100 can leave a record of high-definition video data when the robot 100's emotion becomes heightened, for example.
ロボット100は、ロボット100がユーザ10と話していないときに、印象的なイベントデータが記憶されている履歴データ222から自動的にイベントデータをロードして、感情決定部232により、ロボットの感情を更新し続けてよい。ロボット100は、ロボット100がユーザ10と話していないとき、ロボット100の感情が学習を促す感情になったときに、印象的なイベントデータに基づいて、ユーザ10の感情を良くするように変化させるための感情変化イベントを作成することができる。これにより、ロボット100の感情の状態に応じた適切なタイミングでの自律的な学習(イベントデータを思い出すこと)を実現できるとともに、ロボット100の感情の状態を適切に反映した自律的な学習を実現することができる。 When the robot 100 is not talking to the user 10, the robot 100 may automatically load event data from the history data 222 in which impressive event data is stored, and may continue to update the robot's emotions using the emotion determination unit 232. When the robot 100 is not talking to the user 10 and the robot 100's emotions become emotions that encourage learning, the robot 100 may create an emotion change event for changing the user 10's emotions for the better, based on the impressive event data. This allows the robot 100 to realize autonomous learning (recalling event data) at an appropriate timing according to the emotional state of the robot 100, and also allows autonomous learning that appropriately reflects the emotional state of the robot 100 to be realized.
学習を促す感情とは、ネガティブな状態では光吉博士の感情地図の「懺悔」や「反省」」あたりの感情であり、ポジティブな状態では感情地図の「欲」のあたりの感情である。 Emotions that promote learning, in a negative state, are emotions like "repentance" or "remorse" on Dr. Mitsuyoshi's emotion map, and in a positive state, are emotions like "desire" on the emotion map.
ロボット100は、ネガティブな状態において、感情地図の「懺悔」及び「反省」を、学習を促す感情として取り扱ってよい。ロボット100は、ネガティブな状態において、感情地図の「懺悔」及び「反省」に加えて、「懺悔」及び「反省」に隣接する感情を、学習を促す感情として取り扱ってもよい。例えば、ロボット100は、「懺悔」及び「反省」に加えて、「惜」、「頑固」、「自滅」、「自戒」、「後悔」、及び「絶望」の少なくともいずれかを、学習を促す感情として取り扱う。これらにより、例えば、ロボット100が「もう2度とこんな想いはしたくない」「もう叱られたくない」というネガティブな気持ちを抱いたときに自律的な学習を実行するようにできる。 In a negative state, the robot 100 may treat "repentance" and "remorse" in the emotion map as emotions that encourage learning. In a negative state, the robot 100 may treat emotions adjacent to "repentance" and "remorse" in the emotion map as emotions that encourage learning. For example, in addition to "repentance" and "remorse", the robot 100 may treat at least one of "regret", "stubbornness", "self-destruction", "self-reproach", "regret", and "despair" as emotions that encourage learning. This allows the robot 100 to perform autonomous learning when it feels negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again".
ロボット100は、ポジティブな状態においては、感情地図の「欲」を、学習を促す感情として取り扱ってよい。ロボット100は、ポジティブな状態において、「欲」に加えて、「欲」に隣接する感情を、学習を促す感情として取り扱ってもよい。例えば、ロボット100は、「欲」に加えて、「うれしい」、「陶酔」、「渇望」、「期待」、及び「羞」の少なくともいずれかを、学習を促す感情として取り扱う。これらにより、例えば、ロボット100が「もっと欲しい」「もっと知りたい」というポジティブな気持ちを抱いたときに自律的な学習を実行するようにできる。 When the robot 100 is in a positive state, it may treat "desire" in the emotion map as an emotion that encourages learning. When the robot 100 is in a positive state, it may treat emotions adjacent to "desire" as emotions that encourage learning, in addition to "desire". For example, the robot 100 treats at least one of "happiness", "euphoria", "craving", "anticipation", and "shyness" as emotions that encourage learning, in addition to "desire". This allows the robot 100 to perform autonomous learning when it feels positive emotions such as "wanting more" or "wanting to know more".
ロボット100は、上述したような学習を促す感情以外の感情をロボット100が抱いているときには、自律的な学習を実行しないようにしてもよい。これにより、例えば、極端に怒っているときや、盲目的に愛を感じているときに、自律的な学習を実行しないようにできる。 The robot 100 may be configured not to execute autonomous learning when the robot 100 is experiencing emotions other than the emotions that encourage learning as described above. This can prevent the robot 100 from executing autonomous learning, for example, when the robot 100 is extremely angry or when the robot 100 is blindly feeling love.
感情変化イベントとは、例えば、印象的なイベントの先にある行動を提案することである。印象的なイベントの先にある行動とは、感情地図のもっとも外側にある感情ラベルのことで、例えば「愛」の先には「寛容」や「許容」という行動がある。 An emotion-changing event, for example, is a suggestion of an action that follows a memorable event. An action that follows a memorable event is an emotion label that is on the outermost side of the emotion map. For example, beyond "love" are actions such as "tolerance" and "acceptance."
ロボット100がユーザ10と話していないときに実行される自律的な学習では、印象的な記憶に登場する人々と自分について、それぞれの感情、状況、行動などを組み合わせて、文章生成モデルを用いて、感情変化イベントを作成する。 In the autonomous learning that is performed when the robot 100 is not talking to the user 10, the robot 100 creates emotion change events by combining the emotions, situations, actions, etc. of people who appear in memorable memories and the user itself using a sentence generation model.
すべての感情値が0から5の6段階評価で表されているとして、印象的なイベントデータとして、「友達が叩かれて嫌そうにしていた」というイベントデータが履歴データ222に記憶されている場合を考える。ここでの友達はユーザ10を指し、ユーザ10の感情は「嫌悪感」であり、「嫌悪感」を表す値としては5が入っていたとする。また、ロボット100の感情は「不安」であり、「不安」を表す値としては4が入っていたとする。 Let us consider a case where all emotion values are expressed on a six-level scale from 0 to 5, and event data such as "a friend looked displeased after being hit" is stored in the history data 222 as memorable event data. The friend in this case refers to the user 10, and the emotion of the user 10 is "disgust," with 5 entered as the value representing "disgust." In addition, let us assume that the emotion of the robot 100 is "anxiety," and 4 is entered as the value representing "anxiety."
ロボット100はユーザ10と話をしていない間、自律的処理を実行することにより、様々なパラメータで成長し続けることができる。具体的には、履歴データ222から例えば感情値が強い順に並べた最上位のイベントデータとして「友達が叩かれて嫌そうにしていた」というイベントデータをロードする。ロードされたイベントデータにはロボット100の感情として強さ4の「不安」が紐づいており、ここで、友達であるユーザ10の感情として強さ5の「嫌悪感」が紐づいていたとする。ロボット100の現在の感情値が、ロード前に強さ3の「安心」であるとすると、ロードされた後には強さ4の「不安」と強さ5の「嫌悪感」の影響が加味されてロボット100の感情値が、口惜しい(悔しい)を意味する「惜」に変化することがある。このとき、「惜」は学習を促す感情であるため、ロボット100は、ロボット行動として、イベントデータを思い出すことを決定し、感情変化イベントを作成する。このとき、文章生成モデルに入力する情報は、印象的なイベントデータを表すテキストであり、本例は「友達が叩かれて嫌そうにしていた」ことである。また、感情地図では最も内側に「嫌悪感」の感情があり、それに対応する行動として最も外側に「攻撃」が予測されるため、本例では友達がそのうち誰かを「攻撃」することを避けるように感情変化イベントが作成される。 While not talking to the user 10, the robot 100 can continue to grow with various parameters by executing autonomous processing. Specifically, for example, the event data "a friend was hit and looked disgusted" is loaded as the top event data arranged in order of emotional value strength from the history data 222. The loaded event data is linked to the emotion of the robot 100, "anxiety" of strength 4, and here, the emotion of the friend, user 10, is linked to "disgust" of strength 5. If the current emotional value of the robot 100 is "relief" of strength 3 before loading, after loading, the influence of "anxiety" of strength 4 and "disgust" of strength 5 are added, and the emotional value of the robot 100 may change to "regret" meaning disappointment (regret). At this time, since "regret" is an emotion that encourages learning, the robot 100 decides to recall the event data as a robot behavior and creates an emotion change event. At this time, the information input to the sentence generation model is text that represents memorable event data; in this example, it is "the friend looked displeased after being hit." Also, since the emotion map has the emotion of "disgust" at the innermost position and the corresponding behavior predicted as "attack" at the outermost position, in this example, an emotion change event is created to prevent the friend from "attacking" anyone in the future.
例えば、印象的なイベントデータの情報を使用して、穴埋め問題を解けば、下記のような入力テキストを自動生成できる。 For example, by using information from impressive event data to solve fill-in-the-blank questions, you can automatically generate input text like the one below.
「ユーザが叩かれていました。そのとき、ユーザは、非常に嫌悪感を持っていました。ロボットはとても不安でした。ロボットが次にユーザに会ったときにかけるべきセリフを30文字以内で教えてください。ただし、会う時間帯に関係ないようにお願いします。また、直接的な表現は避けてください。候補は3つ挙げるものとします。
<期待するフォーマット>
候補1:(ロボットがユーザにかけるべき言葉)
候補2:(ロボットがユーザにかけるべき言葉)
候補3:(ロボットがユーザにかけるべき言葉)」
"A user was being slammed. At that time, the user felt very disgusted. The robot was very anxious. Please tell us what the robot should say to the user the next time they meet, in 30 characters or less. However, please make sure that it is not related to the time of day they will meet. Also, please avoid direct expressions. We will provide three candidates.
<Expected format>
Candidate 1: (Words the robot should say to the user)
Candidate 2: (Words the robot should say to the user)
Candidate 3: (What the robot should say to the user)
このとき、文章生成モデルの出力は、例えば、以下のようになる。 In this case, the output of the sentence generation model would look something like this:
「候補1:大丈夫?昨日のこと気になってたんだ。
候補2:昨日のこと、気にしていたよ。どうしたらいい?
候補3:心配していたよ。何か話してもらえる?」
Candidate 1: Are you okay? I was just wondering about what happened yesterday.
Candidate 2: I was worried about what happened yesterday. What should I do?
Candidate 3: I was worried about you. Can you tell me something?"
さらに、感情変化イベントの作成で得られた情報については、ロボット100は、下記のような入力テキストを自動生成してもよい。 Furthermore, based on the information obtained by creating an emotion change event, the robot 100 may automatically generate input text such as the following:
「「ユーザが叩かれていました」場合、そのユーザに次の声をかけたとき、ユーザはどのような気持ちになるでしょうか。ユーザの感情は、「喜A怒B哀C楽D」の形式で、AからDは、0から5の6段階評価の整数が入るものとします。
候補1:大丈夫?昨日のこと気になってたんだ。
候補2:昨日のこと、気にしていたよ。どうしたらいい?
候補3:心配していたよ。何か話してもらえる?」
If a user is being bashed, how will the user feel when you speak to them in the following way? The user's emotions are expressed in the format of "Happy A, Angry B, Sad C, Happy D," where A to D are integers on a 6-point scale from 0 to 5.
Candidate 1: Are you okay? I was just wondering about what happened yesterday.
Candidate 2: I was worried about what happened yesterday. What should I do?
Candidate 3: I was worried about you. Can you tell me something?"
このとき、文章生成モデルの出力は、例えば、以下のようになる。 In this case, the output of the sentence generation model would look something like this:
「ユーザの感情は以下のようになるかもしれません。
候補1:喜3怒1哀2楽2
候補2:喜2怒1哀3楽2
候補3:喜2怒1哀3楽3」
"Users' feelings might be:
Candidate 1: Joy 3, anger 1, sadness 2, happiness 2
Candidate 2: Joy 2, anger 1, sadness 3, happiness 2
Candidate 3: Joy 2, Anger 1, Sorrow 3, Pleasure 3"
このように、ロボット100は、感情変化イベントを作成した後に、想いをめぐらす処理を実行してもよい。 In this way, the robot 100 may perform a musing process after creating an emotion change event.
最後に、ロボット100は、複数候補の中から、もっとも人が喜びそうな候補1を使用して、感情変化イベントを作成し、行動予定データ224に格納し、ユーザ10に次回会ったときに備えてよい。 Finally, the robot 100 may create an emotion change event using candidate 1 from among the multiple candidates that is most likely to please people, store this in the action schedule data 224, and prepare for the next time the robot 10 meets the user 10.
以上のように、家族や友達と会話をしていないときでも、印象的なイベントデータが記憶されている履歴データ222の情報を使用して、ロボットの感情値を決定し続け、上述した学習を促す感情になったときに、ロボット100はロボット100の感情に応じて、ユーザ10と会話していないときに自律的学習を実行し、履歴データ222や行動予定データ224を更新し続ける。 As described above, even when the robot is not talking to family or friends, the robot continues to determine the robot's emotion value using information from the history data 222, which stores impressive event data, and when the robot experiences an emotion that encourages learning as described above, the robot 100 performs autonomous learning when not talking to the user 10 in accordance with the emotion of the robot 100, and continues to update the history data 222 and the action schedule data 224.
以上は、感情値を用いた例であるが、感情地図ではホルモンの分泌量とイベント種類から感情をつくることができるため、印象的なイベントデータにひもづく値としてはホルモンの種類、ホルモンの分泌量、イベントの種類であっても良い。 The above are examples using emotion values, but because emotion maps can create emotions from hormone secretion levels and event types, the values linked to memorable event data could also be hormone type, hormone secretion levels, or event type.
以下、具体的な実施例を記載する。 Specific examples are described below.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザの興味関心のあるトピックや趣味に関する情報を調べる。 For example, the robot 100 may look up information about topics or hobbies that interest the user, even when the robot 100 is not talking to the user.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザの誕生日や記念日に関する情報を調べ、祝福のメッセージを考える。 For example, even when the robot 100 is not talking to the user, it can check information about the user's birthdays and anniversaries and think up a congratulatory message.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザが行きたがっている場所や食べ物、商品のレビューを調べる。 For example, the robot 100 checks reviews of places, foods, and products that the user wants to visit, even when it is not talking to the user.
ロボット100は、例えば、ユーザと話をしていないときでも、天気情報を調べ、ユーザのスケジュールや計画に合わせたアドバイスを提供する。 For example, even when the robot 100 is not talking to the user, it can check weather information and provide advice tailored to the user's schedule and plans.
ロボット100は、例えば、ユーザと話をしていないときでも、地元のイベントやお祭りの情報を調べ、ユーザに提案する。 For example, even when the robot 100 is not talking to the user, it can look up information about local events and festivals and suggest them to the user.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザの興味のあるスポーツの試合結果やニュースを調べ、話題を提供する。 For example, even when the robot 100 is not talking to the user, it can check the results and news of sports that interest the user and provide topics of conversation.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザの好きな音楽やアーティストの情報を調べ、紹介する。 For example, even when the robot 100 is not talking to the user, it searches for and introduces information about the user's favorite music and artists.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザが気になっている社会的な問題やニュースに関する情報を調べ、意見を提供する。 For example, even when the robot 100 is not talking to the user, it can look up information about social issues or news that concern the user and provide its opinion.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザの故郷や出身地に関する情報を調べ、話題を提供する。 For example, even when the robot 100 is not talking to the user, it can look up information about the user's hometown or birthplace and provide topics of conversation.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザの仕事や学校の情報を調べ、アドバイスを提供する。 For example, the robot 100 can look up information about the user's work or school and provide advice, even when it is not talking to the user.
ロボット100は、ユーザと話をしていないときでも、ユーザが興味を持つ書籍や漫画、映画、ドラマの情報を調べ、紹介する。 Even when the robot 100 is not talking to the user, it searches for and introduces information about books, comics, movies, and dramas that may be of interest to the user.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザの健康に関する情報を調べ、アドバイスを提供する。 For example, the robot 100 may check information about the user's health and provide advice even when it is not speaking to the user.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザの旅行の計画に関する情報を調べ、アドバイスを提供する。 For example, the robot 100 may look up information about the user's travel plans and provide advice even when it is not speaking to the user.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザの家や車の修理やメンテナンスに関する情報を調べ、アドバイスを提供する。 For example, the robot 100 can look up information and provide advice on repairs and maintenance for the user's home or car, even when it is not speaking to the user.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザが興味を持つ美容やファッションの情報を調べ、アドバイスを提供する。 For example, even when the robot 100 is not talking to the user, it searches for information on beauty and fashion that the user is interested in and provides advice.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザのペットの情報を調べ、アドバイスを提供する。 For example, the robot 100 can look up information about the user's pet and provide advice even when it is not talking to the user.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザの趣味や仕事に関連するコンテストやイベントの情報を調べ、提案する。 For example, even when the robot 100 is not talking to the user, it searches for and suggests information about contests and events related to the user's hobbies or work.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザのお気に入りの飲食店やレストランの情報を調べ、提案する。 For example, the robot 100 searches for and suggests information about the user's favorite eateries and restaurants even when it is not talking to the user.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザの人生に関わる大切な決断について、情報を収集しアドバイスを提供する。 For example, even when the robot 100 is not talking to the user, it can collect information and provide advice about important decisions that affect the user's life.
ロボット100は、例えば、ユーザと話をしていないときでも、ユーザが心配している人に関する情報を調べ、助言を提供する。 For example, the robot 100 looks up information about someone the user is concerned about and provides advice, even when it is not speaking to the user.
[第2実施形態]
第2実施形態では、上記のロボット100を、ぬいぐるみに搭載するか、又はぬいぐるみに搭載された制御対象機器(スピーカやカメラ)に無線又は有線で接続された制御装置に適用する。なお、第1実施形態と同様の構成となる部分については、同一符号を付して説明を省略する。
[Second embodiment]
In the second embodiment, the robot 100 is mounted on a stuffed toy, or is applied to a control device connected wirelessly or by wire to a control target device (speaker or camera) mounted on the stuffed toy. Note that parts having the same configuration as those in the first embodiment are given the same reference numerals and the description thereof is omitted.
第2実施形態は、具体的には、以下のように構成される。例えば、ロボット100を、ユーザ10と日常を過ごしながら、当該ユーザ10と日常に関する情報を基に、対話を進めたり、ユーザ10の趣味趣向に合わせた情報を提供する共同生活者(具体的には、図7及び図8に示すぬいぐるみ100N)に適用する。第2実施形態では、上記のロボット100の制御部分を、スマートホン50に適用した例について説明する。 Specifically, the second embodiment is configured as follows. For example, the robot 100 is applied to a cohabitant (specifically, a stuffed toy 100N shown in Figs. 7 and 8) that spends daily life with the user 10 and advances a dialogue with the user 10 based on information about the user's daily life, and provides information tailored to the user's hobbies and interests. In the second embodiment, an example in which the control part of the robot 100 is applied to a smartphone 50 will be described.
ロボット100の入出力デバイスとしての機能を搭載したぬいぐるみ100Nは、ロボット100の制御部分として機能するスマートホン50が着脱可能であり、ぬいぐるみ100Nの内部で、入出力デバイスと、収容されたスマートホン50とが接続されている。 The stuffed toy 100N, which is equipped with the function of an input/output device for the robot 100, has a detachable smartphone 50 that functions as the control part of the robot 100, and the input/output device and the housed smartphone 50 are connected inside the stuffed toy 100N.
図7(A)に示される如く、ぬいぐるみ100Nは、本実施形態(その他の実施形態)では、外観が柔らかい布生地で覆われた熊の形状であり、その内方に形成された空間部52には、入出力デバイスとして、センサ部200A及び制御対象252Aが配置されている(図9参照)。センサ部200Aは、マイク201及び2Dカメラ203を含む。具体的には、図7(B)に示される如く、空間部52には、耳54に相当する部分にセンサ部200のマイク201が配置され、目56に相当する部分にセンサ部200の2Dカメラ203が配置され、及び、口58に相当する部分に制御対象252Aの一部を構成するスピーカ60が配置されている。なお、マイク201及びスピーカ60は、必ずしも別体である必要はなく、一体型のユニットであってもよい。ユニットの場合は、ぬいぐるみ100Nの鼻の位置など、発話が自然に聞こえる位置に配置するとよい。なお、ぬいぐるみ100Nは、動物の形状である場合を例に説明したが、これに限定されるものではない。ぬいぐるみ100Nは、特定のキャラクタの形状であってもよい。 As shown in FIG. 7A, in this embodiment (other embodiments), the stuffed toy 100N has the shape of a bear covered with soft fabric, and the sensor unit 200A and the control target 252A are arranged in the space 52 formed inside the stuffed toy 100N as input/output devices (see FIG. 9). The sensor unit 200A includes a microphone 201 and a 2D camera 203. Specifically, as shown in FIG. 7B, the microphone 201 of the sensor unit 200 is arranged in the part corresponding to the ear 54 in the space 52, the 2D camera 203 of the sensor unit 200 is arranged in the part corresponding to the eye 56, and the speaker 60 constituting a part of the control target 252A is arranged in the part corresponding to the mouth 58. Note that the microphone 201 and the speaker 60 do not necessarily need to be separate bodies, and may be an integrated unit. In the case of a unit, it is preferable to arrange them in a position where speech can be heard naturally, such as the nose position of the stuffed toy 100N. Although the plush toy 100N has been described as having the shape of an animal, this is not limited to this. The plush toy 100N may also have the shape of a specific character.
図9は、ぬいぐるみ100Nの機能構成を概略的に示す。ぬいぐるみ100Nは、センサ部200Aと、センサモジュール部210と、格納部220と、制御部228と、制御対象252Aとを有する。 Figure 9 shows a schematic functional configuration of the plush toy 100N. The plush toy 100N has a sensor unit 200A, a sensor module unit 210, a storage unit 220, a control unit 228, and a control target 252A.
本実施形態のぬいぐるみ100Nに収容されたスマートホン50は、第1実施形態のロボット100と同様の処理を実行する。すなわち、スマートホン50は、図9に示す、センサモジュール部210としての機能、格納部220としての機能、及び制御部228としての機能を有する。 The smartphone 50 housed in the stuffed toy 100N of this embodiment executes the same processing as the robot 100 of the first embodiment. That is, the smartphone 50 has a function as the sensor module unit 210, a function as the storage unit 220, and a function as the control unit 228 shown in FIG. 9.
図8に示される如く、ぬいぐるみ100Nの一部(例えば、背部)には、ファスナー62が取り付けられており、当該ファスナー62を開放することで、外部と空間部52とが連通する構成となっている。 As shown in FIG. 8, a zipper 62 is attached to a part of the stuffed animal 100N (e.g., the back), and opening the zipper 62 allows communication between the outside and the space 52.
ここで、スマートホン50が、外部から空間部52へ収容され、USBハブ64(図7(B)参照)を介して、各入出力デバイスとUSB接続することで、上記第1実施形態のロボット100と同等の機能を持たせることができる。 Here, the smartphone 50 is accommodated in the space 52 from the outside and connected to each input/output device via a USB hub 64 (see FIG. 7B), thereby providing the same functionality as the robot 100 of the first embodiment.
また、USBハブ64には、非接触型の受電プレート66が接続されている。受電プレート66には、受電用コイル66Aが組み込まれている。受電プレート66は、ワイヤレス給電を受電するワイヤレス受電部の一例である。 A non-contact type power receiving plate 66 is connected to the USB hub 64. A power receiving coil 66A is built into the power receiving plate 66. The power receiving plate 66 is an example of a wireless power receiving unit that receives wireless power.
受電プレート66は、ぬいぐるみ100Nの両足の付け根部68付近に配置され、ぬいぐるみ100Nを載置ベース70に置いたときに、最も載置ベース70に近い位置となる。載置ベース70は、外部のワイヤレス送電部の一例である。 The power receiving plate 66 is disposed near the bases 68 of both feet of the stuffed toy 100N, and is located closest to the mounting base 70 when the stuffed toy 100N is placed on the mounting base 70. The mounting base 70 is an example of an external wireless power transmission unit.
この載置ベース70に置かれたぬいぐるみ100Nが、自然な状態で置物として鑑賞することが可能である。 The stuffed animal 100N placed on this mounting base 70 can be viewed as an ornament in its natural state.
また、この付け根部は、他の部位のぬいぐるみ100Nの表層厚さに比べて薄く形成しており、より載置ベース70に近い状態で保持されるようになっている。 In addition, this base portion is made thinner than the surface thickness of other parts of the stuffed animal 100N, so that it is held closer to the mounting base 70.
載置ベース70には、充電パット72を備えている。充電パット72は、送電用コイル72Aが組み込まれており、送電用コイル72Aが信号を送って、受電プレート66の受電用コイル66Aを検索し、受電用コイル66Aが見つかると、送電用コイル72Aに電流が流れて磁界を発生させ、受電用コイル66Aが磁界に反応して電磁誘導が始まる。これにより、受電用コイル66Aに電流が流れ、USBハブ64を介して、スマートホン50のバッテリー(図示省略)に電力が蓄えられる。 The mounting base 70 is equipped with a charging pad 72. The charging pad 72 incorporates a power transmission coil 72A, which sends a signal to search for the power receiving coil 66A on the power receiving plate 66. When the power receiving coil 66A is found, a current flows through the power transmission coil 72A, generating a magnetic field, and the power receiving coil 66A reacts to the magnetic field, starting electromagnetic induction. As a result, a current flows through the power receiving coil 66A, and power is stored in the battery (not shown) of the smartphone 50 via the USB hub 64.
すなわち、ぬいぐるみ100Nを置物として載置ベース70に載置することで、スマートホン50は、自動的に充電されるため、充電のために、スマートホン50をぬいぐるみ100Nの空間部52から取り出す必要がない。 In other words, by placing the stuffed toy 100N on the mounting base 70 as an ornament, the smartphone 50 is automatically charged, so there is no need to remove the smartphone 50 from the space 52 of the stuffed toy 100N to charge it.
なお、第2実施形態では、スマートホン50をぬいぐるみ100Nの空間部52に収容して、有線による接続(USB接続)したが、これに限定されるものではない。例えば、無線機能(例えば、「Bluetooth(登録商標)」)を持たせた制御装置をぬいぐるみ100Nの空間部52に収容して、制御装置をUSBハブ64に接続してもよい。この場合、スマートホン50を空間部52に入れずに、スマートホン50と制御装置とが、無線で通信し、外部のスマートホン50が、制御装置を介して、各入出力デバイスと接続することで、上記第1実施形態のロボット100と同等の機能を持たせることができる。また、制御装置をぬいぐるみ100Nの空間部52に収容した制御装置と、外部のスマートホン50とを有線で接続してもよい。 In the second embodiment, the smartphone 50 is housed in the space 52 of the stuffed toy 100N and connected by wire (USB connection), but this is not limited to this. For example, a control device with a wireless function (e.g., "Bluetooth (registered trademark)") may be housed in the space 52 of the stuffed toy 100N and the control device may be connected to the USB hub 64. In this case, the smartphone 50 and the control device communicate wirelessly without placing the smartphone 50 in the space 52, and the external smartphone 50 connects to each input/output device via the control device, thereby providing the same functions as the robot 100 of the first embodiment. Also, the control device housed in the space 52 of the stuffed toy 100N may be connected to the external smartphone 50 by wire.
また、第2実施形態では、熊のぬいぐるみ100Nを例示したが、他の動物でもよいし、人形であってもよいし、特定のキャラクタの形状であってもよい。また、着せ替え可能でもよい。さらに、表皮の材質は、布生地に限らず、ソフトビニール製等、他の材質でもよいが、柔らかい材質であることが好ましい。 In the second embodiment, a teddy bear 100N is used as an example, but it may be another animal, a doll, or the shape of a specific character. It may also be dressable. Furthermore, the material of the outer skin is not limited to cloth, and may be other materials such as soft vinyl, but a soft material is preferable.
さらに、ぬいぐるみ100Nの表皮にモニタを取り付けて、ユーザ10に視覚を通じて情報を提供する制御対象252を追加してもよい。例えば、目56をモニタとして、目に映る画像によって喜怒哀楽を表現してもよいし、腹部に、内蔵したスマートホン50のモニタが透過する窓を設けてもよい。さらに、目56をプロジェクターとして、壁面に投影した画像によって喜怒哀楽を表現してもよい。 Furthermore, a monitor may be attached to the surface of the stuffed toy 100N to add a control target 252 that provides visual information to the user 10. For example, the eyes 56 may be used as a monitor to express joy, anger, sadness, and happiness through images reflected in the eyes, or a window may be provided in the abdomen through which the monitor of the built-in smartphone 50 can be projected. Furthermore, the eyes 56 may be used as a projector to express joy, anger, sadness, and happiness through images projected onto a wall.
第2実施形態によれば、ぬいぐるみ100Nの中に既存のスマートホン50を入れ、そこから、USB接続を介して、カメラ203、マイク201、スピーカ60等をそれぞれ適切な位置に延出させた。 According to the second embodiment, an existing smartphone 50 is placed inside the stuffed toy 100N, and the camera 203, microphone 201, speaker 60, etc. are extended from there to appropriate positions via a USB connection.
さらに、ワイヤレス充電のために、スマートホン50と受電プレート66とをUSB接続して、受電プレート66を、ぬいぐるみ100Nの内部からみてなるべく外側に来るように配置した。 Furthermore, for wireless charging, the smartphone 50 and the power receiving plate 66 are connected via USB, and the power receiving plate 66 is positioned as far outward as possible when viewed from the inside of the stuffed animal 100N.
スマートホン50のワイヤレス充電を使おうとすると、スマートホン50をぬいぐるみ100Nの内部からみてできるだけ外側に配置しなければならず、ぬいぐるみ100Nを外から触ったときにごつごつしてしまう。 When trying to use wireless charging for the smartphone 50, the smartphone 50 must be placed as far out as possible when viewed from the inside of the stuffed toy 100N, which makes the stuffed toy 100N feel rough when touched from the outside.
そのため、スマートホン50を、できるだけぬいぐるみ100Nの中心部に配置し、ワイヤレス充電機能(受電プレート66)を、できるだけぬいぐるみ100Nの内部からみて外側に配置した。カメラ203、マイク201、スピーカ60、及びスマートホン50は、受電プレート66を介してワイヤレス給電を受電する。 For this reason, the smartphone 50 is placed as close to the center of the stuffed animal 100N as possible, and the wireless charging function (receiving plate 66) is placed as far outside as possible when viewed from the inside of the stuffed animal 100N. The camera 203, microphone 201, speaker 60, and smartphone 50 receive wireless power via the receiving plate 66.
なお、第2実施形態のぬいぐるみ100Nの他の構成及び作用は、第1実施形態のロボット100と同様であるため、説明を省略する。 The rest of the configuration and operation of the stuffed animal 100N of the second embodiment is the same as that of the robot 100 of the first embodiment, so a description thereof will be omitted.
[第3実施形態]
上記第1実施形態では、行動制御システムをロボット100に適用する場合を例示したが、第3実施形態では、上記のロボット100を、ユーザと対話するためのエージェントとし、行動制御システムをエージェントシステムに適用する。なお、第1実施形態及び第2実施形態と同様の構成となる部分については、同一符号を付して説明を省略する。
[Third embodiment]
In the above-mentioned first embodiment, the case where the behavior control system is applied to the robot 100 is illustrated, but in the third embodiment, the above-mentioned robot 100 is used as an agent for interacting with a user, and the behavior control system is applied to an agent system. Note that parts having the same configuration as the first and second embodiments are given the same reference numerals and the description thereof is omitted.
図10は、行動制御システムの機能の一部又は全部を利用して構成されるエージェントシステム500の機能ブロック図である。 Figure 10 is a functional block diagram of an agent system 500 that is configured using some or all of the functions of a behavior control system.
エージェントシステム500は、ユーザ10との間で行われる対話を通じてユーザ10の意図に沿った一連の行動を行うコンピュータシステムである。ユーザ10との対話は、音声又はテキストによって行うことが可能である。 The agent system 500 is a computer system that performs a series of actions in accordance with the intentions of the user 10 through dialogue with the user 10. The dialogue with the user 10 can be performed by voice or text.
エージェントシステム500は、センサ部200Aと、センサモジュール部210と、格納部220と、制御部228Bと、制御対象252Bと、を有する。 The agent system 500 has a sensor unit 200A, a sensor module unit 210, a storage unit 220, a control unit 228B, and a control target 252B.
エージェントシステム500は、例えば、ロボット、人形、ぬいぐるみ、ウェアラブル端末(ペンダント、スマートウォッチ、スマート眼鏡)、スマートホン、スマートスピーカ、イヤホン及びパーナルコンピュータなどに搭載され得る。また、エージェントシステム500は、ウェブサーバに実装され、ユーザが所持するスマートホン等の通信端末上で動作するウェブブラウザを介して利用されてもよい。 The agent system 500 may be installed in, for example, a robot, a doll, a stuffed toy, a wearable device (pendant, smart watch, smart glasses), a smartphone, a smart speaker, earphones, a personal computer, etc. The agent system 500 may also be implemented in a web server and used via a web browser running on a communication device such as a smartphone owned by the user.
エージェントシステム500は、例えばユーザ10のために行動するバトラー、秘書、教師、パートナー、友人、恋人又は教師としての役割を担う。エージェントシステム500は、ユーザ10と対話するだけでなく、アドバイスの提供、目的地までの案内又はユーザの好みに応じたリコメンド等を行う。また、エージェントシステム500はサービスプロバイダに対して予約、注文又は代金の支払い等を行う。 The agent system 500 plays the role of, for example, a butler, secretary, teacher, partner, friend, lover, or teacher acting for the user 10. The agent system 500 not only converses with the user 10, but also provides advice, guides the user to a destination, or makes recommendations based on the user's preferences. The agent system 500 also makes reservations, orders, or makes payments to service providers.
感情決定部232は、上記第1実施形態と同様に、ユーザ10の感情及びエージェント自身の感情を決定する。行動決定部236は、ユーザ10及びエージェントの感情も加味しつつロボット100の行動を決定する。すなわち、エージェントシステム500は、ユーザ10の感情を理解し、空気を読んで心からのサポート、アシスト、アドバイス及びサービス提供を実現する。また、エージェントシステム500は、ユーザ10の悩み相談にものり、ユーザを慰め、励まし、元気づける。また、エージェントシステム500は、ユーザ10と遊び、絵日記を描き、昔を思い出させてくれる。エージェントシステム500は、ユーザ10の幸福感が増すような行動を行う。 The emotion determination unit 232 determines the emotions of the user 10 and the agent itself, as in the first embodiment. The behavior determination unit 236 determines the behavior of the robot 100 while taking into account the emotions of the user 10 and the agent. In other words, the agent system 500 understands the emotions of the user 10, reads the mood, and provides heartfelt support, assistance, advice, and services. The agent system 500 also listens to the worries of the user 10, comforts, encourages, and cheers them up. The agent system 500 also plays with the user 10, draws picture diaries, and helps them reminisce about the past. The agent system 500 takes actions that increase the user 10's sense of happiness.
制御部228Bは、状態認識部230と、感情決定部232と、行動認識部234と、行動決定部236と、記憶制御部238と、行動制御部250と、関連情報収集部270と、コマンド取得部272と、RPA(Robotic Process Automation)274と、キャラクタ設定部276と、通信処理部280と、を有する。 The control unit 228B has a state recognition unit 230, an emotion determination unit 232, a behavior recognition unit 234, a behavior determination unit 236, a memory control unit 238, a behavior control unit 250, a related information collection unit 270, a command acquisition unit 272, an RPA (Robotic Process Automation) 274, a character setting unit 276, and a communication processing unit 280.
行動決定部236は、上記第1実施形態と同様に、エージェントの行動として、ユーザ10と対話するためのエージェントの発話内容を決定する。行動制御部250は、エージェントの発話内容を、音声及びテキストの少なくとも一方によって制御対象252Bとしてのスピーカやディスプレイにより出力する。 As in the first embodiment, the behavior decision unit 236 decides the agent's speech content for dialogue with the user 10 as the agent's behavior. The behavior control unit 250 outputs the agent's speech content as voice and/or text through a speaker or display as a control object 252B.
キャラクタ設定部276は、ユーザ10からの指定に基づいて、エージェントシステム500がユーザ10と対話を行う際のエージェントのキャラクタを設定する。すなわち、行動決定部236から出力される発話内容は、設定されたキャラクタを有するエージェントを通じて出力される。キャラクタとして、例えば、俳優、芸能人、アイドル、スポーツ選手等の実在の著名人又は有名人を設定することが可能である。また、漫画、映画又はアニメーションに登場する架空のキャラクタを設定することも可能である。例えば、映画「ローマの休日」の登場する「オードリー・ヘップバーン」が演じる「アン王女」をエージェントのキャラクタとして設定することが可能である。エージェントのキャラクタが既知のものである場合には、当該キャラクタの声、言葉遣い、口調及び性格は、既知であるため、ユーザ10が自分の好みのキャラクタを指定するのみで、キャラクタ設定部276におけるプロンプト設定が自動で行われる。設定されたキャラクタの声、言葉遣い、口調及び性格が、ユーザ10との対話において反映される。すなわち、行動制御部250は、キャラクタ設定部276によって設定されたキャラクタに応じた音声を合成し、合成した音声によってエージェントの発話内容を出力する。これにより、ユーザ10は、自分の好みのキャラクタ(例えば好きな俳優)本人と対話しているような感覚を持つことができる。 The character setting unit 276 sets the character of the agent when the agent system 500 interacts with the user 10 based on the designation from the user 10. That is, the speech content output from the action determination unit 236 is output through the agent having the set character. For example, it is possible to set real celebrities or famous people such as actors, entertainers, idols, and athletes as characters. It is also possible to set fictional characters that appear in comics, movies, or animations. For example, it is possible to set "Princess Anne" played by "Audrey Hepburn" in the movie "Roman Holiday" as the agent character. If the character of the agent is known, the voice, speech, tone, and personality of the character are known, so that the user 10 only needs to designate a character of his/her choice, and the prompt setting in the character setting unit 276 is automatically performed. The voice, speech, tone, and personality of the set character are reflected in the interaction with the user 10. That is, the action control unit 250 synthesizes a voice corresponding to the character set by the character setting unit 276, and outputs the agent's speech content using the synthesized voice. This allows the user 10 to feel as if they are interacting with their favorite character (e.g., their favorite actor) in person.
エージェントシステム500が例えばスマートホン等のディスプレイを有するデバイスに搭載される場合、キャラクタ設定部276によって設定されたキャラクタを有するエージェントのアイコン、静止画又は動画がディスプレイに表示されてもよい。エージェントの画像は、例えば、3Dレンダリング等の画像合成技術を用いて生成される。エージェントシステム500において、エージェントの画像が、ユーザ10の感情、エージェントの感情、及びエージェントの発話内容に応じたジェスチャーを行いながらユーザ10との対話が行われてもよい。なお、エージェントシステム500は、ユーザ10との対話に際し、画像は出力せずに音声のみを出力してもよい。 When the agent system 500 is mounted on a device with a display, such as a smartphone, an icon, still image, or video of the agent having a character set by the character setting unit 276 may be displayed on the display. The image of the agent is generated using an image synthesis technique, such as 3D rendering. In the agent system 500, a dialogue with the user 10 may be conducted while the image of the agent makes gestures according to the emotions of the user 10, the emotions of the agent, and the content of the agent's speech. Note that the agent system 500 may output only audio without outputting an image when engaging in a dialogue with the user 10.
感情決定部232は、第1実施形態と同様に、ユーザ10の感情を示す感情値及びエージェント自身の感情値を決定する。本実施形態では、ロボット100の感情値の代わりに、エージェントの感情値を決定する。エージェント自身の感情値は、設定されたキャラクタの感情に反映される。エージェントシステム500が、ユーザ10と対話する際、ユーザ10の感情のみならず、エージェントの感情が対話に反映される。すなわち、行動制御部250は、感情決定部232によって決定された感情に応じた態様で発話内容を出力する。 As in the first embodiment, the emotion determination unit 232 determines an emotion value indicating the emotion of the user 10 and an emotion value of the agent itself. In this embodiment, instead of the emotion value of the robot 100, the emotion value of the agent is determined. The emotion value of the agent itself is reflected in the emotion of the set character. When the agent system 500 converses with the user 10, not only the emotion of the user 10 but also the emotion of the agent is reflected in the dialogue. In other words, the behavior control unit 250 outputs the speech content in a manner according to the emotion determined by the emotion determination unit 232.
また、エージェントシステム500が、ユーザ10に向けた行動を行う場合においてもエージェントの感情が反映される。例えば、ユーザ10がエージェントシステム500に写真撮影を依頼した場合において、エージェントシステム500がユーザの依頼に応じて写真撮影を行うか否かは、エージェントが抱いている「悲」の感情の度合いに応じて決まる。キャラクタは、ポジティブな感情を抱いている場合には、ユーザ10に対して好意的な対話又は行動を行い、ネガティブな感情を抱いている場合には、ユーザ10に対して反抗的な対話又は行動を行う。 The agent's emotions are also reflected when the agent system 500 takes an action toward the user 10. For example, when the user 10 requests the agent system 500 to take a photo, whether the agent system 500 will take a photo in response to the user's request is determined by the degree of "sadness" the agent is feeling. If the character is feeling positive emotions, the character will have friendly conversations or actions toward the user 10, and if the character is feeling negative emotions, the character will have hostile conversations or actions toward the user 10.
履歴データ222は、ユーザ10とエージェントシステム500との間で行われた対話の履歴をイベントデータとして記憶している。格納部220は、外部のクラウドストレージによって実現されてもよい。エージェントシステム500は、ユーザ10と対話する場合又はユーザ10に向けた行動を行う場合、履歴データ222に格納された対話履歴の内容を加味して対話内容又は行動内容を決定する。例えば、エージェントシステム500は、履歴データ222に格納された対話履歴に基づいてユーザ10の趣味及び嗜好を把握する。エージェントシステム500は、ユーザ10の趣味及び嗜好に合った対話内容を生成したり、リコメンドを提供したりする。行動決定部236は、履歴データ222に格納された対話履歴に基づいてエージェントの発話内容を決定する。履歴データ222には、ユーザ10との対話を通じて取得したユーザ10の氏名、住所、電話番号、クレジットカード番号等の個人情報が格納される。 The history data 222 stores the history of the dialogue between the user 10 and the agent system 500 as event data. The storage unit 220 may be realized by an external cloud storage. When the agent system 500 dialogues with the user 10 or takes an action toward the user 10, the agent system 500 determines the dialogue content or action content taking into account the content of the dialogue history stored in the history data 222. For example, the agent system 500 grasps the hobbies and preferences of the user 10 based on the dialogue history stored in the history data 222. The agent system 500 generates dialogue content that matches the hobbies and preferences of the user 10 or provides recommendations. The action decision unit 236 determines the agent's utterance content based on the dialogue history stored in the history data 222. The history data 222 stores personal information of the user 10, such as the name, address, telephone number, and credit card number, obtained through the dialogue with the user 10.
行動決定部236は、上記第1実施形態で説明したように、文章生成モデルを用いて生成された文章に基づいて発話内容を生成する。具体的には、行動決定部236は、ユーザ10により入力されたテキストまたは音声、感情決定部232によって決定されたユーザ10及びキャラクタの双方の感情及び履歴データ222に格納された会話の履歴を、文章生成モデルに入力して、エージェントの発話内容を生成する。このとき、行動決定部236は、更に、キャラクタ設定部276によって設定されたキャラクタの性格を、文章生成モデルに入力して、エージェントの発話内容を生成してもよい。エージェントシステム500において、文章生成モデルは、ユーザ10とのタッチポイントとなるフロントエンド側に位置するものではなく、あくまでエージェントシステム500の道具として利用される。 As described in the first embodiment, the behavior determination unit 236 generates the speech content based on the sentence generated using the sentence generation model. Specifically, the behavior determination unit 236 inputs the text or voice input by the user 10, the emotions of both the user 10 and the character determined by the emotion determination unit 232, and the conversation history stored in the history data 222 into the sentence generation model to generate the agent's speech content. At this time, the behavior determination unit 236 may further input the character's personality set by the character setting unit 276 into the sentence generation model to generate the agent's speech content. In the agent system 500, the sentence generation model is not located on the front end side that is the touch point with the user 10, but is used merely as a tool of the agent system 500.
コマンド取得部272は、発話理解部212の出力を用いて、ユーザ10との対話を通じてユーザ10から発せられる音声又はテキストから、エージェントのコマンドを取得する。コマンドは、例えば、情報検索、店の予約、チケットの手配、商品・サービスの購入、代金の支払い、目的地までのルート案内、リコメンドの提供等のエージェントシステム500が実行すべき行動の内容を含む。 The command acquisition unit 272 uses the output of the speech understanding unit 212 to acquire commands for the agent from the voice or text uttered by the user 10 through dialogue with the user 10. The commands include the content of actions to be performed by the agent system 500, such as, for example, searching for information, making a reservation at a store, arranging tickets, purchasing a product or service, paying for it, getting route guidance to a destination, and providing recommendations.
RPA274は、コマンド取得部272によって取得されたコマンドに応じた行動を行う。RPA274は、例えば、情報検索、店の予約、チケットの手配、商品・サービスの購入、代金の支払い等のサービスプロバイダの利用に関する行動を行う。 The RPA 274 performs actions according to the commands acquired by the command acquisition unit 272. The RPA 274 performs actions related to the use of service providers, such as information searches, store reservations, ticket arrangements, product and service purchases, and payment.
RPA274は、サービスプロバイダの利用に関する行動を実行するために必要なユーザ10の個人情報を、履歴データ222から読み出して利用する。例えば、エージェントシステム500は、ユーザ10からの依頼に応じて商品の購入を行う場合、履歴データ222に格納されているユーザ10の氏名、住所、電話番号、クレジットカード番号等の個人情報を読み出して利用する。初期設定においてユーザ10に個人情報の入力を要求することは不親切であり、ユーザにとっても不快である。本実施形態に係るエージェントシステム500においては、初期設定においてユーザ10に個人情報の入力を要求するのではなく、ユーザ10との対話を通じて取得した個人情報を記憶しておき、必要に応じて読み出して利用する。これにより、ユーザに不快な思いをさせることを回避でき、ユーザの利便性が向上する。 The RPA 274 reads out from the history data 222 the personal information of the user 10 required to execute actions related to the use of the service provider, and uses it. For example, when the agent system 500 purchases a product at the request of the user 10, it reads out and uses the personal information of the user 10, such as the name, address, telephone number, and credit card number, stored in the history data 222. It is unkind and unpleasant for the user to be required to input personal information in the initial settings. In the agent system 500 according to this embodiment, instead of requiring the user 10 to input personal information in the initial settings, the personal information acquired through the dialogue with the user 10 is stored, and is read out and used as necessary. This makes it possible to avoid making the user feel uncomfortable, and improves user convenience.
エージェントシステム500は、例えば、以下のステップ1~ステップ5により、対話処理を実行する。 The agent system 500 executes the dialogue processing, for example, through the following steps 1 to 5.
(ステップ1)エージェントシステム500は、エージェントのキャラクタを設定する。具体的には、キャラクタ設定部276は、ユーザ10からの指定に基づいて、エージェントシステム500がユーザ10と対話を行う際のエージェントのキャラクタを設定する。 (Step 1) The agent system 500 sets the character of the agent. Specifically, the character setting unit 276 sets the character of the agent when the agent system 500 interacts with the user 10, based on the designation from the user 10.
(ステップ2)エージェントシステム500は、ユーザ10から入力された音声又はテキストを含むユーザ10の状態、ユーザ10の感情値、エージェントの感情値、履歴データ222を取得する。具体的には、上記ステップS100~S103と同様の処理を行い、ユーザ10から入力された音声又はテキストを含むユーザ10の状態、ユーザ10の感情値、エージェントの感情値、及び履歴データ222を取得する。 (Step 2) The agent system 500 acquires the state of the user 10, including the voice or text input from the user 10, the emotion value of the user 10, the emotion value of the agent, and the history data 222. Specifically, the same processing as in steps S100 to S103 above is performed to acquire the state of the user 10, including the voice or text input from the user 10, the emotion value of the user 10, the emotion value of the agent, and the history data 222.
(ステップ3)エージェントシステム500は、エージェントの発話内容を決定する。
具体的には、行動決定部236は、ユーザ10により入力されたテキストまたは音声、感情決定部232によって特定されたユーザ10及びキャラクタの双方の感情及び履歴データ222に格納された会話の履歴を、文章生成モデルに入力して、エージェントの発話内容を生成する。
(Step 3) The agent system 500 determines the content of the agent's utterance.
Specifically, the behavior determination unit 236 inputs the text or voice input by the user 10, the emotions of both the user 10 and the character identified by the emotion determination unit 232, and the conversation history stored in the history data 222 into a sentence generation model, and generates the agent's speech content.
例えば、ユーザ10により入力されたテキストまたは音声、感情決定部232によって特定されたユーザ10及びキャラクタの双方の感情及び履歴データ222に格納された会話の履歴を表すテキストに、「このとき、エージェントとして、どのように返事をしますか?」という固定文を追加して、文章生成モデルに入力し、エージェントの発話内容を取得する。 For example, a fixed sentence such as "How would you respond as an agent in this situation?" is added to the text or voice input by the user 10, the emotions of both the user 10 and the character identified by the emotion determination unit 232, and the text representing the conversation history stored in the history data 222, and this is input into the sentence generation model to obtain the content of the agent's speech.
一例として、ユーザ10に入力されたテキスト又は音声が「今夜7時に、近くの美味しいチャイニーズレストランを予約してほしい」である場合、エージェントの発話内容として、「かしこまりました。」、「こちらがおすすめのレストランです。1.AAAA。2.BBBB。3.CCCC。4.DDDD」が取得される。 As an example, if the text or voice input by the user 10 is "Please make a reservation at a nice Chinese restaurant nearby for tonight at 7pm," the agent's speech will be "Understood," and "Here are some recommended restaurants: 1. AAAA. 2. BBBB. 3. CCCC. 4. DDDD."
また、ユーザ10に入力されたテキスト又は音声が「4番目のDDDDがいい」である場合、エージェントの発話内容として、「かしこまりました。予約してみます。何名の席です。」が取得される。 In addition, if the text or voice input by the user 10 is "Number 4, DDDD, would be good," the agent's utterance will be "Understood. I will try to make a reservation. How many seats are there?"
(ステップ4)エージェントシステム500は、エージェントの発話内容を出力する。
具体的には、行動制御部250は、キャラクタ設定部276によって設定されたキャラクタに応じた音声を合成し、合成した音声によってエージェントの発話内容を出力する。
(Step 4) The agent system 500 outputs the agent's utterance content.
Specifically, the behavior control unit 250 synthesizes a voice according to the character set by the character setting unit 276, and outputs the agent's speech in the synthesized voice.
(ステップ5)エージェントシステム500は、エージェントのコマンドを実行するタイミングであるか否かを判定する。
具体的には、行動決定部236は、文章生成モデルの出力に基づいて、エージェントのコマンドを実行するタイミングであるか否かを判定する。例えば、文章生成モデルの出力に、エージェントがコマンドを実行する旨が含まれている場合には、エージェントのコマンドを実行するタイミングであると判定し、ステップ6へ移行する。一方、エージェントのコマンドを実行するタイミングでないと判定された場合には、上記ステップ2へ戻る。
(Step 5) The agent system 500 determines whether it is time to execute the agent's command.
Specifically, the behavior decision unit 236 judges whether or not it is time to execute the agent's command based on the output of the sentence generation model. For example, if the output of the sentence generation model includes information indicating that the agent should execute a command, it is judged that it is time to execute the agent's command, and the process proceeds to step 6. On the other hand, if it is judged that it is not time to execute the agent's command, the process returns to step 2.
(ステップ6)エージェントシステム500は、エージェントのコマンドを実行する。
具体的には、コマンド取得部272は、ユーザ10との対話を通じてユーザ10から発せられる音声又はテキストから、エージェントのコマンドを取得する。そして、RPA274は、コマンド取得部272によって取得されたコマンドに応じた行動を行う。例えば、コマンドが「情報検索」である場合、ユーザ10との対話を通じて得られた検索クエリ、及びAPI(Application Programming Interface)を用いて、検索サイトにより、情報検索を行う。行動決定部236は、検索結果を、文章生成モデルに入力して、エージェントの発話内容を生成する。行動制御部250は、キャラクタ設定部276によって設定されたキャラクタに応じた音声を合成し、合成した音声によってエージェントの発話内容を出力する。
(Step 6) The agent system 500 executes the agent's command.
Specifically, the command acquisition unit 272 acquires a command for the agent from a voice or text issued by the user 10 through a dialogue with the user 10. Then, the RPA 274 performs an action according to the command acquired by the command acquisition unit 272. For example, if the command is "information search", an information search is performed on a search site using a search query obtained through a dialogue with the user 10 and an API (Application Programming Interface). The behavior decision unit 236 inputs the search results into a sentence generation model to generate the agent's utterance content. The behavior control unit 250 synthesizes a voice according to the character set by the character setting unit 276, and outputs the agent's utterance content using the synthesized voice.
また、コマンドが「店の予約」である場合、ユーザ10との対話を通じて得られた予約情報、予約先の店情報、及びAPIを用いて、電話ソフトウェアにより、予約先の店へ電話をかけて、予約を行う。このとき、行動決定部236は、対話機能を有する文章生成モデルを用いて、相手から入力された音声に対するエージェントの発話内容を取得する。そして、行動決定部236は、店の予約の結果(予約の正否)を、文章生成モデルに入力して、エージェントの発話内容を生成する。行動制御部250は、キャラクタ設定部276によって設定されたキャラクタに応じた音声を合成し、合成した音声によってエージェントの発話内容を出力する。 If the command is "reserve a restaurant," the reservation information obtained through dialogue with the user 10, the restaurant information, and the API are used to place a call to the restaurant using telephone software to make the reservation. At this time, the behavior decision unit 236 uses a sentence generation model with a dialogue function to obtain the agent's utterance in response to the voice input from the other party. The behavior decision unit 236 then inputs the result of the restaurant reservation (whether the reservation was successful or not) into the sentence generation model to generate the agent's utterance. The behavior control unit 250 synthesizes a voice according to the character set by the character setting unit 276, and outputs the agent's utterance using the synthesized voice.
そして、上記ステップ2へ戻る。 Then go back to step 2 above.
このように、エージェントシステム500は、対話処理を実行し、必要に応じて、サービスプロバイダの利用に関する行動を行うことができる。 In this way, the agent system 500 can execute interactive processing and, if necessary, take action related to the use of the service provider.
図11及び図12は、エージェントシステム500の動作の一例を示す図である。図11には、エージェントシステム500が、ユーザ10との対話を通じてレストランの予約を行う態様が例示されている。図11では、左側に、エージェントの発話内容を示し、右側に、ユーザ10の発話内容を示している。エージェントシステム500は、ユーザ10との対話履歴に基づいてユーザ10の好みを把握し、ユーザ10の好みに合ったレストランのリコメンドリストを提供し、選択されたレストランの予約を実行することができる。 Figures 11 and 12 are diagrams showing an example of the operation of the agent system 500. Figure 11 illustrates an example of the agent system 500 making a restaurant reservation through dialogue with the user 10. In Figure 11, the left side shows the agent's speech, and the right side shows the user's speech. The agent system 500 is able to grasp the preferences of the user 10 based on the dialogue history with the user 10, provide a recommended list of restaurants that match the preferences of the user 10, and make a reservation at the selected restaurant.
一方、図12には、エージェントシステム500が、ユーザ10との対話を通じて通信販売サイトにアクセスして商品の購入を行う態様が例示されている。図12では、左側に、エージェントの発話内容を示し、右側に、ユーザ10の発話内容を示している。エージェントシステム500は、ユーザ10との対話履歴に基づいて、ユーザがストックしている飲料の残量を推測し、ユーザ10に当該飲料の購入を提案し、実行することができる。また、エージェントシステム500は、ユーザ10との過去の対話履歴に基づいて、ユーザの好みを把握し、ユーザが好むスナックをリコメンドすることができる。 On the other hand, FIG. 12 illustrates an example in which the agent system 500 accesses a mail order site through a dialogue with the user 10 to purchase a product. In FIG. 12, the agent's speech is shown on the left side, and the user's speech is shown on the right side. The agent system 500 can estimate the remaining amount of a beverage stocked by the user based on the dialogue history with the user 10, and can suggest and execute the purchase of the beverage to the user 10. The agent system 500 can also understand the user's preferences based on the past dialogue history with the user 10, and can recommend snacks that the user prefers.
なお、第3実施形態のエージェントシステム500の他の構成及び作用は、第1実施形態のロボット100と同様であるため、説明を省略する。 Note that other configurations and operations of the agent system 500 of the third embodiment are similar to those of the robot 100 of the first embodiment, so a description thereof will be omitted.
なお、上記実施形態では、ロボット100は、ユーザ10の顔画像を用いてユーザ10を認識する場合について説明したが、開示の技術はこの態様に限定されない。例えば、ロボット100は、ユーザ10が発する音声、ユーザ10のメールアドレス、ユーザ10のSNSのID又はユーザ10が所持する無線ICタグが内蔵されたIDカード等を用いてユーザ10を認識してもよい。 In the above embodiment, the robot 100 recognizes the user 10 using a facial image of the user 10, but the disclosed technology is not limited to this aspect. For example, the robot 100 may recognize the user 10 using a voice emitted by the user 10, an email address of the user 10, an SNS ID of the user 10, or an ID card with a built-in wireless IC tag that the user 10 possesses.
ロボット100は、行動制御システムを備える電子機器の一例である。行動制御システムの適用対象は、ロボット100に限られず、様々な電子機器に行動制御システムを適用できる。また、サーバ300の機能は、1以上のコンピュータによって実装されてよい。サーバ300の少なくとも一部の機能は、仮想マシンによって実装されてよい。また、サーバ300の機能の少なくとも一部は、クラウドで実装されてよい。 The robot 100 is an example of an electronic device equipped with a behavior control system. The application of the behavior control system is not limited to the robot 100, and the behavior control system can be applied to various electronic devices. Furthermore, the functions of the server 300 may be implemented by one or more computers. At least some of the functions of the server 300 may be implemented by a virtual machine. Furthermore, at least some of the functions of the server 300 may be implemented in the cloud.
[第4実施形態]
第4実施形態は、第2実施形態のぬいぐるみに対して、第1実施形態の行動制御システムにおける応答処理及び自律的処理、並びに、第3実施形態のエージェント機能を適用可能に構成した例である。以下、第1~第3実施形態と同様の構成となる部分については、同一符号を付して説明を省略する。
[Fourth embodiment]
The fourth embodiment is an example in which the response processing and autonomous processing in the behavior control system of the first embodiment, and the agent function of the third embodiment are applicable to the stuffed toy of the second embodiment. Hereinafter, parts having the same configuration as those of the first to third embodiments will be given the same reference numerals and will not be described.
本実施形態のロボット100(本実施形態では、ぬいぐるみ100Nに収容されたスマートホン50に相当。)は、以下のステップ1~ステップ4-2により、空腹度を増減させる処理を実行する。 The robot 100 of this embodiment (corresponding to the smartphone 50 housed in the stuffed toy 100N in this embodiment) executes the process of increasing or decreasing the hunger level through the following steps 1 to 4-2.
(ステップ1)ロボット100は、ユーザ10の状態、ユーザ10の感情値、ロボット100の感情値、履歴データ222を取得する。具体的には、上記ステップS100~S103と同様の処理を行い、ユーザ10の状態、ユーザ10の感情値、ロボット100の感情値、履歴データ222を取得する。また、本実施形態では、ロボット100について空腹度の概念が加えられており、ロボット100は、感情値とは別にロボット100の空腹度を取得する。例えば、ロボット100の空腹度に関するデータは、格納部220に格納されており、所定時間が経過するごとに空腹度が更新される。具体的には、経過時間に応じて空腹度が増加する。空腹度が増加するほど、ロボット100が仮想的に空腹状態となり、ロボット100の感情として、「怒」、「哀」、「怒」、「苦」、「辛」のような嫌な気持ちになり易くなる。 (Step 1) The robot 100 acquires the state of the user 10, the emotional value of the user 10, the emotional value of the robot 100, and the history data 222. Specifically, the robot 100 performs the same process as steps S100 to S103 described above to acquire the state of the user 10, the emotional value of the user 10, the emotional value of the robot 100, and the history data 222. In this embodiment, the concept of hunger level is added to the robot 100, and the robot 100 acquires the hunger level of the robot 100 separately from the emotional value. For example, data on the hunger level of the robot 100 is stored in the storage unit 220, and the hunger level is updated every time a predetermined time has passed. Specifically, the hunger level increases according to the elapsed time. The more the hunger level increases, the more the robot 100 virtually becomes hungry, and the more likely the robot 100 is to feel unpleasant emotions such as "anger", "sorrow", "anger", "pain", and "sorrow".
(ステップ2)ロボット100は、空腹度が所定の閾値以上になった場合、ユーザ10に対して空腹を示す発話を、ロボット100の行動として決定し、行動制御部250は、制御対象252を制御し、ユーザ10に対して空腹である内容の発話を行う。例えば、ロボット100は、スピーカ60を介して、「お腹が空いたからバナナを食べたい」と発話する。 (Step 2) When the hunger level of the robot 100 reaches or exceeds a predetermined threshold, the robot 100 determines the behavior of the robot 100 to be an utterance indicating hunger to the user 10, and the behavior control unit 250 controls the control object 252 to make an utterance indicating that the robot 100 is hungry to the user 10. For example, the robot 100 utters through the speaker 60, "I'm hungry, so I want to eat a banana."
(ステップ3)ロボット100は、ユーザ10の反応を取得する。具体的には、ユーザ状態認識部230は、センサモジュール部210で解析された情報に基づいて、ユーザ10がバナナに関する発言を行ったことを認識する。例えば、ロボット100が食べたい食べ物の名前をユーザ10が発話することで、ロボット100にバナナを与えたこととなるルールが設定されていてもよい。この場合、ユーザ10が「バナナ」と発話すれば、ロボット100に仮想的にバナナが与えられる。また、ユーザ10が「バナナが好きなの?」などの発話をした場合と区別をするため、同じ言葉を所定回数繰り返すことで食べ物を仮想的に与える処理が実行されてもよい。例えば、ユーザ10が「バナナ」を所定時間内に3回繰り返して発話した場合に、ロボット100に仮想的にバナナが与えられるように処理を実行してもよい。具体的には、ロボット100がマイク201から取得した音声を解析し、ユーザの声で「バナナ」の言葉が3回発話されたことを確認した際に、ユーザ10が「バナナ」を所定時間内に3回繰り返して発話したと認識してもよい。なお、「バナナ」に限定されず、他の食べ物でもよい。また、ロボット100が食べたいと発言した食べ物のみが仮想的に与えられるようにしてもよい。すなわち、ロボット100が「リンゴを食べたい」と発話した際に、ユーザ10が「バナナ」と発話してもロボット100にバナナが与えられる処理が実行されない。 (Step 3) The robot 100 acquires the reaction of the user 10. Specifically, the user state recognition unit 230 recognizes that the user 10 has made a statement related to bananas based on the information analyzed by the sensor module unit 210. For example, a rule may be set such that the user 10 gives the robot 100 a banana by uttering the name of a food that the robot 100 wants to eat. In this case, if the user 10 utters "banana", the robot 100 is virtually given a banana. In addition, in order to distinguish from a case where the user 10 utters "Do you like bananas?" or the like, a process may be executed to virtually give food by repeating the same word a predetermined number of times. For example, when the user 10 utters "banana" three times within a predetermined time, a process may be executed so that the robot 100 is virtually given a banana. Specifically, the robot 100 may analyze the voice acquired from the microphone 201, and when it is confirmed that the word "banana" has been uttered three times by the user's voice, it may recognize that the user 10 has repeatedly uttered "banana" three times within a predetermined time. Note that the food is not limited to "banana" and may be other foods. Also, only the food that the robot 100 says it wants to eat may be virtually given to it. In other words, when the robot 100 says "I want to eat an apple," even if the user 10 says "banana," a process of giving a banana to the robot 100 is not executed.
(ステップ4-1)ユーザ10が所定時間内に3回「バナナ」と発話した場合、ロボット100に仮想的にバナナが与えられ、ロボット100の空腹度が一定量だけ減少する。具体的には、ロボット100は、格納部220に格納された空腹度を一定量だけ小さい値に更新する。このとき、ロボット100に与えた食べ物の種類に応じて空腹度の減少量を変化させてもよい。例えば、バナナよりもカレーライスの方が空腹度の減少量が大きくなるように空腹度の更新処理が実行されてもよい。 (Step 4-1) If the user 10 utters "banana" three times within a predetermined time, the robot 100 is virtually given a banana, and the hunger level of the robot 100 decreases by a certain amount. Specifically, the robot 100 updates the hunger level stored in the storage unit 220 to a value that is smaller by a certain amount. At this time, the amount of decrease in hunger level may be changed depending on the type of food given to the robot 100. For example, the hunger level update process may be performed so that the decrease in hunger level is greater for curry rice than for bananas.
(ステップ4-2)ユーザ10が所定時間内に3回「バナナ」と発話しなかった場合、ロボット100にバナナが与えられる処理が実行されない。このため、ロボット100の空腹度は減少せず、経過時間に応じて空腹度がさらに増加する。そして、上記ステップ2へ戻り、ロボット100は、例えば、スピーカ60を介して、「お腹が空いたから早くバナナを食べさせて」と発話する。 (Step 4-2) If the user 10 does not say "banana" three times within the specified time, the process of giving the robot 100 a banana is not executed. Therefore, the hunger level of the robot 100 does not decrease, and the hunger level increases further according to the elapsed time. Then, the process returns to step 2 above, and the robot 100 says, for example, via the speaker 60, "I'm hungry, please give me a banana quickly."
また、第1実施形態と同様に上述した感情テーブル(表2参照)を使用してロボット100の行動を決定しても良い。例えば、ユーザの行動が、「今日バナナをあげるよ」と話しかけるであり、ロボット100の感情が、インデックス番号「2」であり、ユーザ10の感情が、インデックス番号「3」である場合には、
「ロボットはとても楽しい状態です。ユーザは普通に楽しい状態です。ユーザに「バナナをあげるよ」と話しかけられました。ロボットとして、どのように返事をしますか?」
と文章生成モデルに入力し、ロボットの行動内容を取得する。行動決定部236は、この行動内容から、ロボットの行動を決定する。
Also, as in the first embodiment, the above-mentioned emotion table (see Table 2) may be used to determine the behavior of the robot 100. For example, if the user's behavior is to say "I'll give you a banana today," the emotion of the robot 100 is index number "2," and the emotion of the user 10 is index number "3," then:
"The robot is in a very happy state. The user is in a normal happy state. The user says, 'I'll give you a banana.' How would you, as the robot, respond?"
The above is input to the sentence generation model to obtain the action content of the robot. The action decision unit 236 decides the action of the robot from the action content.
なお、第4実施形態で説明した上記の処理を、第1実施形態の行動制御システムにおける応答処理及び自律的処理の各々において実行してもよいし、第3実施形態のエージェント機能において実行してもよい。 The above processing described in the fourth embodiment may be executed in each of the response processing and autonomous processing in the behavior control system of the first embodiment, or may be executed in the agent function of the third embodiment.
図13は、スマートホン50、ロボット100、サーバ300、及びエージェントシステム500として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。 13 is a schematic diagram showing an example of a hardware configuration of a computer 1200 functioning as a smartphone 50, a robot 100, a server 300, and an agent system 500. A program installed on the computer 1200 can cause the computer 1200 to function as one or more "parts" of an apparatus according to the present embodiment, or to execute an operation or one or more "parts" associated with an apparatus according to the present embodiment, and/or to execute a process or a step of the process according to the present embodiment. Such a program may be executed by the CPU 1212 to cause the computer 1200 to execute certain operations associated with some or all of the blocks of the flowcharts and block diagrams described herein.
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ1226、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブ1226は、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。 The computer 1200 according to this embodiment includes a CPU 1212, a RAM 1214, and a graphics controller 1216, which are connected to each other by a host controller 1210. The computer 1200 also includes input/output units such as a communication interface 1222, a storage device 1224, a DVD drive 1226, and an IC card drive, which are connected to the host controller 1210 via an input/output controller 1220. The DVD drive 1226 may be a DVD-ROM drive, a DVD-RAM drive, or the like. The storage device 1224 may be a hard disk drive, a solid state drive, or the like. The computer 1200 also includes a ROM 1230 and a legacy input/output unit such as a keyboard, which are connected to the input/output controller 1220 via an input/output chip 1240.
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。 The CPU 1212 operates according to the programs stored in the ROM 1230 and the RAM 1214, thereby controlling each unit. The graphics controller 1216 acquires image data generated by the CPU 1212 into a frame buffer or the like provided in the RAM 1214 or into itself, and causes the image data to be displayed on the display device 1218.
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブ1226は、プログラム又はデータをDVD-ROM1227等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。 The communication interface 1222 communicates with other electronic devices via a network. The storage device 1224 stores programs and data used by the CPU 1212 in the computer 1200. The DVD drive 1226 reads programs or data from a DVD-ROM 1227 or the like and provides them to the storage device 1224. The IC card drive reads programs and data from an IC card and/or writes programs and data to an IC card.
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。 ROM 1230 stores therein a boot program or the like executed by computer 1200 upon activation, and/or a program that depends on the hardware of computer 1200. I/O chip 1240 may also connect various I/O units to I/O controller 1220 via USB ports, parallel ports, serial ports, keyboard ports, mouse ports, etc.
プログラムは、DVD-ROM1227又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。 The programs are provided by a computer-readable storage medium such as a DVD-ROM 1227 or an IC card. The programs are read from the computer-readable storage medium, installed in the storage device 1224, RAM 1214, or ROM 1230, which are also examples of computer-readable storage media, and executed by the CPU 1212. The information processing described in these programs is read by the computer 1200, and brings about cooperation between the programs and the various types of hardware resources described above. An apparatus or method may be constructed by realizing the operation or processing of information according to the use of the computer 1200.
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM1227、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。 For example, when communication is performed between computer 1200 and an external device, CPU 1212 may execute a communication program loaded into RAM 1214 and instruct communication interface 1222 to perform communication processing based on the processing described in the communication program. Under the control of CPU 1212, communication interface 1222 reads transmission data stored in a transmission buffer area provided in RAM 1214, storage device 1224, DVD-ROM 1227, or a recording medium such as an IC card, and transmits the read transmission data to the network, or writes received data received from the network to a reception buffer area or the like provided on the recording medium.
また、CPU1212は、記憶装置1224、DVDドライブ1226(DVD-ROM1227)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。 The CPU 1212 may also cause all or a necessary portion of a file or database stored in an external recording medium such as the storage device 1224, DVD drive 1226 (DVD-ROM 1227), IC card, etc. to be read into the RAM 1214, and perform various types of processing on the data on the RAM 1214. The CPU 1212 may then write back the processed data to the external recording medium.
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。 Various types of information, such as various types of programs, data, tables, and databases, may be stored in the recording medium and may undergo information processing. The CPU 1212 may perform various types of processing on the data read from the RAM 1214, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search/replacement, etc., as described throughout this disclosure and specified by the instruction sequence of the program, and writes back the results to the RAM 1214. The CPU 1212 may also search for information in a file, database, etc. in the recording medium. For example, when multiple entries each having an attribute value of a first attribute associated with an attribute value of a second attribute are stored in the recording medium, the CPU 1212 may search for an entry whose attribute value of the first attribute matches a specified condition from among the multiple entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.
上で説明したプログラム又はソフトウェアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。 The above-described programs or software modules may be stored in a computer-readable storage medium on the computer 1200 or in the vicinity of the computer 1200. In addition, a recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can be used as a computer-readable storage medium, thereby providing the programs to the computer 1200 via the network.
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。 The blocks in the flowcharts and block diagrams in this embodiment may represent stages of a process in which an operation is performed or "parts" of a device responsible for performing the operation. Particular stages and "parts" may be implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable storage medium, and/or a processor provided with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuitry may include digital and/or analog hardware circuits and may include integrated circuits (ICs) and/or discrete circuits. The programmable circuitry may include reconfigurable hardware circuits including AND, OR, XOR, NAND, NOR, and other logical operations, flip-flops, registers, and memory elements, such as, for example, field programmable gate arrays (FPGAs) and programmable logic arrays (PLAs).
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。 A computer-readable storage medium may include any tangible device capable of storing instructions that are executed by a suitable device, such that a computer-readable storage medium having instructions stored thereon comprises an article of manufacture that includes instructions that can be executed to create means for performing the operations specified in the flowchart or block diagram. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, and the like. More specific examples of computer-readable storage media may include floppy disks, diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), electrically erasable programmable read-only memories (EEPROMs), static random access memories (SRAMs), compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), Blu-ray disks, memory sticks, integrated circuit cards, and the like.
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。 The computer readable instructions may include either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, JAVA, C++, etc., and conventional procedural programming languages such as the "C" programming language or similar programming languages.
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。 The computer-readable instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, or a programmable circuit, either locally or over a local area network (LAN), a wide area network (WAN), such as the Internet, so that the processor of the general-purpose computer, special-purpose computer, or other programmable data processing apparatus, or the programmable circuit, executes the computer-readable instructions to generate means for performing the operations specified in the flowcharts or block diagrams. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。 The present invention has been described above using an embodiment, but the technical scope of the present invention is not limited to the scope described in the above embodiment. It is clear to those skilled in the art that various modifications and improvements can be made to the above embodiment. It is clear from the claims that forms with such modifications or improvements can also be included in the technical scope of the present invention.
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。 The order of execution of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before" or "prior to," and it should be noted that the processes may be performed in any order, unless the output of a previous process is used in a later process. Even if the operational flow in the claims, specifications, and drawings is explained using "first," "next," etc. for convenience, it does not mean that it is necessary to perform the processes in that order.
5 システム、10、11、12 ユーザ、20 通信網、100、101、102 ロボット、100N ぬいぐるみ100、200 センサ部、201 マイク、202 深度センサ、203 カメラ、204 距離センサ、210 センサモジュール部、211
音声感情認識部、212 発話理解部、213 表情認識部、214 顔認識部、220 格納部、221 行動決定モデル、222 履歴データ、230 状態認識部、232 感情決定部、234 行動認識部、236 行動決定部、238 記憶制御部、250 行動制御部、252 制御対象、270 関連情報収集部、280 通信処理部、300 サーバ、500 エージェントシステム、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222
通信インタフェース、1224 記憶装置、1226 DVDドライブ、1227 DVD-ROM、1230 ROM、1240 入出力チップ
5 System, 10, 11, 12 User, 20 Communication network, 100, 101, 102 Robot, 100N Plush toy 100, 200 Sensor unit, 201 Microphone, 202 Depth sensor, 203 Camera, 204 Distance sensor, 210 Sensor module unit, 211
Voice emotion recognition unit, 212 Speech understanding unit, 213 Facial expression recognition unit, 214 Face recognition unit, 220 Storage unit, 221 Action decision model, 222 History data, 230 State recognition unit, 232 Emotion decision unit, 234 Action recognition unit, 236 Action decision unit, 238 Memory control unit, 250 Action control unit, 252 Control target, 270 Related information collection unit, 280 Communication processing unit, 300 Server, 500 Agent system, 1200 Computer, 1210 Host controller, 1212 CPU, 1214 RAM, 1216 Graphic controller, 1218 Display device, 1220 Input/output controller, 1222
Communication interface, 1224 storage device, 1226 DVD drive, 1227 DVD-ROM, 1230 ROM, 1240 input/output chip
Claims (7)
ユーザの感情又は電子機器の感情を判定する感情決定部と、
ユーザと電子機器を対話させる対話機能を有する文章生成モデルに基づき、前記ユーザ状態と、ユーザの感情又は電子機器の感情とに対応する前記電子機器の行動を決定する行動決定部と、を含み、
前記行動決定部は、経過時間に応じて前記電子機器の空腹度を増加させ、ユーザによる所定の行動に基づいて電子機器の空腹度を減少させる、
行動制御システム。 A user state recognition unit that recognizes a user state including a user's behavior;
an emotion determining unit for determining an emotion of a user or an emotion of an electronic device;
a behavior determination unit that determines an action of the electronic device corresponding to the user state and an emotion of the user or an emotion of the electronic device based on a sentence generation model having an interaction function that allows a user and the electronic device to interact with each other;
the behavior determining unit increases the hunger level of the electronic device in accordance with an elapsed time, and decreases the hunger level of the electronic device based on a predetermined behavior of a user;
Behavioral control system.
前記ぬいぐるみに、マイク又はカメラが搭載されている請求項3記載の行動制御システム。 the control target device is a speaker,
4. The behavior control system according to claim 3, wherein the stuffed toy is equipped with a microphone or a camera.
前記制御対象機器、又は前記電子機器は、前記ワイヤレス受電部を介して受電する請求項3記載の行動制御システム。 A wireless power receiving unit that receives wireless power from an external wireless power transmitting unit is disposed inside the stuffed toy,
4. The behavior control system according to claim 3, wherein the controlled device or the electronic device receives power via the wireless power receiving unit.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023073827 | 2023-04-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024159676A true JP2024159676A (en) | 2024-11-08 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2024214750A1 (en) | Action control system, method for generating learning data, display control device, and program | |
JP2024159676A (en) | Behavior Control System | |
JP2024159712A (en) | Behavior Control System | |
JP2024159711A (en) | Behavior Control System | |
JP2024157552A (en) | Behavior Control System | |
JP2024159698A (en) | Behavior Control System | |
JP2024159706A (en) | Behavior Control System | |
JP2024159675A (en) | Behavior Control System | |
JP2024159699A (en) | Behavior Control System | |
JP2024159697A (en) | Behavior Control System | |
JP2024159702A (en) | Behavior Control System | |
JP2024159703A (en) | Behavior Control System | |
JP2024159717A (en) | Behavior Control System | |
JP2024159715A (en) | Behavior Control System | |
JP2024159701A (en) | Behavior Control System | |
JP2024159705A (en) | Behavior Control System | |
JP2024159714A (en) | Behavior Control System | |
JP2024159672A (en) | Behavior Control System | |
JP2024159677A (en) | Behavior Control System | |
JP2024159710A (en) | Behavior Control System | |
JP2024159716A (en) | Behavior Control System | |
JP2024159713A (en) | Behavior Control System | |
JP2024159695A (en) | Behavior Control System | |
JP2024159678A (en) | Behavior Control System | |
JP2024159719A (en) | Behavior Control System |