JP2024159685A - Electronics - Google Patents
Electronics Download PDFInfo
- Publication number
- JP2024159685A JP2024159685A JP2024072051A JP2024072051A JP2024159685A JP 2024159685 A JP2024159685 A JP 2024159685A JP 2024072051 A JP2024072051 A JP 2024072051A JP 2024072051 A JP2024072051 A JP 2024072051A JP 2024159685 A JP2024159685 A JP 2024159685A
- 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
Landscapes
- User Interface Of Digital Computer (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
Description
本発明は、電子機器に関する。 The present invention relates to electronic devices.
特許文献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.
本発明は、ユーザ及び自身の感情を理解してユーザと対話を行うエージェントシステムを利用可能な電子機器を提供することを目的とする。 The present invention aims to provide an electronic device that can utilize an agent system that understands the emotions of the user and the device itself and can converse with the user.
本発明の第1の態様によれば、電子機器が提供される。電子機器は、ユーザの感情又はエージェントの感情を決定する感情決定部と、前記感情決定部によって決定された感情に基づいて前記ユーザと対話するための前記エージェントの発話内容を決定する対話処理部と、を含むエージェントシステムを利用可能な電子機器であって、前記ユーザの状態に関する情報を取得可能な取得部と、行動履歴対象の行動履歴に基づいて、当該行動履歴対象の特定の行動に関して達成か未達成かを判定する判定部と、前記ユーザから前記特定の行動に関しての達成又は未達成の判定指示があった場合に、前記特定の行動に関する前記判定部の判定結果に基づいて、前記特定の行動に関する文章の生成を前記エージェントシステムに実行させる実行部と、前記エージェントシステムにおいて生成された前記文章を前記発話内容として前記ユーザに対して出力する出力部と、を備えることを特徴としている。 According to a first aspect of the present invention, an electronic device is provided. The electronic device is an electronic device that can use an agent system including an emotion determination unit that determines the emotion of a user or an emotion of an agent, and a dialogue processing unit that determines the content of the agent's speech to dialogue with the user based on the emotion determined by the emotion determination unit, and is characterized in that the electronic device is equipped with an acquisition unit that can acquire information about the user's state, a judgment unit that judges whether a specific behavior of a behavior history target is achieved or not based on the behavior history of the behavior history target, an execution unit that causes the agent system to generate a sentence regarding the specific behavior based on the judgment result of the judgment unit regarding the specific behavior when the user issues an instruction to judge whether the specific behavior is achieved or not, and an output unit that outputs the sentence generated in the agent system to the user as the content of the speech.
本発明において、前記行動履歴対象の行動に追従して、時系列で撮影した行動履歴画像を格納する格納部をさらに有し、前記判定部が、前記格納部に格納された行動履歴画像に基づいて、前記特定の行動に関して達成又は未達成を判定する、ことを特徴としている。 The present invention is characterized in that it further includes a storage unit that stores action history images captured in chronological order following the action of the action history target, and the determination unit determines whether the specific action has been achieved or not based on the action history images stored in the storage unit.
本発明において、前記ユーザと前記行動履歴対象とにおいて、前記ユーザが管理者又は保護者となり、前記行動履歴対象が被管理者又は被保護者となる関係が構築されることを特徴としている。 The present invention is characterized in that a relationship is established between the user and the behavior history target, in which the user is the manager or guardian and the behavior history target is the managed or protected.
本発明において、前記ユーザと前記行動履歴対象との関係が、親と、当該親の保護下にある子供との関係であり、前記特定の行動が、予め前記子供のToDoリストとして登録された行動から選択される、ことを特徴としている。 The present invention is characterized in that the relationship between the user and the behavior history target is that between a parent and a child under the parent's care, and the specific behavior is selected from behaviors that have been registered in advance as a to-do list for the child.
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。 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は、本実施形態に係るシステム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を説明する。 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は、文章生成モデルと感情エンジンをマッチングさせることで、ユーザ10の感情に対応するロボット100の行動を決定するように構成してよい。具体的には、ロボット100は、ユーザ10の行動を認識して、当該ユーザの行動に対するユーザ10の感情を判定し、判定した感情に対応するロボット100の行動を決定するように構成してよい。 The robot 100 may be configured to determine an action of the robot 100 corresponding to the emotion of the user 10 by matching the sentence generation model with the emotion engine. Specifically, the robot 100 may be configured to recognize the action of the user 10, determine the emotion of the user 10 regarding the action of the user, and determine an action 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が実行する行動を定めたルールを記憶しており、ルールに従って各種の行動を行う。 The robot 100 stores rules that define the actions that the robot 100 will take based on the emotions of the user 10, the emotions of the robot 100, and the actions of the user 10, and performs various actions 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. 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と、ユーザ状態認識部230と、感情決定部232と、行動認識部234と、行動決定部236と、記憶制御部238と、行動制御部250と、制御対象252と、通信処理部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 user 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 control target 252, 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とを含む。マイク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, and a distance sensor 204. 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 touch 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を含む。履歴データ222は、ユーザ10の過去の感情値及び行動の履歴を含む。この感情値及び行動の履歴は、例えば、ユーザ10の識別情報に対応付けられることによって、ユーザ10毎に記録される。格納部220の少なくとも一部は、メモリ等の記憶媒体によって実装される。ユーザ10の顔画像、ユーザ10の属性情報等を格納する人物DBを含んでもよい。なお、図2に示すロボット100の構成要素のうち、制御対象252、センサ部200及び格納部220を除く構成要素の機能は、CPUがプログラムに基づいて動作することによって実現できる。例えば、基本ソフトウエア(OS)及びOS上で動作するプログラムによって、これらの構成要素の機能をCPUの動作として実装できる。 The storage unit 220 includes reaction rules 221 and history data 222. The history data 222 includes the user 10's past emotional values and behavioral history. The emotional values and behavioral history are recorded for each user 10, for example, by being associated with the user 10's identification information. 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, excluding 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 the operation of the CPU by the operating system (OS) and a program that operates 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 user 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 user 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."
感情決定部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 user 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で解析された情報、及びユーザ状態認識部230によって認識されたユーザ10の状態に基づいて、ロボット100の感情を示す感情値を決定する。
ロボット100の感情値は、複数の感情分類の各々に対する感情値を含み、例えば、「喜」、「怒」、「哀」、「楽」それぞれの強さを示す値(0~5)である。
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 and the state of the user 10 recognized by the user state recognition unit 230 .
The emotion value of the robot 100 includes emotion values for each of a plurality of emotion categories, and is, for example, a value (0 to 5) indicating the strength of each of "happiness,""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 user state recognition unit 230.
例えば、感情決定部232は、ユーザ状態認識部230によってユーザ10が寂しそうと認識された場合、ロボット100の「哀」の感情値を増大させる。また、ユーザ状態認識部230によってユーザ10が笑顔になったと認識された場合、ロボット100の「喜」の感情値を増大させる。 For example, if the user state recognition unit 230 recognizes that the user 10 looks lonely, the emotion determination unit 232 increases the emotion value of "sadness" of the robot 100. Also, if the user state recognition unit 230 recognizes that the user 10 is smiling, the emotion determination unit 232 increases the emotion value of "happy" 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 user 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.
行動決定部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 reaction rules 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 for changing the emotion value of the user 10 to a positive value as the behavior corresponding to the behavior of the user 10.
反応ルール221には、ユーザ10の過去の感情値と現在の感情値の組み合わせと、ロボット100の感情値と、ユーザ10の行動とに応じたロボット100の行動が定められている。例えば、ユーザ10の過去の感情値が正の値であり、かつ現在の感情値が負の値であり、ユーザ10の行動が悲しむである場合、ロボット100の行動として、ジェスチャーを交えてユーザ10を励ます問いかけを行う際のジェスチャーと発話内容との組み合わせが定められている。 The reaction rules 221 define the behavior of the robot 100 according to a combination of the past and current emotion values of the user 10, the emotion value of the robot 100, and the behavior of the user 10. For example, when the past emotion value of the user 10 is a positive value and the current emotion 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の行動を決定する動作モードに遷移してもよい。
なお、反応ルール221には、ロボット100の感情値のパターン(1296パターン)の各々に対して、最大で一つずつ、ロボット100の行動としてジェスチャー及び発言内容の少なくとも一方が定められていてもよい。あるいは、反応ルール221には、ロボット100の感情値のパターンのグループの各々に対して、ロボット100の行動としてジェスチャー及び発言内容の少なくとも一方が定められていてもよい。
For example, the reaction rule 221 defines behaviors of the robot 100 for 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"), combination patterns of the past emotion values and the current emotion values of the user 10, and all combinations of the behavior patterns of the user 10. That is, for each pattern of the emotion values of the robot 100, behaviors of the robot 100 are 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, 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", the behavior determining unit 236 may transition to an operation mode in which the behavior of the robot 100 is determined using the history data 222.
The reaction rules 221 may prescribe at least one of a gesture and a statement as the behavior of the robot 100 for each of the patterns (1296 patterns) of the emotion value of the robot 100. Alternatively, the reaction rules 221 may prescribe 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の行動に含まれる各発話内容には、当該発話内容の強度が予め定められている。 For each gesture included in the behavior of the robot 100 defined in the reaction rules 221, the strength of the gesture is predefined. For each utterance content included in the behavior of the robot 100 defined in the reaction rules 221, the strength of the utterance content is predefined.
記憶制御部238は、行動決定部236によって決定された行動に対して予め定められた行動の強度と、感情決定部232により決定されたロボット100の感情値とに基づいて、ユーザ10の行動を含むデータを履歴データ222に記憶するか否かを決定する。
具体的には、ロボット100の複数の感情分類の各々に対する感情値の総和と、行動決定部236によって決定された行動が含むジェスチャーに対して予め定められた強度と、行動決定部236によって決定された行動が含む発話内容に対して予め定められた強度との和である強度の総合値が、閾値以上である場合、ユーザ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.
Specifically, when a total intensity value, which is the sum of the sum of the emotion values for each of the multiple emotion classifications of the robot 100, the predetermined intensity for the gestures 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 decided to store data including the behavior of the user 10 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 surrounding information such as data on the sound, images, smells, etc. of the scene), and the state of the user 10 recognized by the user 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に含まれるタッチセンサで衝撃が検出されたことに基づいて、ユーザ10の感情の変化を認識してよい。センサ部200に含まれるタッチセンサで衝撃が検出された場合に、ユーザ10の感情が悪くなったと認識したり、センサ部200に含まれるタッチセンサの検出結果から、ユーザ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 a touch sensor included in the sensor unit 200. If an impact is detected by the touch sensor 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 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 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.
図3は、ロボット100において行動を決定する動作に関する動作フローの一例を概略的に示す。図3に示す動作フローは、繰り返し実行される。このとき、センサモジュール部210で解析された情報が入力されているものとする。なお、動作フロー中の「S」は、実行されるステップを表す。 Figure 3 shows an example of an outline of an operation flow relating to the operation of determining an action in the robot 100. The operation flow shown in Figure 3 is executed repeatedly. At this time, it is assumed that information analyzed by the sensor module unit 210 is input. Note that "S" in the operation flow indicates the step that is executed.
まず、ステップS100において、ユーザ状態認識部230は、センサモジュール部210で解析された情報に基づいて、ユーザ10の状態を認識する。 First, in step S100, the user state recognition unit 230 recognizes the state of the user 10 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 user state recognition unit 230.
ステップS103において、感情決定部232は、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザ10の状態に基づいて、ロボット100の感情を示す感情値を決定する。感情決定部232は、決定したユーザ10の感情値を履歴データ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 user state recognition unit 230. The emotion determination unit 232 adds the determined emotion value of the user 10 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 user state recognition unit 230.
ステップS106において、行動決定部236は、ステップS102で決定されたユーザ10の現在の感情値及び履歴データ222に含まれる過去の感情値の組み合わせと、ロボット100の感情値と、行動認識部234によって認識されたユーザ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 by the behavior recognition unit 234, and the reaction rules 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 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において、行動決定部236によって決定された行動と、現時点から一定期間前までの、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザ10の状態と、を、履歴データ222に記憶する。 In step S114, 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 user state recognition unit 230 are stored 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.
上記実施形態では、ロボット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は、ロボット100及びサーバ300として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。 Figure 4 shows an example of a hardware configuration of a computer 1200 functioning as the robot 100 and the server 300. 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 operations or one or more "parts" associated with an apparatus according to the present embodiment, and/or to execute a process or steps of the process according to the present embodiment. Such a program can be executed by the CPU 1212 to cause the computer 1200 to execute specific 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 or near 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.
感情決定部232は、特定のマッピングに従い、ユーザの感情を決定してよい。具体的には、感情決定部232は、特定のマッピングである感情マップ(図5参照)に従い、ユーザの感情を決定してよい。 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は、複数の感情がマッピングされる感情マップ300を示す図である。感情マップ300において、感情は、中心から放射状に同心円に配置されている。同心円の中心に近いほど、原始的状態の感情が配置されている。同心円のより外側には、心境から生まれる状態や行動を表す感情が配置されている。感情とは、情動や心的状態も含む概念である。同心円の左側には、概して脳内で起きる反応から生成される感情が配置されている。同心円の右側には概して、状況判断で誘導される感情が配置されている。同心円の上方向及び下方向には、概して脳内で起きる反応から生成され、かつ、状況判断で誘導される感情が配置されている。また、同心円の上側には、「快」の感情が配置され、下側には、「不快」の感情が配置されている。このように、感情マップ300では、感情が生まれる構造に基づいて複数の感情がマッピングされており、同時に生じやすい感情が、近くにマッピングされている。 5 is a diagram showing an emotion map 300 on which multiple emotions are mapped. In the emotion map 300, 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 mental states are arranged on the outer sides 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 300, 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は感情マップ300の曼荼羅の方向性とその度合い(強さ)に応じて、反応動作(相槌など)を行う。なお、感情エンジンの検知頻度(サンプリングレート)は、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 300. 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)感情マップ300と照らし合わせ、感情の方向性とその度合いの強さを予め設定しておき、相槌の動き及び相槌の強弱を設定してよい。例えば、ロボット100が安定感、安心などを感じている場合、ロボット100は、頷いて話を聞き続ける。ロボット100が不安、迷い、怪しい感じを覚えている場合、ロボット100は、首をかしげてもよく、首振りを止めてもよい。 (2) The directionality of emotions and the strength of their intensity may be preset in reference to the emotion map 300, 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.
これらの感情は、感情マップ300の3時の方向に分布しており、普段は安心と不安のあたりを行き来する。感情マップ300の右半分では、内部的な感覚よりも状況認識の方が優位に立つため、落ち着いた印象になる。 These emotions are distributed in the three o'clock direction on emotion map 300, and usually fluctuate between relief and anxiety. In the right half of emotion map 300, situational awareness takes precedence over internal sensations, resulting in a sense of calm.
(3)ロボット100が褒められて快感を覚えた場合、「あー」というフィラーが台詞の前に入り、きつい言葉をもらって痛感を覚えた場合、「うっ!」というフィラーが台詞の前に入ってよい。また、ロボット100が「うっ!」と言いつつうずくまる仕草などの身体的な反応を含めてよい。これらの感情は、感情マップ300の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 300.
(4)感情マップ300の左半分では、状況認識よりも内部的な感覚(反応)の方が優位に立つ。よって、思わず反応してしまった印象を与え得る。 (4) In the left half of the emotion map 300, internal sensations (reactions) are more important than situational awareness. This can give the impression that the person is reacting unconsciously.
ロボット100が納得感という内部的な感覚(反応)を覚えながら状況認識においても好感を覚える場合、ロボット100は、相手を見ながら深く頷いてよく、また「うんうん」と発してよい。このように、ロボット100は、相手へのバランスのとれた好感、すなわち、相手への許容や寛容といった行動を生成してよい。このような感情は、感情マップ300の12時あたりに分布している。 When the robot 100 feels a favorable feeling in its situational awareness while also feeling an internal sensation (reaction) of a sense 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 300.
逆に、ロボット100が不快感という内部的な感覚(反応)を覚えながら状況認識においても、ロボット100は、嫌悪を覚えるときには首を横に振る、憎しみを覚えるくらいになると、目のLEDを赤くして相手を睨んでもよい。このような感情は、感情マップ300の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 300.
(5)感情マップ300の内側は心の中、感情マップ300の外側は行動を表すため、感情マップ300の外側に行くほど、感情が目に見える(行動に表れる)ようになる。 (5) The inside of emotion map 300 represents what is going on inside one's mind, while the outside of emotion map 300 represents behavior, so the further out on emotion map 300 you go, the more visible the emotions become (the more they are expressed in behavior).
(6)感情マップ300の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 300, 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.
感情決定部232は、センサモジュール部210で解析された情報、及び認識されたユーザ10の状態を、予め学習されたニューラルネットワークに入力し、感情マップ300に示す各感情を示す感情値を取得し、ユーザ10の感情を決定する。このニューラルネットワークは、センサモジュール部210で解析された情報、及び認識されたユーザ10の状態と、感情マップ300に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。また、このニューラルネットワークは、図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 300, 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 300. 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の状態を、予め学習されたニューラルネットワークに入力し、感情マップ300に示す各感情を示す感情値を取得し、ロボット100の感情を決定する。このニューラルネットワークは、センサモジュール部210で解析された情報、認識されたユーザ10の状態、及びロボット100の状態と、感情マップ300に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。例えば、タッチセンサ(図示省略)の出力から、ロボット100がユーザ10になでられていると認識される場合に、「嬉しい」の感情値「3」となることを表す学習データや、加速度センサ(図示省略)の出力から、ロボット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 user 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 300, 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 300. 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 an acceleration sensor (not shown), 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 ask about the robot's behavior corresponding to the user's behavior to the text representing the user's behavior, the user's emotions, and the robot's emotions, and inputting the text into the 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に示すような感情テーブルを用意しておく。
ここで、ユーザの行動が、「***」と話しかけるであり、ロボット100の感情が、インデックス番号「2」であり、ユーザ10の感情が、インデックス番号「3」である場合には、
「ロボットはとても楽しい状態です。ユーザは普通に楽しい状態です。ユーザに「***」と話しかけられました。ロボットとして、どのように返事をしますか?」
と文章生成モデルに入力し、ロボットの行動内容を取得する。行動決定部236は、この行動内容から、ロボットの行動を決定する。
In addition, an emotion table as shown in Table 2 is prepared for the emotions of the user 10.
In this case, if the user's action is speaking "***", the robot 100's emotion is index number "2", and the user's emotion is index number "3",
"The robot is in a very happy state. The user is in a normal happy state. The user says "***". As the robot, how would you 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.
このように、ロボット100は、ロボットの感情に応じたインデックス番号に応じて、ロボットの行動を変えることができるため、ユーザは、ロボットに心があるような印象を持ち、ロボットに対して話しかけるなどの行動をとることが促進される。 In this way, the robot 100 can change its behavior according to the index number that corresponds to the robot's emotions, so that the user gets 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.
なお、ロボット100を、ぬいぐるみに搭載してもよいし、ぬいぐるみに搭載された制御対象機器(スピーカやカメラ)に無線又は有線で接続された制御装置に適用してもよい。 The robot 100 may be mounted on a stuffed toy, or may be applied to a control device connected wirelessly or by wire to a control target device (speaker or camera) mounted on the stuffed toy.
以上の説明では、行動制御システムをロボット100に適用する場合を例示したが、本発明は、この態様に限定されない。図7は、行動制御システムの機能の一部又は全部を利用して構成されるエージェントシステム50の機能ブロック図である。エージェントシステム50は、ユーザ60との間で行われる対話を通じてユーザ60の意図に沿った一連の行動を行うコンピュータシステムである。ユーザ60との対話は、音声又はテキストによって行うことが可能である。 In the above explanation, an example is given of the case where the behavior control system is applied to the robot 100, but the present invention is not limited to this aspect. FIG. 7 is a functional block diagram of an agent system 50 configured using some or all of the functions of the behavior control system. The agent system 50 is a computer system that performs a series of actions in accordance with the intentions of the user 60 through dialogue with the user 60. The dialogue with the user 60 can be carried out by voice or text.
エージェントシステム50は、例えば、ロボット、人形、ぬいぐるみ、ペンダント、スマートウォッチ、スマートフォン、スマートスピーカ、イヤホン及びパーソナルコンピュータなどに搭載され得る。また、エージェントシステム50は、ウェブサーバに実装され、ユーザが所持するスマートフォン等の通信端末上で動作するウェブブラウザを介して利用されてもよい。 The agent system 50 may be installed in, for example, a robot, a doll, a stuffed animal, a pendant, a smart watch, a smartphone, a smart speaker, earphones, a personal computer, etc. The agent system 50 may also be implemented in a web server and used via a web browser running on a communication terminal such as a smartphone owned by the user.
エージェントシステム50は、例えばユーザ60のために行動するバトラー、秘書、教師、パートナー、友人、恋人又は教師としての役割を担う。エージェントシステム50は、ユーザ60と対話するだけでなく、アドバイスの提供、目的地までの案内又はユーザの好みに応じたリコメンド等を行う。また、エージェントシステム50はサービスプロバイダ70に対して予約、注文又は代金の支払い等を行う。 The agent system 50 plays a role of, for example, a butler, secretary, teacher, partner, friend, lover, or teacher acting for the user 60. The agent system 50 not only converses with the user 60, but also provides advice, guides the user to a destination, or makes recommendations based on the user's preferences. The agent system 50 also makes reservations, orders, or makes payments to the service provider 70.
エージェントシステム50は、感情エンジン53を備えることで、ユーザ60の感情及びエージェント自身の感情を決定し、ユーザ60及びエージェントの感情も加味しつつユーザ60のために行動する。ここで、エージェントとは、ソフトウエア上で動作するエージェントである。すなわち、エージェントシステム50は、ユーザ60の感情を理解し、空気を読んで心からのサポート、アシスト、アドバイス及びサービス提供を実現する。また、エージェントシステム50は、ユーザ60の悩み相談にものり、ユーザを慰め、励まし、元気づける。また、エージェントシステム50は、ユーザ60と遊び、絵日記を描き、昔を思い出させてくれる。エージェントシステム50は、ユーザ60の幸福感が増すような行動を行う。 The agent system 50 is equipped with an emotion engine 53, which determines the emotions of the user 60 and the agent's own emotions, and acts on behalf of the user 60 while taking into account the emotions of the user 60 and the agent. Here, the agent is an agent that runs on software. In other words, the agent system 50 understands the emotions of the user 60, reads the mood, and provides heartfelt support, assistance, advice, and services. The agent system 50 also listens to the worries of the user 60, comforts, encourages, and cheers up the user. The agent system 50 also plays with the user 60, draws picture diaries, and helps the user reminisce about the past. The agent system 50 acts in a way that increases the user 60's sense of happiness.
エージェントシステム50は、対話処理部51、キャラクタ設定部52、感情エンジン53、対話履歴格納部54、文章生成モデル55、コマンド取得部56及びRPA(Robotic Process Automation)57を有する。 The agent system 50 has a dialogue processing unit 51, a character setting unit 52, an emotion engine 53, a dialogue history storage unit 54, a sentence generation model 55, a command acquisition unit 56, and RPA (Robotic Process Automation) 57.
対話処理部51は、発話に関する処理を行う行動決定部236及び行動制御部250を含んで構成されるものである。対話処理部51は、ユーザ60と対話するためのエージェントの発話内容を生成し、これを音声及びテキストの少なくとも一方によって出力する。 The dialogue processing unit 51 includes a behavior decision unit 236 that performs processing related to speech, and a behavior control unit 250. The dialogue processing unit 51 generates the content of the agent's speech to converse with the user 60, and outputs this as at least one of voice and text.
キャラクタ設定部52は、ユーザ60からの指定に基づいて、エージェントシステム50がユーザ60と対話を行う際のエージェント(図9に示すエージェント52Aに相当)のキャラクタを設定する。すなわち、対話処理部51から出力される発話内容は、設定されたキャラクタを有するエージェントを通じて出力される。キャラクタとして、例えば、俳優、芸能人、アイドル、スポーツ選手等の実在の著名人又は有名人を設定することが可能である。また、漫画、映画又はアニメーションに登場する架空のキャラクタを設定することも可能である。例えば、映画「ローマの休日」の登場する「オードリー・ヘップバーン」が演じる「アン王女」をエージェントのキャラクタとして設定することが可能である。エージェントのキャラクタが既知のものである場合には、当該キャラクタの声、言葉遣い、口調及び性格は、既知であるため、ユーザ60が自分の好みのキャラクタを指定するのみで、キャラクタ設定部52におけるプロンプト設定が自動で行われる。設定されたキャラクタの声、言葉遣い、口調及び性格が、ユーザ60との対話において反映される。すなわち、対話処理部51は、キャラクタ設定部52によって設定されたキャラクタに応じた音声を合成し、合成した音声によってエージェントの発話内容を出力する。これにより、ユーザ60は、自分の好みのキャラクタ(例えば好きな俳優)本人と対話しているような感覚を持つことができる。 The character setting unit 52 sets the character of the agent (corresponding to the agent 52A shown in FIG. 9) when the agent system 50 converses with the user 60 based on the designation from the user 60. That is, the speech content output from the dialogue processing unit 51 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" who appears 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 the user 60 only needs to designate the character of his/her choice, and the prompt setting in the character setting unit 52 is automatically performed. The voice, speech, tone, and personality of the set character are reflected in the dialogue with the user 60. That is, the dialogue processor 51 synthesizes a voice according to the character set by the character setting unit 52, and outputs the agent's speech using the synthesized voice. This allows the user 60 to feel as if he or she is conversing with a character of his or her choice (e.g., a favorite actor) himself or herself.
エージェントシステム50が例えばスマートフォン等のディスプレイを有するデバイスに搭載される場合、キャラクタ設定部52によって設定されたキャラクタを有するエージェントのアイコン、静止画又は動画がディスプレイに表示されてもよい。エージェントの画像は、例えば、3Dレンダリング等の画像合成技術を用いて生成される。エージェントシステム50において、エージェントの画像が、ユーザ60の感情、エージェントの感情及びエージェントの発話内容に応じたジェスチャーを行いながらユーザ60との対話が行われてもよい。なお、エージェントシステム50は、ユーザ60との対話に際し、画像は出力せずに音声のみを出力してもよい。 When the agent system 50 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 52 may be displayed on the display. The image of the agent is generated using image synthesis technology, such as 3D rendering. In the agent system 50, a dialogue with the user 60 may be conducted while the image of the agent makes gestures according to the emotions of the user 60, the emotions of the agent, and the content of the agent's speech. Note that when engaging in a dialogue with the user 60, the agent system 50 may output only audio without outputting an image.
感情エンジン53は、感情決定部232を含んで構成されるものであり、ユーザ60の感情を示す感情値及びエージェント自身の感情値を決定する。エージェント自身の感情値は、設定されたキャラクタの感情に反映される。エージェントシステム50が、ユーザ60と対話する際、ユーザ60の感情のみならず、キャラクタの感情が対話に反映される。すなわち、対話処理部51は、感情エンジン53によって決定された感情に応じた態様で発話内容を出力する。 The emotion engine 53 includes an emotion determination unit 232 and determines an emotion value indicating the emotion of the user 60 and an emotion value of the agent itself. The emotion value of the agent itself is reflected in the emotion of the set character. When the agent system 50 converses with the user 60, not only the emotion of the user 60 but also the emotion of the character is reflected in the dialogue. In other words, the dialogue processing unit 51 outputs the speech content in a manner according to the emotion determined by the emotion engine 53.
また、エージェントシステム50が、ユーザ60に向けた行動を行う場合においてもエージェントの感情が反映される。例えば、ユーザ60がエージェントシステム50に写真撮影を依頼した場合において、エージェントシステム50がユーザの依頼に応じて写真撮影を行うか否かは、エージェントが抱いている「悲」の感情の度合いに応じて決まる。エージェントは、ポジティブな感情を抱いている場合には、ユーザ60に対して好意的な対話又は行動を行い、ネガティブな感情を抱いている場合には、ユーザ60に対して反抗的な対話又は行動を行う。 The agent's emotions are also reflected when the agent system 50 behaves toward the user 60. For example, when the user 60 requests the agent system 50 to take a photo, whether the agent system 50 will take a photo in response to the user's request is determined by the degree of "sadness" the agent is feeling. If the agent is feeling positive emotions, it will engage in friendly dialogue or behavior toward the user 60, and if the agent is feeling negative emotions, it will engage in hostile dialogue or behavior toward the user 60.
対話履歴格納部54は、ユーザ60とエージェントシステム50との間で行われた対話の履歴を保存しておくための記憶媒体である。対話履歴格納部54は、格納部220の履歴データ222によって実現されてもよいし、外部のクラウドストレージによって実現されてもよい。エージェントシステム50は、ユーザ60と対話する場合又はユーザ60に向けた行動を行う場合、対話履歴格納部54に格納された対話履歴の内容を加味して対話内容又は行動内容を決定する。例えば、エージェントシステム50は、対話履歴格納部54に格納された対話履歴に基づいてユーザ60の趣味及び嗜好を把握する。エージェントシステム50は、ユーザ60の趣味及び嗜好に合った対話内容を生成したり、リコメンドを提供したりする。対話処理部51は、対話履歴格納部54に格納された対話履歴に基づいて発話内容を生成する。対話履歴格納部54には、ユーザ60との対話を通じて取得したユーザ60の氏名、住所、電話番号、クレジットカード番号等の個人情報が格納される。ここで、「クレジットカード番号を登録しておきますか?」など、エージェントが自発的にユーザ60に対して個人情報を登録するか否かを質問する発話をし、ユーザ60の回答に応じて、個人情報を対話履歴格納部54に格納するようにしてもよい。 The dialogue history storage unit 54 is a storage medium for storing the history of the dialogue between the user 60 and the agent system 50. The dialogue history storage unit 54 may be realized by the history data 222 of the storage unit 220, or may be realized by an external cloud storage. When the agent system 50 dialogues with the user 60 or takes an action toward the user 60, the content of the dialogue or the action is determined by taking into account the content of the dialogue history stored in the dialogue history storage unit 54. For example, the agent system 50 grasps the hobbies and preferences of the user 60 based on the dialogue history stored in the dialogue history storage unit 54. The agent system 50 generates dialogue content that matches the hobbies and preferences of the user 60 or provides recommendations. The dialogue processing unit 51 generates utterance content based on the dialogue history stored in the dialogue history storage unit 54. The dialogue history storage unit 54 stores personal information of the user 60, such as the name, address, telephone number, and credit card number, acquired through dialogue with the user 60. Here, the agent may proactively ask the user 60 whether or not to register personal information, such as "Would you like to register your credit card number?", and the personal information may be stored in the dialogue history storage unit 54 depending on the user 60's response.
文章生成モデル55は、入力されたテキスト又は音声に対する応答である文章を生成する。文章生成モデル55は、文字による自動対話処理のためのアルゴリズム及び演算と解釈してよい。文章生成モデルは、例えば特開2018-081444号公報やchatGPT(インターネット検索<URL: https://openai.com/blog/chatgpt>)に開示される通り公知であるため、その詳細な説明を省略する。このような、文章生成モデルは、大規模言語モデル(LLM:Large Language Model)により構成されている。 The sentence generation model 55 generates sentences that are responses to input text or voice. The sentence generation model 55 may be interpreted as algorithms and calculations for automatic dialogue processing using characters. 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>), so a detailed description thereof will be omitted. Such a sentence generation model is composed of a large language model (LLM: Large Language Model).
対話処理部51は、文章生成モデル55によって生成された文章に基づいて発話内容を生成する。具体的には、対話処理部51は、ユーザ60により入力されたテキストまたは音声、感情エンジン53によって特定されたユーザ60及びエージェントの双方の感情及び対話履歴格納部54に格納された会話の履歴を文章生成モデル55に入力して、エージェントの発話内容を生成する。このとき、対話処理部51は、更に、キャラクタ設定部52によって設定されたキャラクタの性格を、文章生成モデル55に入力して、エージェントの発話内容を生成してもよい。エージェントシステム50において、文章生成モデル55は、ユーザ60とのタッチポイントとなるフロントエンド側に位置するものではなく、あくまでエージェントシステム50の道具として利用される。 The dialogue processing unit 51 generates the speech content based on the sentences generated by the sentence generation model 55. Specifically, the dialogue processing unit 51 inputs the text or voice input by the user 60, the emotions of both the user 60 and the agent identified by the emotion engine 53, and the conversation history stored in the dialogue history storage unit 54 to the sentence generation model 55 to generate the agent's speech content. At this time, the dialogue processing unit 51 may further input the personality of the character set by the character setting unit 52 to the sentence generation model 55 to generate the agent's speech content. In the agent system 50, the sentence generation model 55 is not located on the front end side that is the touch point with the user 60, but is used merely as a tool for the agent system 50.
コマンド取得部56は、発話理解部212によって構成されるものであり、ユーザ60との対話を通じてユーザ60から発せられる音声又はテキストから、エージェントのコマンドを取得する。コマンドは、例えば、情報検索、店の予約、チケットの手配、商品・サービスの購入、代金の支払い、目的地までのルート案内、リコメンドの提供等のエージェントシステム50が実行すべき行動の内容を含む。 The command acquisition unit 56 is configured by the speech understanding unit 212, and acquires commands for the agent from the voice or text uttered by the user 60 through dialogue with the user 60. The commands include the content of the actions that the agent system 50 should execute, 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.
RPA57は、コマンド取得部56によって取得されたコマンドに応じた行動を行う。RPA57は、例えば、情報検索、店の予約、チケットの手配、商品・サービスの購入、代金の支払い等のサービスプロバイダ70の利用に関する行動を行う。RPA57は、本発明における「動作実行部」の一例である。 The RPA 57 performs an action according to the command acquired by the command acquisition unit 56. The RPA 57 performs an action related to the use of the service provider 70, such as information search, store reservation, ticket arrangement, purchase of goods and services, payment, etc. The RPA 57 is an example of an "action execution unit" in the present invention.
RPA57は、サービスプロバイダ70の利用に関する行動を実行するために必要なユーザ60の個人情報を、対話履歴格納部54から読み出して利用する。例えば、エージェントシステム50は、ユーザ60からの依頼に応じて商品の購入を行う場合、対話履歴格納部54に格納されているユーザ60の氏名、住所、電話番号、クレジットカード番号等の個人情報を読み出して利用する。初期設定においてユーザ60に個人情報の入力を要求することは不親切であり、ユーザにとっても不快である。本実施形態に係るエージェントシステム50においては、初期設定においてユーザ60に個人情報の入力を要求するのではなく、ユーザ60との対話を通じて取得した個人情報を記憶しておき、必要に応じて読み出して利用する。これにより、ユーザ60に不快な思いをさせることを回避でき、ユーザの利便性が向上する。 The RPA 57 reads out from the dialogue history storage unit 54 the personal information of the user 60 required to execute actions related to the use of the service provider 70, and uses it. For example, when the agent system 50 purchases a product at the request of the user 60, it reads out and uses the personal information of the user 60, such as the name, address, telephone number, and credit card number, stored in the dialogue history storage unit 54. It is unkind to require the user 60 to input personal information in the initial settings, and it is unpleasant for the user. In the agent system 50 according to this embodiment, instead of requiring the user 60 to input personal information in the initial settings, the personal information acquired through the dialogue with the user 60 is stored, and is read out and used as necessary. This makes it possible to avoid making the user 60 feel uncomfortable, and improves user convenience.
エージェントシステム50は、以下のステップ1~ステップ6により、対話処理を実行する。
(ステップ1)エージェントシステム50は、エージェントのキャラクタを設定する。具体的には、キャラクタ設定部52は、ユーザ60からの指定に基づいて、エージェントシステム50がユーザ60と対話を行う際のエージェントのキャラクタを設定する。
The agent system 50 executes the dialogue process through the following steps 1 to 6.
(Step 1) The agent system 50 sets an agent character. Specifically, the character setting unit 52 sets an agent character when the agent system 50 converses with the user 60, based on a designation from the user 60.
(ステップ2)エージェントシステム50は、ユーザ10から入力された音声又はテキストを含むユーザ10の状態、ユーザ10の感情値、ロボット100の感情値、履歴データ222を取得する。具体的には、上記ステップS100~S103と同様の処理を行い、ユーザ10から入力された音声又はテキストを含むユーザ10の状態、ユーザ10の感情値、ロボット100の感情値、及び履歴データ222を取得する。 (Step 2) The agent system 50 acquires the state of the user 10, including the voice or text input by the user 10, the emotional value of the user 10, the emotional value of the robot 100, and the history data 222. Specifically, the agent system 50 performs the same processes as steps S100 to S103 described above, and acquires the state of the user 10, including the voice or text input by the user 10, the emotional value of the user 10, the emotional value of the robot 100, and the history data 222.
(ステップ3)エージェントシステム50は、エージェントの発話内容を決定する。具体的には、対話処理部51は、ユーザ60により入力されたテキストまたは音声、感情エンジン53によって特定されたユーザ60及びキャラクタの双方の感情及び対話履歴格納部54に格納された会話の履歴を、文章生成モデル55に入力して、エージェントの発話内容を生成する。
例えば、ユーザ60により入力されたテキストまたは音声、感情エンジン53によって特定されたユーザ60及びキャラクタの双方の感情及び対話履歴格納部54に格納された会話の履歴を表すテキストに、「このとき、エージェントとして、どのように返事をしますか?」という固定文を追加して、文章生成モデル55に入力し、エージェントの発話内容を取得する。
一例として、ユーザ60に入力されたテキスト又は音声が「今夜7時に、近くの美味しいチャイニーズレストランを予約してほしい」である場合、エージェントの発話内容として、「かしこまりました。」、「こちらがおすすめのレストランです。1.AAAA。2.BBBB。3.CCCC。4.DDDD」が取得される。
また、ユーザ60に入力されたテキスト又は音声が「4番目のDDDDがいい」である場合、エージェントの発話内容として、「かしこまりました。予約してみます。何名の席です。」が取得される。
(Step 3) The agent system 50 determines the content of the agent's utterance. Specifically, the dialogue processing unit 51 inputs the text or voice input by the user 60, the emotions of both the user 60 and the character specified by the emotion engine 53, and the conversation history stored in the dialogue history storage unit 54 to the sentence generation model 55, and generates the content of the agent's utterance.
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 60, the emotions of both the user 60 and the character identified by the emotion engine 53, and the text representing the conversation history stored in the dialogue history storage unit 54, and this is input into the sentence generation model 55 to obtain the content of the agent's speech.
As an example, if the text or voice input by user 60 is "Please make a reservation at a delicious Chinese restaurant nearby for tonight at 7pm," the agent's speech may be retrieved as "Understood," and "Here are some recommended restaurants: 1. AAAA. 2. BBBB. 3. CCCC. 4. DDDD."
Also, if the text or voice input by the user 60 is "Number 4, DDDD, would be good," the agent's speech content acquired is "Understood. I will make a reservation. How many seats are there?".
(ステップ4)エージェントシステム50は、エージェントの発話内容を出力する。具体的には、対話処理部51は、キャラクタ設定部52によって設定されたキャラクタに応じた音声を合成し、合成した音声によってエージェントの発話内容を出力する。 (Step 4) The agent system 50 outputs the agent's speech. Specifically, the dialogue processing unit 51 synthesizes a voice corresponding to the character set by the character setting unit 52, and outputs the agent's speech using the synthesized voice.
(ステップ5)エージェントシステム50は、エージェントのコマンドを実行するタイミングであるか否かを判定する。具体的には、対話処理部51は、文章生成モデル55の出力に基づいて、エージェントのコマンドを実行するタイミングであるか否かを判定する。例えば、文章生成モデルの出力に、エージェントがコマンドを実行する旨が含まれている場合には、エージェントのコマンドを実行するタイミングであると判定し、ステップ6へ移行する。一方、エージェントのコマンドを実行するタイミングでないと判定された場合には、上記ステップ2へ戻る。 (Step 5) The agent system 50 determines whether it is time to execute the agent's command. Specifically, the dialogue processing unit 51 determines whether it is time to execute the agent's command based on the output of the sentence generation model 55. For example, if the output of the sentence generation model includes information indicating that the agent will execute a command, it determines that it is time to execute the agent's command and proceeds to step 6. On the other hand, if it is determined that it is not time to execute the agent's command, it returns to step 2 above.
(ステップ6)エージェントシステム50は、エージェントのコマンドを実行する。具体的には、コマンド取得部56は、ユーザ60との対話を通じてユーザ60から発せられる音声又はテキストから、エージェントのコマンドを取得する。そして、RPA57は、コマンド取得部56によって取得されたコマンドに応じた行動を行う。例えば、コマンドが「情報検索」である場合、ユーザ60との対話を通じて得られた検索クエリ、及びAPI(Application Programming Interface)を用いて、検索サイトにより、情報検索を行う。対話処理部51は、検索結果を、文章生成モデル55に入力して、エージェントの発話内容を生成する。対話処理部51は、キャラクタ設定部52によって設定されたキャラクタに応じた音声を合成し、合成した音声によってエージェントの発話内容を出力する。
また、コマンドが「店の予約」である場合、ユーザ60との対話を通じて得られた予約情報、予約先の店情報、及びAPI(Application Programming Interface)を用いて、電話ソフトウエアにより、予約先の店へ電話をかけて、予約を行う。このとき、対話処理部51は、対話機能を有する文章生成モデルを用いて、相手から入力された音声に対するエージェントの発話内容を取得する。そして、対話処理部51は、店の予約の結果(予約の正否)を、文章生成モデル55に入力して、エージェントの発話内容を生成する。対話処理部51は、キャラクタ設定部52によって設定されたキャラクタに応じた音声を合成し、合成した音声によってエージェントの発話内容を出力する。そして、上記ステップ2へ戻る。
(Step 6) The agent system 50 executes the command of the agent. Specifically, the command acquisition unit 56 acquires the command of the agent from the voice or text issued by the user 60 through a dialogue with the user 60. Then, the RPA 57 performs an action according to the command acquired by the command acquisition unit 56. 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 60 and an API (Application Programming Interface). The dialogue processing unit 51 inputs the search results into the sentence generation model 55 to generate the utterance contents of the agent. The dialogue processing unit 51 synthesizes a voice according to the character set by the character setting unit 52, and outputs the utterance contents of the agent by the synthesized voice.
Also, if the command is "reserve a restaurant", the reservation information obtained through the dialogue with the user 60, the restaurant information, and an API (Application Programming Interface) are used to make a phone call to the restaurant by telephone software to make the reservation. At this time, the dialogue processing unit 51 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 dialogue processing unit 51 then inputs the result of the restaurant reservation (whether the reservation was successful or not) to the sentence generation model 55 to generate the agent's utterance. The dialogue processing unit 51 synthesizes a voice according to the character set by the character setting unit 52, and outputs the agent's utterance using the synthesized voice. Then, the process returns to step 2.
ステップ6において、エージェントにより実行された行動(例えば、店の予約)の結果についても対話履歴格納部54に格納される。対話履歴格納部54に格納されたエージェントにより実行された行動の結果は、エージェントシステム50によりユーザ60の趣味、又は嗜好を把握することに活用される。例えば、同じ店を複数回予約している場合には、その店をユーザ60が好んでいると認識したり、予約した時間帯、又はコースの内容もしくは料金等の予約内容を次回の予約の際にお店選びの基準としたりする。 In step 6, the results of the actions taken by the agent (e.g., making a restaurant reservation) are also stored in the dialogue history storage unit 54. The results of the actions taken by the agent stored in the dialogue history storage unit 54 are used by the agent system 50 to understand the hobbies or preferences of the user 60. For example, if the same restaurant has been reserved multiple times, the agent system 50 may recognize that the user 60 likes that restaurant, and may use the reservation details, such as the reserved time period, or the course content or price, as a criterion for choosing a restaurant the next time the reservation is made.
このように、エージェントシステム50は、対話処理を実行し、必要に応じて、サービスプロバイダ70の利用に関する行動を行うことができる。なお、ユーザが寝ている間に、エージェントシステム50は、事前に取得したユーザの好みに基づいて、ユーザが関心の高いニュースなどを検索しておき、ユーザが起きた時に、エージェントシステム50は、自分からそのニュースを伝えるようにしてもよい。例えば、エージェントから、「昨日、ヤンキースが試合に勝ったみたいだよ。今晩、野球場に応援しに行こうよ。」と発話する。そして、ユーザが「お父さんに相談しなくちゃ」と発話すると、お父さんは「チケットが取れるかどうか分からない」と発話する。そして、エージェントから、「チケットが取れるかどうか確認します」と発話し、ユーザとの対話から、シートのリクエストなどをヒアリングし、チケットを確保する。 In this way, the agent system 50 executes dialogue processing and can take action related to the use of the service provider 70 as necessary. While the user is sleeping, the agent system 50 may search for news of high interest to the user based on the user's preferences acquired in advance, and when the user wakes up, the agent system 50 may deliver the news to the user. For example, the agent may say, "Looks like the Yankees won the game yesterday. Let's go to the baseball stadium tonight to cheer them on." If the user then says, "I'll have to ask my dad," the dad may say, "I don't know if we can get tickets." The agent may then say, "I'll check if we can get tickets," and from the dialogue with the user, hear seat requests and the like, and secure the tickets.
図8及び図9は、エージェントシステム50の動作の一例を示す図である。図8には、エージェントシステム50が、ユーザ60との対話を通じてレストランの予約を行う態様が例示されている。エージェントシステム50は、ユーザ60との対話履歴に基づいてユーザ60の好みを把握し、ユーザ60の好みに合ったレストランのリコメンドリストを提供し、選択されたレストランの予約を実行することができる。 Figures 8 and 9 are diagrams showing an example of the operation of the agent system 50. Figure 8 illustrates an example of the agent system 50 making a restaurant reservation through dialogue with the user 60. The agent system 50 is able to ascertain the preferences of the user 60 based on the dialogue history with the user 60, provide a recommended list of restaurants that match the preferences of the user 60, and make a reservation at the selected restaurant.
一方、図9には、エージェントシステム50が、ユーザ60との対話を通じて通信販売サイトにアクセスして商品の購入を行う態様が例示されている。エージェントシステム50は、ユーザ60との対話履歴に基づいて、ユーザ60がストックしている飲料の残量を推測し、ユーザ60に当該飲料の購入を提案し、実行することができる。また、エージェントシステム50は、ユーザ60との過去の対話履歴に基づいて、ユーザの好みを把握し、ユーザが好むスナックをリコメンドすることができる。このように、エージェントシステム50は、執事のようなエージェントとしてユーザ60とコミュニケーションを取りながら、レストラン予約、又は、商品の購入決済など様々な行動まで実行することで、ユーザ60の日々の生活を支えてくれる。 On the other hand, FIG. 9 illustrates an example in which the agent system 50 accesses a mail order site through a dialogue with the user 60 to purchase a product. Based on the dialogue history with the user 60, the agent system 50 can estimate the remaining amount of beverages in the user 60's stock, and propose and execute the purchase of the beverage to the user 60. The agent system 50 can also understand the user's preferences based on the past dialogue history with the user 60, and recommend snacks that the user likes. In this way, the agent system 50 supports the user 60's daily life by communicating with the user 60 as a butler-like agent and performing various actions such as making restaurant reservations or purchasing and paying for products.
以上説明したエージェントシステム50は、スマート眼鏡72に適用することが可能である。図10は、スマート眼鏡72のハードウェア構成の一例を示すブロック図である。スマート眼鏡72は、眼鏡型のスマートデバイスであり、一般的な眼鏡と同様にユーザ60によって装着される。スマート眼鏡72は、制御装置74、ディスプレイ76、タッチパネル78、スピーカ80、センサ群82、マイクロフォン84、カメラ86、及び通信I/F88を備えている。スマート眼鏡72は、本発明における「電子機器」及び「ウェアラブル端末」の一例である。 The agent system 50 described above can be applied to smart glasses 72. FIG. 10 is a block diagram showing an example of the hardware configuration of smart glasses 72. Smart glasses 72 are glasses-type smart devices, and are worn by a user 60 in the same manner as regular glasses. Smart glasses 72 include a control device 74, a display 76, a touch panel 78, a speaker 80, a group of sensors 82, a microphone 84, a camera 86, and a communication I/F 88. Smart glasses 72 are an example of an "electronic device" and a "wearable terminal" in the present invention.
制御装置74は、スマート眼鏡72の全体を制御する装置であり、例えば、図示しないプロセッサ、メモリ、及びストレージによって構成される。ディスプレイ76は、ユーザ60に対して各種情報を表示する。ディスプレイ76は、例えば、液晶ディスプレイである。ディスプレイ76は、例えば、スマート眼鏡72のレンズ部分に設けられており、ユーザ60によって表示内容が視認可能とされている。タッチパネル78は、ユーザ60からの入力を受け付ける。スピーカ80は、ユーザ60に対して各種情報を示す音声を出力する。 The control device 74 is a device that controls the entire smart glasses 72, and is composed of, for example, a processor, memory, and storage (not shown). The display 76 displays various information to the user 60. The display 76 is, for example, a liquid crystal display. The display 76 is provided, for example, in the lens portion of the smart glasses 72, and the display contents are visible to the user 60. The touch panel 78 accepts input from the user 60. The speaker 80 outputs audio indicating various information to the user 60.
センサ群82は、ユーザ60の状態を検出する。センサ群82は、複数のセンサを含んで構成されている。例えば、センサ群82は、加速度センサ82A、温度センサ82B、及び心拍センサ82Cを含んでいる。なお、これらのセンサはあくまで一例にすぎず、ユーザ60の状態を検出するためにその他のセンサが搭載されてよいことはもちろんである。 The sensor group 82 detects the state of the user 60. The sensor group 82 is configured to include a plurality of sensors. For example, the sensor group 82 includes an acceleration sensor 82A, a temperature sensor 82B, and a heart rate sensor 82C. Note that these sensors are merely examples, and it goes without saying that other sensors may be installed to detect the state of the user 60.
マイクロフォン84は、ユーザ60が発した音声又はスマート眼鏡72の周囲の環境音を取得する。カメラ86は、スマート眼鏡72の周囲を撮像可能とされている。また、カメラ86は、ユーザ60の顔も撮像可能である。カメラ86は、例えば、CCDカメラである。通信I/F88は、スマート眼鏡72と外部との通信を司る。制御装置74、ディスプレイ76、タッチパネル78、スピーカ80、センサ群82、マイクロフォン84、カメラ86、及び通信I/F88は、バス90に接続されている。 The microphone 84 captures the voice emitted by the user 60 or the environmental sounds around the smart glasses 72. The camera 86 is capable of capturing images of the surroundings of the smart glasses 72. The camera 86 is also capable of capturing images of the face of the user 60. The camera 86 is, for example, a CCD camera. The communication I/F 88 controls communication between the smart glasses 72 and the outside. The control device 74, the display 76, the touch panel 78, the speaker 80, the sensor group 82, the microphone 84, the camera 86, and the communication I/F 88 are connected to a bus 90.
図11は、スマート眼鏡72によるエージェントシステム50の利用態様の一例を示す図である。スマート眼鏡72は、ユーザ60に対してエージェントシステム50を利用した各種サービスの提供を実現する。例えば、ユーザ60によりスマート眼鏡72が操作(例えば、マイクロフォンに対する音声入力、又は指でタッチパネルがタップされる等)されると、スマート眼鏡72は、エージェントシステム50の利用を開始する。ここで、エージェントシステム50を利用するとは、制御装置74が、エージェントシステム50と同様の機能を有し、当該機能を利用することを含み、また、スマート眼鏡72が通信I/F88を介して、外部(例えば、サーバ)と通信することで、スマート眼鏡72の外部に記憶されたエージェントシステム50を利用する態様も含む。 FIG. 11 is a diagram showing an example of how the agent system 50 is used by the smart glasses 72. The smart glasses 72 provide various services to the user 60 using the agent system 50. For example, when the user 60 operates the smart glasses 72 (e.g., by voice input into a microphone or by tapping a touch panel with a finger), the smart glasses 72 start using the agent system 50. Here, using the agent system 50 includes a case where the control device 74 has a function similar to that of the agent system 50 and uses that function, and also includes a case where the smart glasses 72 communicate with an external device (e.g., a server) via the communication I/F 88 to use the agent system 50 stored outside the smart glasses 72.
ユーザ60がスマート眼鏡72を操作することで、エージェントシステム50とユーザ60との間にタッチポイントが生じる。すなわち、エージェントシステム50によるサービスの提供が開始される。上述したように、エージェントシステム50において、キャラクタ設定部52によりエージェント52Aのキャラクタ(例えば、オードリー・ヘップバーンのキャラクタ)の設定が行われる。 When the user 60 operates the smart glasses 72, a touch point is created between the agent system 50 and the user 60. In other words, the agent system 50 starts providing a service. As described above, in the agent system 50, the character setting unit 52 sets the character of the agent 52A (for example, the character of Audrey Hepburn).
上述したように、感情エンジン53は、感情決定部232を含んで構成されるものであり、ユーザ60の感情を示す感情値及びエージェント自身の感情値を決定する。ここで、ユーザ60の感情を示す感情値は、スマート眼鏡72に搭載されたセンサ群82に含まれる各種センサから推定されてもよい。例えば、スマート眼鏡72に搭載された心拍センサ82Cにより検出されたユーザ60の心拍数が上昇している場合には、「不安」「恐怖」等の感情値が大きく推定される。心拍センサ82Cは、本発明における「取得部」の一例である。 As described above, the emotion engine 53 includes an emotion determination unit 232, and determines an emotion value indicating the emotion of the user 60 and an emotion value of the agent itself. Here, the emotion value indicating the emotion of the user 60 may be estimated from various sensors included in the sensor group 82 mounted on the smart glasses 72. For example, when the heart rate of the user 60 detected by the heart rate sensor 82C mounted on the smart glasses 72 is increasing, emotion values such as "anxiety" and "fear" are estimated to be large. The heart rate sensor 82C is an example of an "acquisition unit" in the present invention.
また、温度センサ82Bによりユーザの体温が測定された結果、例えば、平均体温を上回っている場合には、「苦痛」「辛い」等の感情値が大きく推定される。また、例えば、加速度センサ82Aによりユーザ60が何らかのスポーツを行っていることが検出された場合には、「楽しい」等の感情値が推定される。 In addition, when the temperature sensor 82B measures the user's body temperature and, for example, the result is higher than the average body temperature, an emotional value such as "pain" or "distress" is estimated to be high. In addition, when the acceleration sensor 82A detects that the user 60 is playing some kind of sport, an emotional value such as "fun" is estimated.
また、例えば、スマート眼鏡72に搭載されたカメラ86により撮像されたユーザ60の表情(例えば、悲しい表情)に基づいて、ユーザ60の感情値(例えば、「悲」の感情値)が推定されてもよい。この場合において、カメラ86は、本発明における「取得部」の一例である。 Also, for example, the emotion value of the user 60 (e.g., the emotion value of "sad") may be estimated based on the facial expression (e.g., a sad expression) of the user 60 captured by the camera 86 mounted on the smart glasses 72. In this case, the camera 86 is an example of the "acquisition unit" in the present invention.
また、例えば、スマート眼鏡72に搭載されたマイクロフォン84により取得されたユーザ60の音声、又は発話内容からユーザ60の感情値が推定されてもよい。例えば、ユーザ60が声を荒げている場合には、「怒り」等の感情値が推定される。この場合において、マイクロフォン84は、本発明における「取得部」の一例である。 Also, for example, the emotion value of the user 60 may be estimated from the voice of the user 60 or the content of the speech acquired by the microphone 84 mounted on the smart glasses 72. For example, if the user 60 is raising his/her voice, an emotion value such as "anger" is estimated. In this case, the microphone 84 is an example of the "acquisition unit" in the present invention.
感情エンジン53により推定された感情値が予め定められた値よりも高くなった場合、エージェントシステム50は、スマート眼鏡72に対して周囲の状況に関する情報を取得させる。具体的には、例えば、スマート眼鏡72に搭載されたカメラに対して、ユーザ60の周囲の状況(例えば、周囲にいる人物、又は物体)を示す画像又は動画を撮像させる。また、スマート眼鏡72に搭載されたマイクロフォンに対して周囲の環境音を録音させる。その他の周囲の状況に関する情報としては、日付、時刻、位置情報、又は天候を示す情報等が挙げられる。エージェントシステム50は、スマート眼鏡72から、感情値が高くなった場合の周囲の状況に関する情報を取得する。周囲の状況に関する情報は、感情値と共に周囲状況格納部54Aに保存される。周囲状況格納部54Aは、エージェントシステム50により取得された周囲の状況に関する情報を保存しておくための記憶媒体である。周囲状況格納部54Aは、対話履歴格納部54と同様に、格納部220の履歴データ222によって実現されてもよいし、外部のクラウドストレージによって実現されてもよい。このように、スマート眼鏡72によって得られた周囲の状況は、その時のユーザ60の感情値と対応付けられた状態で、いわゆるライフログとして周囲状況格納部54Aに保存される。 When the emotion value estimated by the emotion engine 53 becomes higher than a predetermined value, the agent system 50 causes the smart glasses 72 to acquire information about the surrounding situation. Specifically, for example, the camera mounted on the smart glasses 72 captures an image or video showing the surrounding situation of the user 60 (for example, people or objects in the vicinity). In addition, the microphone mounted on the smart glasses 72 records the surrounding environmental sound. Other information about the surrounding situation includes date, time, location information, or information indicating the weather. The agent system 50 acquires information about the surrounding situation when the emotion value becomes high from the smart glasses 72. The information about the surrounding situation is stored in the surrounding situation storage unit 54A together with the emotion value. The surrounding situation storage unit 54A is a storage medium for storing information about the surrounding situation acquired by the agent system 50. The surrounding situation storage unit 54A may be realized by the history data 222 of the storage unit 220, similar to the dialogue history storage unit 54, or may be realized by an external cloud storage. In this way, the surrounding situation obtained by the smart glasses 72 is stored in the surrounding situation storage unit 54A as a so-called life log in association with the emotion value of the user 60 at that time.
エージェントシステム50において、周囲状況格納部54Aに周囲の状況を示す情報が、感情値と対応付けられて保存される。これにより、ユーザ60の趣味、嗜好、又は性格等の個人情報がエージェントシステム50によって把握される。例えば、野球観戦の様子を示す画像と、「喜び」「楽しい」等の感情値が対応付けられている場合には、ユーザ60の趣味が野球観戦であり、好きなチーム、又は選手が周囲状況格納部54Aに格納された情報からエージェントシステム50により把握される。 In the agent system 50, information indicating the surrounding situation is stored in the surrounding situation storage unit 54A in association with an emotional value. This allows the agent system 50 to grasp personal information such as the user 60's hobbies, preferences, or personality. For example, if an image showing a baseball game is associated with an emotional value such as "joy" or "fun," the agent system 50 will understand that the user 60's hobby is watching baseball games and that the user's favorite team or player is based on the information stored in the surrounding situation storage unit 54A.
そして、エージェントシステム50は、ユーザ60と対話する場合又はユーザ60に向けた行動を行う場合、周囲状況格納部54Aに格納された周囲状況の内容を加味して対話内容又は行動内容を決定する。なお、周囲状況に加えて、上述したように対話履歴格納部54に格納された対話履歴を加味して対話内容又は行動内容が決定されてよいことはもちろんである。 When the agent system 50 converses with the user 60 or takes an action toward the user 60, the agent system 50 determines the content of the dialogue or the action by taking into account the content of the surrounding circumstances stored in the surrounding circumstances storage unit 54A. Of course, the dialogue content or the action content may be determined by taking into account the dialogue history stored in the dialogue history storage unit 54 as described above, in addition to the surrounding circumstances.
上述したように、対話処理部51は、文章生成モデル55によって生成された文章に基づいて発話内容を生成する。具体的には、対話処理部51は、ユーザ60により入力されたテキストまたは音声、感情エンジン53によって特定されたユーザ60及びエージェントの双方の感情、対話履歴格納部54に格納された会話の履歴、及びエージェントの性格等を文章生成モデル55に入力して、エージェントの発話内容を生成する。さらに、対話処理部51は、周囲状況格納部54Aに格納された周囲状況を文章生成モデル55に入力して、エージェントの発話内容を生成する。 As described above, the dialogue processing unit 51 generates the speech content based on the sentences generated by the sentence generation model 55. Specifically, the dialogue processing unit 51 inputs the text or voice input by the user 60, the emotions of both the user 60 and the agent identified by the emotion engine 53, the conversation history stored in the dialogue history storage unit 54, and the agent's personality, etc., into the sentence generation model 55 to generate the agent's speech content. Furthermore, the dialogue processing unit 51 inputs the surrounding circumstances stored in the surrounding circumstances storage unit 54A into the sentence generation model 55 to generate the agent's speech content.
生成された発話内容は、例えば、スマート眼鏡72に搭載されたスピーカ80からユーザ60に対して音声出力される。この場合において、音声としてエージェントのキャラクタに応じた合成音声が用いられる。対話処理部51は、エージェントのキャラクタ(例えば、オードリー・ヘップバーン)の声質を再現することで、合成音声を生成したり、キャラクタの感情に応じた合成音声(例えば、「怒」の感情である場合には語気を強めた音声)を生成したりする。また、音声出力に代えて、又は音声出力とともに、ディスプレイ76に対して発話内容が表示されてもよい。スピーカ80及びディスプレイ76は、本発明における「出力部」の一例である。 The generated speech content is output to the user 60, for example, as audio from the speaker 80 mounted on the smart glasses 72. In this case, a synthetic voice corresponding to the character of the agent is used as the voice. The dialogue processing unit 51 generates a synthetic voice by reproducing the voice quality of the agent character (e.g., Audrey Hepburn), or generates a synthetic voice corresponding to the emotion of the character (e.g., a voice with a stronger tone in the case of the emotion of "anger"). The speech content may be displayed on the display 76 instead of or in addition to the audio output. The speaker 80 and the display 76 are examples of the "output unit" in this invention.
RPA57は、コマンド(例えば、ユーザ60との対話を通じてユーザ60から発せられる音声又はテキストから取得されたエージェントのコマンド)に応じた動作を実行する。RPA57は、例えば、情報検索、店の予約、チケットの手配、商品・サービスの購入、代金の支払い、経路案内、翻訳等のサービスプロバイダ70の利用に関する行動を行う。 The RPA 57 executes an operation according to a command (e.g., an agent command obtained from a voice or text issued by the user 60 through a dialogue with the user 60). The RPA 57 performs actions related to the use of the service provider 70, such as information search, store reservation, ticket arrangement, purchase of goods and services, payment, route guidance, translation, etc.
また、その他の例として、RPA57は、ユーザ60(例えば、子供)がエージェントとの対話を通じて音声入力した内容を、相手先(例えば、親)に送信する動作を実行する。送信手段としては、例えば、メッセージアプリケーションソフト、チャットアプリケーションソフト、又はメールアプリケーションソフト等が挙げられる。 As another example, the RPA 57 executes an operation to transmit the contents of voice input by the user 60 (e.g., a child) through dialogue with an agent to a destination (e.g., a parent). Examples of transmission means include message application software, chat application software, or email application software.
RPA57による動作が実行された場合に、例えば、スマート眼鏡72に搭載されたスピーカ80から動作の実行が終了したことを示す音声が出力される。例えば、「お店の予約が完了しました」等の音声がユーザ60に対して出力される。また、例えば、お店の予約が埋まっていた場合には、「予約ができませんでした。どうしますか?」等の音声がユーザ60に対して出力される。 When an operation is executed by the RPA 57, for example, a sound indicating that execution of the operation has been completed is output from the speaker 80 mounted on the smart glasses 72. For example, a sound such as "Your restaurant reservation has been completed" is output to the user 60. Also, for example, if the restaurant is fully booked, a sound such as "We were unable to make a reservation. What would you like to do?" is output to the user 60.
以上説明したように、スマート眼鏡72では、エージェントシステム50を利用することでユーザ60に対して各種サービスが提供される。また、スマート眼鏡72は、ユーザ60によって身につけられていることから、自宅、仕事場、外出先等、様々な場面でエージェントシステム50を利用することが実現される。 As described above, the smart glasses 72 provide various services to the user 60 by utilizing the agent system 50. In addition, since the smart glasses 72 are worn by the user 60, it is possible to use the agent system 50 in various situations, such as at home, at work, or when out and about.
また、スマート眼鏡72は、ユーザ60によって身につけられていることから、ユーザ60のいわゆるライフログを収集することに適している。具体的には、スマート眼鏡72に搭載された各種センサ等による検出結果、又はカメラ86等の記録結果に基づいてユーザ60の感情値が推定される。このため、様々な場面でユーザ60の感情値を収集することができ、エージェントシステム50は、ユーザ60の感情に適したサービス、又は発話内容を提供することができる。 In addition, because the smart glasses 72 are worn by the user 60, they are suitable for collecting the so-called life log of the user 60. Specifically, the emotional value of the user 60 is estimated based on the detection results of various sensors mounted on the smart glasses 72 or the recording results of the camera 86, etc. Therefore, the emotional value of the user 60 can be collected in various situations, and the agent system 50 can provide services or speech content appropriate to the emotions of the user 60.
また、スマート眼鏡72では、カメラ86、マイクロフォン84等によりユーザ60の周囲の状況が得られる。そして、これらの周囲の状況とユーザ60の感情値とは対応付けられている。これにより、ユーザ60がどのような状況に置かれた場合に、どのような感情を抱いたかを推定することができる。この結果、エージェントシステム50が、ユーザ60の趣味嗜好を把握する場合の精度を向上させることができる。そして、エージェントシステム50において、ユーザ60の趣味嗜好が正確に把握されることで、エージェントシステム50は、ユーザ60の趣味嗜好に適したサービス、又は発話内容を提供することができる。 In addition, the smart glasses 72 obtain the surrounding conditions of the user 60 through the camera 86, microphone 84, etc. These surrounding conditions are associated with the emotion values of the user 60. This makes it possible to estimate what emotions the user 60 felt in what situations. As a result, the accuracy with which the agent system 50 grasps the hobbies and preferences of the user 60 can be improved. By accurately grasping the hobbies and preferences of the user 60 in the agent system 50, the agent system 50 can provide services or speech content that are suited to the hobbies and preferences of the user 60.
また、エージェントシステム50は、スマートペンダント92に適用することも可能である。図12は、スマートペンダント92のハードウェア構成の一例を示すブロック図である。スマートペンダント92は、ペンダント型のスマートデバイスであり、一般的なペンダントと同様にユーザ60によって装着される。スマートペンダント92は、制御装置93、スピーカ94、マイクロフォン95、及び通信I/F96を備えている。スマートペンダント92は、本発明における「電子機器」及び「ウェアラブル端末」の一例である。 The agent system 50 can also be applied to a smart pendant 92. FIG. 12 is a block diagram showing an example of the hardware configuration of the smart pendant 92. The smart pendant 92 is a pendant-type smart device, and is worn by the user 60 in the same manner as a general pendant. The smart pendant 92 includes a control device 93, a speaker 94, a microphone 95, and a communication I/F 96. The smart pendant 92 is an example of the "electronic device" and "wearable terminal" of the present invention.
制御装置93は、スマートペンダント92の全体を制御する装置であり、例えば、図示しないプロセッサ、メモリ、及びストレージによって構成される。スピーカ94は、ユーザ60に対して各種情報を示す音声を出力する。スピーカ94は、例えば、指向性を有する音声を出力可能なスピーカ(すなわち、ディレクショナルスピーカ)である。スピーカ94は、ユーザ60の耳に向かって指向性を有するように設定される。これにより、ユーザ60以外の人物に対して音声が届くことが抑制される。スピーカ94は、本発明における「出力部」の一例である。 The control device 93 is a device that controls the entire smart pendant 92, and is composed of, for example, a processor, memory, and storage (not shown). The speaker 94 outputs sound indicating various information to the user 60. The speaker 94 is, for example, a speaker that can output sound with directionality (i.e., a directional speaker). The speaker 94 is set so that it has directionality toward the ears of the user 60. This prevents the sound from reaching people other than the user 60. The speaker 94 is an example of an "output unit" in the present invention.
マイクロフォン95は、ユーザ60が発した音声又はスマートペンダント92の周囲の環境音を取得する。スマートペンダント92は、ユーザ60の首から提げられる態様で装着される。このため、スマートペンダント92は、装着されている間、ユーザ60の口に比較的近い場所に位置する。これにより、ユーザ60の発する音声を取得することが容易になる。マイクロフォン95は、本発明における「取得部」の一例である。通信I/F96は、スマートペンダント92と外部との通信を司る。制御装置93、スピーカ94、マイクロフォン95、及び通信I/F96は、バス97に接続されている。 The microphone 95 acquires the voice uttered by the user 60 or the environmental sounds around the smart pendant 92. The smart pendant 92 is worn by hanging it from the neck of the user 60. Therefore, the smart pendant 92 is located relatively close to the mouth of the user 60 while it is worn. This makes it easy to acquire the voice uttered by the user 60. The microphone 95 is an example of an "acquisition unit" in the present invention. The communication I/F 96 manages communication between the smart pendant 92 and the outside. The control device 93, the speaker 94, the microphone 95, and the communication I/F 96 are connected to a bus 97.
そして、スマートペンダント92においてもエージェントシステム50を利用することが可能とされている。すなわち、上述したスマート眼鏡72においてエージェントシステム50を利用することで提供されるサービス(図11参照)が、スマートペンダント92においても提供される。例えば、キャラクタが設定されたエージェントとの対話を通じて、ユーザ60及びエージェントの感情値が推定され、感情値に応じてエージェントの発話内容が変化したり、提供されるサービスの内容が変化したりする。また、例えば、ユーザ60の周囲の状況と、その時の感情値とがライフログとして記録され、ユーザ60の感情値の推定、又は提供されるサービスの内容に反映される。 The agent system 50 can also be used in the smart pendant 92. That is, the services provided by using the agent system 50 in the smart glasses 72 described above (see FIG. 11) are also provided in the smart pendant 92. For example, the emotional values of the user 60 and the agent are estimated through dialogue with an agent with a set character, and the agent's speech or the content of the service provided changes depending on the emotional value. In addition, for example, the situation around the user 60 and the emotional value at that time are recorded as a life log, and are reflected in the estimation of the user 60's emotional value or the content of the service provided.
なお、スマートペンダント92においてもスマート眼鏡72と同様にセンサ群(スマート眼鏡72におけるセンサ群82に相当)が設けられてもよい。これにより、ユーザ60の体調又は周囲の状況を示す情報を検出することができ、エージェントシステム50において感情値を推定したり、周囲の状況を記録したりすることができる。 The smart pendant 92 may also be provided with a sensor group (corresponding to the sensor group 82 in the smart glasses 72) in the same manner as the smart glasses 72. This allows information indicating the physical condition of the user 60 or the surrounding situation to be detected, and allows the agent system 50 to estimate an emotional value and record the surrounding situation.
以上説明したように、スマートペンダント92においても、上述したスマート眼鏡72と同様な効果を得ることができる。また、スマートペンダント92は、ぬいぐるみ、スマートスピーカ、スマートフォン、又はスマート眼鏡等と比較して、軽量であり、持ち運びが容易である。また、他のスマート端末であるスマートフォン、又はスマート眼鏡等と比較しても、軽量であり、かつ普段から身につけるものであり可搬性が高い。従って、自宅、仕事場、外出先等、様々な場面でエージェントシステム50を利用することが実現される。また、スマートペンダント92は、ユーザ60のライフログを収集することにより適しており、このため、様々な場面でユーザ60の感情値を収集することができ、エージェントシステム50は、ユーザ60の感情に適したサービス、又は発話内容を提供することができる。 As described above, the smart pendant 92 can achieve the same effect as the smart glasses 72 described above. Furthermore, the smart pendant 92 is lighter and easier to carry than a stuffed toy, a smart speaker, a smartphone, or smart glasses. Furthermore, compared to other smart terminals such as a smartphone or smart glasses, the smart pendant 92 is lighter and more portable since it is worn on a daily basis. Therefore, the agent system 50 can be used in various situations, such as at home, at work, or outside. Furthermore, the smart pendant 92 is more suitable for collecting the life log of the user 60, and therefore can collect the emotional values of the user 60 in various situations, and the agent system 50 can provide services or speech content that are appropriate for the emotions of the user 60.
以下に、エージェントシステムによる、ユーザ指定の行動履歴対象の行動履歴を管理するToDo管理アプリケーションの実施例を説明する。 Below is a description of an example of a to-do management application that uses an agent system to manage the behavior history of a user-specified behavior history target.
ユーザと行動履歴対象とは、所定の関係性を有しており、本実施例では、ユーザ10は、図1に示すロボット100、101、102(以下、総称してロボット100という)の管理者(親)であり、一方、行動履歴対象は、ユーザ10の子供400(図13参照)という設定であり、親子関係を想定している。 The user and the behavior history target have a predetermined relationship. In this embodiment, the user 10 is the manager (parent) of the robots 100, 101, and 102 (hereinafter collectively referred to as robot 100) shown in FIG. 1, while the behavior history target is set as the child 400 of the user 10 (see FIG. 13), and a parent-child relationship is assumed.
本実施例のToDo管理アプリケーションの実行プログラムは、CPUの機能(図2に示す各機能構成)で実行される。なお、機能構成は、前述したように、センサ部200と、センサモジュール部210と、格納部220と、ユーザ状態認識部230と、感情決定部232と、行動認識部234と、行動決定部236と、記憶制御部238と、行動制御部250と、制御対象252と、通信処理部280と、を備え、各機能構成部が連携することで、ToDo管理アプリケーションが実行される(図2参照)。 The execution program of the ToDo management application in this embodiment is executed by the functions of the CPU (each functional component shown in FIG. 2). As described above, the functional components include a sensor unit 200, a sensor module unit 210, a storage unit 220, a user 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 control target 252, and a communication processing unit 280, and the ToDo management application is executed by the cooperation of each functional component (see FIG. 2).
ToDo管理アプリケーションでは、ロボット100が、ユーザ10(親)からの指令を受けて、行動履歴対象(子供400)の行動を監視するために、以下の(動作1)~(動作5)を実行するように制御される。 In the to-do management application, the robot 100 is controlled to execute the following (operation 1) to (operation 5) in response to a command from the user 10 (parent) to monitor the behavior of the behavior history target (child 400).
(動作1) ロボット100は、行動履歴対象(子供400)の行動を逐次認識して、行動履歴を保持する。
(動作2) ユーザ10(親)の通信端末(スマートフォンや携帯電話)から、ロボット100へ、SNSを利用して、特定の行動の達成又は未達成の判定指示として、予め登録されたToDoリストの中から特定の行動を選択して、確認メッセージを送信する(例えば、「宿題やった?)。なお、特定の行動は、宿題に限らず、かたづけをしたか、昼寝をしたか、ペットに餌を与えたか等、事前にToDoリストに登録した行動であればよい。ToDoリストに未登録の特定の行動を確認したい場合は、追加登録してもよい。この場合、追加登録した特定の行動に関する行動履歴があれば、対応可能となる。
(動作3) ロボット100は、子供400の行動履歴から、宿題をやったかどうか判断する。
(動作4「動作4-1又は動作4-2」)
・動作4-1 子供400が宿題をやっていた場合(図13(A)の行動履歴参照)、プロンプトとして、「宿題を自ら進んでやっていた場合に、どうやってほめればよい?」と文章生成モデル55に入力して、声のかけ方(ほめ言葉)に関する文章の作成を指示する。
・動作4-2 子供400が宿題をやっていない場合(図3(B)の行動履歴参照)、プロンプトとして、「宿題をやる気にさせる場合に、どうやって声かけすればよい?」と文章生成モデル55に入力して、声のかけ方(激励する言葉)に関する文章の作成を指示する。
(動作5) ロボット100に搭載したスピーカ、又は接続しているイヤホンから、子供400に対してほめ言葉(動作4-1の場合)、又は激励する言葉(動作4-2の場合)を、音声で出力する。
(Operation 1) The robot 100 sequentially recognizes the behavior of the behavior history target (child 400) and stores the behavior history.
(Operation 2) A specific action is selected from a pre-registered to-do list and a confirmation message is sent to the robot 100 from the communication terminal (smartphone or mobile phone) of the user 10 (parent) using SNS as an instruction to determine whether the specific action has been completed or not (for example, "Did you do your homework?"). Note that the specific action is not limited to homework, and can be any action that has been pre-registered in the to-do list, such as tidying up, taking a nap, feeding a pet, etc. If you want to check a specific action that has not been registered in the to-do list, you can add it. In this case, if there is an action history for the additionally registered specific action, it can be handled.
(Operation 3) The robot 100 judges from the behavior history of the child 400 whether or not the child 400 has done his/her homework.
(Action 4 "Action 4-1 or Action 4-2")
Operation 4-1: If the child 400 is doing his/her homework (see the behavioral history in FIG. 13A), the prompt "How should I praise my child if he/she is doing his/her homework voluntarily?" is input to the sentence generation model 55 to instruct the creation of a sentence regarding how to encourage him/her (words of praise).
Operation 4-2: If the child 400 is not doing his/her homework (see the behavioral history in FIG. 3B), the prompt "How can I encourage my child to do his/her homework?" is input to the sentence generation model 55, and a sentence regarding how to encourage the child 400 (words of encouragement) is generated.
(Operation 5) Words of praise (in the case of Operation 4-1) or words of encouragement (in the case of Operation 4-2) are output to the child 400 by voice from a speaker mounted on the robot 100 or from connected earphones.
図13は、エージェントシステムが管理かつ制御するカメラ(例えば、図2に示すロボット100に搭載されたセンサ部200の1つである2Dカメラ203)で撮影した、特定のイベント(指定した行動履歴対象の行動)履歴判定用として時系列に撮影された画像群402A、402Bの正面図である。 Figure 13 is a front view of a group of images 402A and 402B taken in chronological order for determining the history of a specific event (behavior of a specified behavior history target) by a camera (for example, the 2D camera 203, which is one of the sensor units 200 mounted on the robot 100 shown in Figure 2) managed and controlled by the agent system.
図13では、ユーザ10から、行動履歴対象(子供400)が宿題をやったか否かの行動履歴に関する指示があった場合に抽出される画像群を示している。 Figure 13 shows a group of images extracted when a user 10 gives an instruction regarding the behavioral history of whether or not the behavioral history target (child 400) has done their homework.
図13(A)は、子供400が宿題をやったときの画像群の例を示し、図13(B)は、子供400が宿題をしなかったときの画像群の例を示しており、現実的には、同一時間帯において、何れか一方の画像群が存在することになる。 Figure 13 (A) shows an example of a group of images when child 400 has done his/her homework, and Figure 13 (B) shows an example of a group of images when child 400 has not done his/her homework. In reality, one or the other of the image groups will exist during the same time period.
なお、カメラは、ロボット100に搭載した2Dカメラ203に限定されず、屋内の各部屋に設置されたカメラで撮影した画像を、ロボット100が通信で取得するようにしてもよい。これにより、ロボット100が子供400の行動に追従しなくても、行動履歴のための画像を取得することが可能である。 The camera is not limited to the 2D camera 203 mounted on the robot 100, and the robot 100 may acquire images taken by cameras installed in each room indoors via communication. This makes it possible for the robot 100 to acquire images for the behavior history even if it does not follow the behavior of the child 400.
図13(A)に示される如く、宿題をやったときの画像群を時系列で確認すると、初期の行動履歴では、子供400が寝転んでスマートフォン404を操作しており、中期の行動履歴では、子供400がテレビ406を鑑賞しているが、終期の行動履歴では、子供400が机408に向かっている様子を総合すると、子供400が勉強(宿題)をしていることが確認できる。 As shown in FIG. 13(A), when checking the group of images taken when doing homework in chronological order, in the early behavioral history, child 400 is lying down and operating smartphone 404, in the middle behavioral history, child 400 is watching television 406, but in the final behavioral history, child 400 is seated at desk 408. Taking all these together, it can be seen that child 400 is studying (doing homework).
この場合、上記の(動作4-1)に相当するため、ロボット100は、「宿題を自ら進んでやっていた場合に、どうやってほめればよい?」と文章生成モデル55に入力する。この入力に対して文章生成モデル55からは、声のかけ方(ほめ言葉)を取得する。 In this case, which corresponds to (action 4-1) above, the robot 100 inputs to the sentence generation model 55, "How should I praise my child if he or she voluntarily does his or her homework?" In response to this input, the sentence generation model 55 acquires the appropriate words of praise.
図13(B)に示される如く、宿題をやっていないときの画像群を時系列で確認すると、初期の行動履歴では、子供400が寝転んでスマートフォン404を操作しており、中期の行動履歴では、子供400が机408に向かっているが居眠りをしており、終期の行動履歴においても、子供400がサッカーボール410を持って机408から離れていく様子を総合すると、子供400が宿題をやっていないことが確認できる。 As shown in FIG. 13B, when checking the group of images taken when not doing homework in chronological order, in the early behavioral history, child 400 is lying down and operating smartphone 404, in the middle behavioral history, child 400 is sitting at desk 408 but dozing off, and even in the final behavioral history, child 400 is seen leaving desk 408 with soccer ball 410 in hand, and taking all of this into account, it can be confirmed that child 400 is not doing his homework.
この場合、上記の(動作4-2)に相当するため、ロボット100は、「宿題をやる気にさせる場合に、どうやって声かけすればよい?と文章生成モデル55に入力する。この入力に対して文章生成モデル55からは、声のかけ方(激励する言葉)を取得する。 In this case, which corresponds to (action 4-2) above, the robot 100 inputs to the sentence generation model 55, "How should I encourage my child to do their homework?" In response to this input, the sentence generation model 55 acquires the way to encourage the child (words of encouragement).
図14は、ロボットの制御装置で実行される、ToDo管理アプリケーションの処理における、行動履歴取得の流れを示す制御フローチャートである。 Figure 14 is a control flowchart showing the flow of acquiring behavior history in the processing of a to-do management application executed by the robot's control device.
ステップ420では、行動履歴開始指示があったか否かを判断する。行動履歴開始指示は、ロボット100の起動に同期させてもよいし、タイマ等で設定した時間帯や、ユーザ10からの指示であってもよい。また、本実施例(子供400の行動履歴判定)の場合、ユーザ10である親が外出したときを起動時期としてもよい。 In step 420, it is determined whether or not an instruction to start the behavior history has been received. The instruction to start the behavior history may be synchronized with the start of the robot 100, may be a time period set by a timer or the like, or may be an instruction from the user 10. In the case of this embodiment (determining the behavior history of the child 400), the start time may be when the parent, who is the user 10, goes out.
このステップ420で否定判定された場合は、このルーチンは終了する。また、ステップ420で肯定判定されると、ステップ422へ移行して、ユーザ10が指定した行動履歴対象者(本実施例では子供400)を特定する情報を取得する。特定する情報は、例えば、顔認証に用いる特徴や、外観の特徴、声の特徴等が挙げられる。なお、行動履歴対象者は、複数人であってもよい(兄弟姉妹等)。 If the determination at step 420 is negative, this routine ends. If the determination at step 420 is positive, the process proceeds to step 422, where information is acquired to identify the behavioral history subject designated by the user 10 (in this embodiment, the child 400). Examples of the identifying information include features used for face recognition, appearance features, and voice features. Note that the behavioral history subject may be multiple people (siblings, etc.).
次のステップ424では、撮影を開始する。次のステップ426では、撮影画像から、行動履歴対象(子供400)を検索し、次いで、ステップ428へ移行して、検索した行動履歴対象(子供400)の追従撮影処理を実行する。追従撮影処理としては、タイムラプス撮影(コマ撮り)し、複数の行動履歴対象が存在する場合は、行動履歴対象毎に分類し、撮影した画像を時系列で格納する。タイムラプス撮影は、静止画でもよいし動画でもよい。 In the next step 424, shooting is started. In the next step 426, the captured image is searched for the behavioral history target (child 400), and then the process proceeds to step 428, where a tracking shooting process is performed for the searched behavioral history target (child 400). The tracking shooting process involves time lapse shooting (frame-by-frame shooting), and if there are multiple behavioral history targets, the images are classified by behavioral history target, and the captured images are stored in chronological order. Time lapse shooting may be for still images or videos.
次のステップ430では、行動履歴終了指示があったか否かを判断する。行動履歴終了指示は、ロボット100の起動終了に同期させてもよいし、タイマ等で設定した時間帯や、ユーザ10からの指示であってもよい。また、本実施例(子供400の行動履歴判定)の場合、ユーザ10である親が外出先から帰宅したときを起動終了時期としてもよい。 In the next step 430, it is determined whether or not an instruction to end the behavior history has been received. The instruction to end the behavior history may be synchronized with the end of the activation of the robot 100, or may be a time period set by a timer or the like, or an instruction from the user 10. In the case of this embodiment (determining the behavior history of the child 400), the activation end time may be when the parent, who is the user 10, returns home from outside.
ステップ430で否定判定された場合は、行動履歴を継続するべく、ステップ426へ戻り、上記工程を繰り返す。また、ステップ430で肯定判定された場合は、ステップ432へ移行して、撮影を終了し、このルーチンは終了する。 If the result of step 430 is negative, the process returns to step 426 to continue the behavioral history, and the above steps are repeated. If the result of step 430 is positive, the process proceeds to step 432, where image capture ends, and the routine ends.
言い換えれば、行動履歴終了指示があるまで、行動履歴(追従撮影処理)は継続される。 In other words, the behavior history (tracking photography process) will continue until an instruction to end the behavior history is given.
図15は、図14の行動履歴実行中(追従撮影処理中)に、行動履歴判定要求があったときに割り込まれる割込ルーチンの流れを示す制御フローチャートである。 Figure 15 is a control flowchart showing the flow of an interrupt routine that is executed when a request for behavior history determination is made during execution of the behavior history in Figure 14 (during tracking photography processing).
行動履歴判定要求は、本実施例においては、ロボット100が、外出しているユーザ10(親)から、SNSを介して、「宿題やった?」という情報を受信することであり、当該情報を受信すると、行動履歴判定要求時割込ルーチンが起動する。 In this embodiment, the behavior history determination request is received by the robot 100 via SNS from the user 10 (parent) who is out, asking, "Did you do your homework?" When the robot 100 receives this information, an interrupt routine for requesting behavior history determination is started.
ステップ440では、判定する行動履歴対象(子供400)を特定する。例えば、行動履歴対象が複数存在する場合は、「長男」、「○○くん」等の識別情報が必要である。 In step 440, the behavioral history target (child 400) to be judged is identified. For example, if there are multiple behavioral history targets, identification information such as "eldest son" or "○○-kun" is required.
次のステップ442では、特定した行動履歴対象(子供400)の時系列画像デT-アを読み出す。すなわち、本実施例では、図13(A)又は図13(B)の何れかの時系列画像が実際に格納されていることになり、どちらかの時系列画像データが読み出される。 In the next step 442, the time-series image data of the identified behavioral history subject (child 400) is read out. That is, in this embodiment, either the time-series image of FIG. 13(A) or FIG. 13(B) is actually stored, and either the time-series image data is read out.
次のステップ444では、要求された判定(特定の行動の達成又は未達成の判定)結果を解析する。ここでは、「宿題やった?」という要求に対して、ポジティブ判定(宿題達成)又はネガティブ判定(宿題未達成)が下される。 In the next step 444, the result of the requested judgment (a judgment of whether a specific action has been accomplished or not) is analyzed. Here, a positive judgment (homework accomplished) or a negative judgment (homework not accomplished) is made in response to the request "Did you do your homework?".
読み出した時系列画像データが図13(A)の場合は、寝転んでスマートフォン404を操作(初期)→テレビ406を鑑賞(中期)→机408に向かっている(終期)の時系列画像から、子供400が勉強(宿題)をしていることが確認できるので、ポジティブ判定となる。 When the read time-series image data is as shown in FIG. 13(A), it is possible to confirm from the time-series images of the child 400 lying down and operating the smartphone 404 (initial stage) → watching the television 406 (middle stage) → sitting at the desk 408 (end stage) that the child 400 is studying (doing his homework), so a positive judgment is made.
一方、読み出した時系列画像データが図13(B)の場合は、寝転んでスマートフォン404を操作(初期)→机408に向かっているが居眠りをしている(中期)→サッカーボール410を持って机408から離れていく(終期)の時系列画像から、子供400が宿題をやっていないことが確認できるので、ネガティブ判定となる。 On the other hand, if the read time-series image data is as shown in FIG. 13(B), it is possible to confirm from the time-series images of child 400 lying down and operating smartphone 404 (initial stage) → facing desk 408 but dozing off (middle stage) → walking away from desk 408 with soccer ball 410 (end stage) that child 400 is not doing his homework, so a negative judgment is made.
次のステップ446では、ステップ444での判定結果がポジティブ判定かネガティブ判定かを判断する。 The next step, 446, determines whether the result of the determination in step 444 is a positive or negative determination.
ステップ446でポジティブ判定と判断された場合は、ステップ448へ移行して「宿題を自ら進んでやっていた場合に、どうやってほめればよい?」と文章生成モデル55(一例として、ChatGPT)に入力し、ステップ452へ移行する。 If the result is determined to be positive in step 446, the process proceeds to step 448, where the sentence "How should I praise my child if he or she is doing his or her homework voluntarily?" is input to the sentence generation model 55 (ChatGPT is an example), and the process proceeds to step 452.
また、ステップ446でネガティブ判定と判断された場合は、ステップ450へ移行して、「宿題をやる気にさせる場合に、どうやって声かけすればよい?」と文章生成モデル55(一例として、ChatGPT)に入力し、ステップ452へ移行する。 If the result of the judgment in step 446 is negative, the process proceeds to step 450, where the question "How can we encourage a child to do their homework?" is input to the sentence generation model 55 (ChatGPT is an example), and the process proceeds to step 452.
ステップ452では、文章生成モデル55(一例として、ChatGPT)から回答があったか否かを判断し、肯定判定されると、ステップ454へ移行して、文章生成モデル55(一例として、ChatGPT)から受けた回答を、スピーカ等から音声出力し、このルーチンは終了する。 In step 452, it is determined whether or not a response has been received from the sentence generation model 55 (ChatGPT as an example), and if a positive determination is made, the process proceeds to step 454, where the response received from the sentence generation model 55 (ChatGPT as an example) is output as audio from a speaker or the like, and this routine ends.
ステップ454において、ポジティブ判定(宿題をやったこと)に対する文章生成モデル55(一例として、ChatGPT)ChatGPTからの回答例としては、「がんばったね。冷蔵庫におやつがあるから食べてね」等が挙げられる。 In step 454, a sentence generation model 55 (one example is ChatGPT) responds to a positive judgment (homework has been done) with an example of a response from ChatGPT, such as "Good job! There are snacks in the fridge, so have some."
一方、ステップ454において、ネガティブ判定(宿題をやっていないこと)に対する文章生成モデル55(一例として、ChatGPT)からの回答例としては、「冷蔵庫におやつがあるから、宿題が終わったら食べてね」等が挙げられる。 On the other hand, in step 454, an example of a response from the sentence generation model 55 (ChatGPT is one example) to a negative judgment (not doing homework) is, "There are snacks in the fridge, so please eat them when you finish your homework."
以上説明したように本実施例(ToDo管理アプリケーション)では、外出しているユーザ10(親)に代わり、エージェントシステムを搭載したロボット100が、留守番をしている行動履歴対象(子供400)が宿題をやったか否かを判定し、かつ、ChatGPTに対して、宿題をやっている(ポジティブ)、宿題をやっていない(ネガティブ)というそれぞれの状況を問い合わせることで、アドバイス(適切な言葉)を受け取り、音声によって、子供400に適切な言葉をかけることができる。 As described above, in this embodiment (ToDo management application), the robot 100 equipped with an agent system acts on behalf of the user 10 (parent) who is out and determines whether the behavioral history subject (child 400) who is at home alone has done his/her homework, and queries ChatGPT about each situation of doing homework (positive) and not doing homework (negative), and receives advice (appropriate words) and can speak appropriate words to the child 400 by voice.
なお、電子機器は、ロボット100に限定されるものではなく、エージェントシステムを搭載可能な他の電子機器(人形、ぬいぐるみ、スマート眼鏡72(図10参照)、スマートペンダント92(図12参照)、スマートウォッチ、スマートフォン、スマートスピーカ、イヤホン及びパーソナルコンピュータ等)であってもよい。 The electronic device is not limited to the robot 100, but may be other electronic devices capable of mounting an agent system (such as a doll, a stuffed animal, smart glasses 72 (see FIG. 10), a smart pendant 92 (see FIG. 12), a smart watch, a smartphone, a smart speaker, earphones, and a personal computer).
また、本実施例では、ユーザ10と行動履歴対象との関係を親子(保護者と被保護者)の関係としたが、親子関係に限定するものではなく、上司と部下、師匠と弟子、発注側と受注側、飼い主とペット等、管理者(保護者)と被管理者(被保護者)との関係が構築されていれば適用可能である。 In addition, in this embodiment, the relationship between the user 10 and the behavioral history target is that of a parent and child (guardian and protected person), but this is not limited to a parent and child relationship, and can be applied to any relationship established between a manager (guardian) and a managed person (protected person), such as a boss and a subordinate, a master and an apprentice, an ordering party and a receiving party, an owner and a pet, etc.
さらに、本実施の形態では、行動履歴対象(子供400)を、ユーザ10とは区別しているが、広義では、行動履歴対象もユーザ10に属する場合もある。すなわち、ユーザ10が自身を行動履歴対象として指定して、ロボット100による行動履歴の対象とすることも可能である。或いは、複数のユーザ10の中で、一方のユーザ10が他方のユーザ10を行動履歴対象として指定して、ロボット100による行動履歴の対象とすることも可能である Furthermore, in this embodiment, the behavior history target (child 400) is distinguished from the user 10, but in a broader sense, the behavior history target may also belong to the user 10. That is, the user 10 may designate himself/herself as a behavior history target and make it the target of the behavior history of the robot 100. Alternatively, among multiple users 10, one user 10 may designate another user 10 as a behavior history target and make it the target of the behavior history of the robot 100.
5 システム、10、11、12、60 ユーザ、20 通信網、100、101、102 ロボット、200 センサ部、201 マイク、202 深度センサ、203 カメラ、204 距離センサ、210 センサモジュール部、211 音声感情認識部、212 発話理解部、213 表情認識部、214 顔認識部、220 格納部、221 反応ルール、222 履歴データ、230 ユーザ状態認識部、232 感情決定部、234 行動認識部、236 行動決定部、238 記憶制御部、250 行動制御部、252 制御対象、280 通信処理部、300 サーバ、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1226 DVDドライブ、1227 DVD-ROM、1230 ROM、1240 入出力チップ、50 エージェントシステム、51 対話処理部、52 キャラクタ設定部、52A エージェント、53 感情エンジン、54 対話履歴格納部、54A 周囲状況格納部、55 文章生成モデル、56 コマンド取得部、57 RPA、70 サービスプロバイダ、72 スマート眼鏡、74 制御装置、76 ディスプレイ、78 タッチパネル、80 スピーカ、82
センサ群、82A 加速度センサ、82B 温度センサ、82C 心拍センサ、84 マイクロフォン、86 カメラ、88 通信I/F、90 バス、92 スマートペンダント、93 制御装置、94 スピーカ、95 マイクロフォン、96 通信I/F、97 バス
5 System, 10, 11, 12, 60 User, 20 Communication network, 100, 101, 102 Robot, 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 Response rules, 222 History data, 230 User state recognition unit, 232 Emotion determination unit, 234 Behavior recognition unit, 236 Behavior determination unit, 238 Memory control unit, 250 Behavior control unit, 252 Control target, 280 Communication processing unit, 300 Server, 1200 Computer, 1210 Host controller, 1212 CPU, 1214 RAM, 1216 Graphic controller, 1218 Display device, 1220 I/O controller, 1222 Communication interface, 1224 Storage device, 1226 DVD drive, 1227 DVD-ROM, 1230 ROM, 1240 I/O chip, 50 Agent system, 51 Dialogue processing unit, 52 Character setting unit, 52A Agent, 53 Emotion engine, 54 Dialogue history storage unit, 54A Surrounding situation storage unit, 55 Sentence generation model, 56 Command acquisition unit, 57 RPA, 70 Service provider, 72 Smart glasses, 74 Control device, 76 Display, 78 Touch panel, 80 Speaker, 82
Sensor group, 82A acceleration sensor, 82B temperature sensor, 82C heart rate sensor, 84 microphone, 86 camera, 88 communication I/F, 90 bus, 92 smart pendant, 93 control device, 94 speaker, 95 microphone, 96 communication I/F, 97 bus
Claims (4)
前記ユーザの状態に関する情報を取得可能な取得部と、
行動履歴対象の行動履歴に基づいて、当該行動履歴対象の特定の行動に関して達成か未達成かを判定する判定部と、
前記ユーザから前記特定の行動に関しての達成又は未達成の判定指示があった場合に、前記特定の行動に関する前記判定部の判定結果に基づいて、前記特定の行動に関する文章の生成を前記エージェントシステムに実行させる実行部と、
前記エージェントシステムにおいて生成された前記文章を前記発話内容として前記ユーザに対して出力する出力部と、
を備える電子機器。 An electronic device capable of using an agent system, the electronic device including: an emotion determining unit that determines an emotion of a user or an emotion of an agent; and a dialogue processing unit that determines an utterance content of the agent for dialogue with the user based on the emotion determined by the emotion determining unit,
An acquisition unit capable of acquiring information regarding the user's state;
a determination unit that determines whether a specific behavior of a behavior history target has been achieved or not based on the behavior history of the behavior history target;
an execution unit that, when a determination instruction is given from the user as to whether the specific behavior has been achieved or not, causes the agent system to generate a sentence regarding the specific behavior based on a determination result of the determination unit regarding the specific behavior;
an output unit that outputs the sentence generated in the agent system to the user as the speech content;
An electronic device comprising:
前記判定部が、前記格納部に格納された行動履歴画像に基づいて、前記特定の行動に関して達成又は未達成を判定する、請求項1記載の電子機器。 A storage unit for storing action history images captured in time series by following the action of the action history target,
The electronic device according to claim 1 , wherein the determination unit determines whether the specific behavior has been achieved or not based on the behavior history image stored in the storage unit.
前記特定の行動が、予め前記子供のToDoリストとして登録された行動から選択される、請求項1記載の電子機器。
the relationship between the user and the behavior history target is a relationship between a parent and a child under the parent's care,
The electronic device according to claim 1 , wherein the specific action is selected from actions registered in advance as a to-do list for the child.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023073806 | 2023-04-27 | ||
JP2023073806 | 2023-04-27 | ||
JP2023174709 | 2023-10-06 | ||
JP2023174709 | 2023-10-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024159685A true JP2024159685A (en) | 2024-11-08 |
Family
ID=93335943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024072051A Pending JP2024159685A (en) | 2023-04-27 | 2024-04-26 | Electronics |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024159685A (en) |
-
2024
- 2024-04-26 JP JP2024072051A patent/JP2024159685A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2024159685A (en) | Electronics | |
JP2024159692A (en) | Electronics | |
JP2024159690A (en) | Electronics | |
JP2024159679A (en) | Electronics | |
JP2024159691A (en) | Electronics | |
JP2024159686A (en) | Electronics | |
JP2024159682A (en) | Agent system, program, smart glasses | |
JP2024159684A (en) | Electronics | |
JP2024159688A (en) | Agent System | |
JP2024159681A (en) | Agent system, program | |
JP2024159687A (en) | Agent System | |
JP2024159683A (en) | Electronics | |
JP2024159680A (en) | Agent system, program | |
JP2024154419A (en) | Agent System | |
JP2025008140A (en) | Information Processing System | |
JP2025019016A (en) | Behavior Control System | |
JP2025001566A (en) | Behavior Control System | |
JP2024163883A (en) | Behavior Control System | |
JP2024163890A (en) | Behavior Control System | |
JP2024163071A (en) | Behavior Control System | |
JP2024163884A (en) | Behavior Control System | |
JP2024163880A (en) | Behavior Control System | |
JP2024163070A (en) | Behavior Control System | |
JP2024151328A (en) | Behavior Control System | |
JP2024166172A (en) | Behavior Control System |