JP7735466B2 - Behavior Control System - Google Patents
Behavior Control SystemInfo
- Publication number
- JP7735466B2 JP7735466B2 JP2024065474A JP2024065474A JP7735466B2 JP 7735466 B2 JP7735466 B2 JP 7735466B2 JP 2024065474 A JP2024065474 A JP 2024065474A JP 2024065474 A JP2024065474 A JP 2024065474A JP 7735466 B2 JP7735466 B2 JP 7735466B2
- Authority
- JP
- Japan
- Prior art keywords
- user
- robot
- emotion
- behavior
- determination 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.)
- Active
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Description
本発明は、行動制御システムに関する。 The present invention relates to a behavior control system.
特許文献1には、ユーザの状態に対してロボットの適切な行動を決定する技術が開示されている。特許文献1の従来技術は、ロボットが特定の行動を実行したときのユーザの反応を認識し、認識したユーザの反応に対するロボットの行動を決定できなかった場合、認識したユーザの状認に適した行動に関する情報をサーバから受信することで、ロボットの行動を更新する。 Patent Document 1 discloses technology for determining 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 its behavior in response to the recognized user reaction, it updates the robot's behavior by receiving information from a server about behavior appropriate to the recognized user's state.
しかしながら従来技術では、ユーザの行動に対して適切な行動をロボットに実行させる上で改善の余地がある。 However, conventional technology leaves room for improvement in enabling robots to perform appropriate actions in response to user actions.
本発明に係る行動制御システムは、自動販売機に適用されるロボットの行動制御システムであって、ユーザの感情を示す感情値を決定するユーザ感情決定部と、ロボットの感情を示す感情値を決定するロボット感情決定部と、前記ユーザの感情値及び前記ロボットの感情値の少なくとも一方と、前記ユーザと前記ロボットを対話させる対話機能を有する文章生成モデルによって取得した情報とに基づいて、前記ロボットの行動を決定する行動決定部と、を備え、前記行動決定部は、前記ロボットが前記ユーザに提案する商品を決定するものである。 The behavior control system of the present invention is a robot behavior control system applied to a vending machine, and includes a user emotion determination unit that determines an emotion value indicating the user's emotion, a robot emotion determination unit that determines an emotion value indicating the robot's emotion, and a behavior determination unit that determines the robot's behavior based on at least one of the user's emotion value and the robot's emotion value and information obtained by a sentence generation model with a dialogue function that allows the user and the robot to converse, and the behavior determination unit determines the product that the robot will recommend to the user.
本発明によれば、ユーザの状況に対して適切な行動をロボットに実行させることができる。 This invention makes it possible to have a robot perform appropriate actions based on the user's situation.
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。 The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention as claimed. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.
A.本実施形態
図1は、本実施形態に係るシステム5の一例を概略的に示す。システム5は、ロボット100、ロボット101、ロボット102、及びサーバ300を備える。ユーザ10、ユーザ11及びユーザ12は、それぞれロボット100、ロボット101、ロボット102のユーザである。ユーザ10、ユーザ11及びユーザ12は、例えばロボット100が配置された家の家族や、その家を訪れた他人である。ロボット100、ロボット101及びロボット102は、店舗や事務所の受付等に配置され、来訪した顧客に応対する利用形態などにも適用できる。なお、本実施形態の説明において、ロボット101及びロボット102は、ロボット100と略同一の機能を有する。そのため、ロボット100の機能を主として取り上げてシステム5を説明する。
A. Present Embodiment FIG. 1 schematically illustrates an example of a system 5 according to this embodiment. The system 5 includes a robot 100, a robot 101, a robot 102, and a server 300. A user 10, a user 11, and a user 12 are users of the robots 100, 101, and 102, respectively. The users 10, 11, and 12 are, for example, family members of the house in which the robot 100 is located, or strangers visiting the house. The robots 100, 101, and 102 can also be placed at the reception desk of a store or office, and used to greet visiting customers. In the description of this embodiment, the robots 101 and 102 have substantially the same functions as the robot 100. Therefore, the system 5 will be described 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に提供する。図1では、ロボット100として、自立移動が可能な走行ロボットを想定しているが、以下に示すAI感情エンジンや文章生成モデルなどを搭載したあらゆる端末(例えば、車載端末や携帯端末など)に適用可能である。 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 a 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 conversations by itself, but also cooperates with the server 300 to learn how to have more appropriate conversations with the user 10. The robot 100 also records captured video data of the user 10 on the server 300, and requests video data, etc. from the server 300 as needed, providing it to the user 10. While Figure 1 illustrates a mobile robot capable of autonomous movement as the robot 100, the robot 100 can be applied to any device (e.g., an in-vehicle device or a mobile device) equipped with an AI emotion engine, sentence generation model, etc., as described below.
ロボット100は、人間の感情を疑似的に生成する機能を有するAI感情エンジン(後述)を搭載し、自身の感情の種類を表す感情値を決定・保持する。例えば、ロボット100は、「喜」、「怒」、「哀」、「楽」、「快」、「不快」、「安心」、「不安」、「悲しみ」、「興奮」、「心配」、「安堵」、「充実感」、「虚無感」及び「普通」のそれぞれの感情の強さを表す感情値を持つ。ロボット100は、例えば興奮の感情値が大きい状態でユーザ10と会話するときは、早いスピードで音声を発する。このように、ロボット100は、自己の感情を行動で表現することができる。 The robot 100 is equipped with an AI emotion engine (described below) that has the function of generating simulated human emotions, and determines and stores emotion values that represent the type of emotion it feels. For example, the robot 100 has emotion values that represent the strength of each of the following emotions: "joy," "anger," "sadness," "pleasure," "discomfort," "relief," "anxiety," "sadness," "excitement," "worry," "relief," "fulfillment," "emptiness," and "neutral." For example, when the robot 100 is conversing with the user 10 when its excitement emotion value is high, it will speak at a fast speed. In this way, the robot 100 can express its emotions through its actions.
また、ロボット100は、文章生成モデル(チャットエンジン)とAI感情エンジン(感情エンジン)をマッチングさせることで、ユーザ10の感情に対応するロボット100の行動を決定するように構成してよい。具体的には、ロボット100は、ユーザ10の行動を認識して、当該ユーザの行動に対するユーザ10の感情を判定し、判定した感情に対応するロボット100の行動を決定するように構成してよい。 The robot 100 may also be configured to determine the behavior of the robot 100 that corresponds to the emotions of the user 10 by matching a sentence generation model (chat engine) with an AI emotion engine (emotion engine). Specifically, the robot 100 may be configured to recognize the behavior of the user 10, determine the emotions of the user 10 regarding the user's behavior, and determine the behavior of the robot 100 that corresponds to the determined emotions.
より具体的には、ロボット100は、ユーザ10の行動を認識した場合、予め設定されたチャットエンジンを用いて、当該ユーザ10の行動に対してロボット100がとるべき行動内容を自動で生成する。チャットエンジンは、文字による自動対話処理のためのアルゴリズム及び演算と解釈してよい。チャットエンジンは、例えば特開2018-081444号公報やchatGPT(インターネット検索<URL: https://openai.com/blog/chatgpt>)に開示される通り公知であるため、その詳細な説明を省略する。このような、チャットエンジンは、大規模言語モデル(LLM:Large Language Model)により構成されている。以上、本実施形態は、大規模言語モデルと感情エンジンとを組み合わせることにより、ユーザ10やロボット100の感情と、様々な言語情報とをロボット100の行動に反映させるということができる。つまり、本実施形態によれば、チャットエンジンと感情エンジンとを組み合わせることにより、相乗効果を得ることができる。 More specifically, when the robot 100 recognizes the user's 10 behavior, it uses a pre-configured chat engine to automatically generate the behavior that the robot 100 should take in response to the user's 10 behavior. A chat engine can be interpreted as algorithms and calculations for automatic text-based dialogue processing. Chat engines are 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 chat engines are configured using a large-scale language model (LLM). As described above, this embodiment combines a large-scale language model and an emotion engine to reflect the emotions of the user 10 and the robot 100, as well as various linguistic information, in the robot's 100 behavior. In other words, according to this embodiment, a synergistic effect can be achieved by combining a chat engine and an emotion engine.
また、ロボット100は、ユーザ10の行動を認識する機能を有する。ロボット100は、カメラ機能で取得したユーザ10の顔画像や、マイク機能で取得したユーザ10の音声を解析することによって、ユーザ10の行動を認識する。ロボット100は、認識したユーザ10の行動等に基づいて、ロボット100が実行する行動を決定する。 The robot 100 also has the function of recognizing the actions of the user 10. The robot 100 recognizes the actions of the user 10 by analyzing facial images of the user 10 acquired using the camera function and the voice of the user 10 acquired using the microphone function. The robot 100 determines the actions to be performed by the robot 100 based on the recognized actions 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 in accordance with 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 user 10's behavior is "laughing." Furthermore, the reaction rules define the behavior of the robot 100 as "apologizing" when the user 10's behavior is "angry." Furthermore, the reaction rules define the behavior of the robot 100 as "answering" when the user 10's behavior is "asking a question." Furthermore, the reaction rules define the behavior of the robot 100 as "calling out" when the user 10's behavior is "sad."
ロボット100は、反応ルールに基づいて、ユーザ10の行動が「怒る」であると認識した場合、反応ルールで定められた「謝る」という行動を、ロボット100が実行する行動として選択する。例えば、ロボット100は、「謝る」という行動を選択した場合に、「謝る」動作を行うと共に、「謝る」言葉を表す音声を出力する。 When the robot 100 recognizes that the user's 10 behavior is "angry" based on the reaction rules, it selects the behavior of "apologizing" defined in the reaction rules as the behavior to be performed by the robot 100. For example, when the robot 100 selects the behavior of "apologizing," it performs the motion of "apologizing" and outputs a sound representing the word "apologize."
また、ロボット100の感情が「普通」(すわなち、「喜」=0、「怒」=0、「哀」=0、「楽」=0)であり、ユーザ10の状態が「1人、寂しそう」という条件が満たされた場合に、ロボット100の感情が「心配になる」という感情の変化内容と、「声をかける」の行動を実行できることが定められている。 It is also defined that when the robot's 100 emotion is "normal" (i.e., "happy" = 0, "anger" = 0, "sad" = 0, "happy" = 0) and the condition that the user's 10 state is "alone and lonely" is met, the robot's 100 emotion will change to "worried" and it will be able to perform the action of "calling out."
ロボット100は、反応ルールに基づいて、ロボット100の現在の感情が「普通」であり、かつ、ユーザ10が1人で寂しそうな状態にあると認識した場合、ロボット100の「哀」の感情値を増大させる。また、ロボット100は、反応ルールで定められた「声をかける」という行動を、ユーザ10に対して実行する行動として選択する。例えば、ロボット100は、「声をかける」という行動を選択した場合に、心配していることを表す「どうしたの?」という言葉を、心配そうな音声に変換して出力する。 When the robot 100 recognizes, based on the reaction rules, that its current emotion is "normal" and that the user 10 appears lonely, it increases the emotion value of the robot 100, "sad." Furthermore, the robot 100 selects the behavior of "calling out" defined in the reaction rules as the behavior to be performed toward the user 10. For example, when the robot 100 selects the behavior 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 user reaction information to the server 300 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 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 querying the server 300 for the updated reaction rules. 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 robots 101, 102, etc. into its own reaction rules.
図2は、ロボット100の機能構成を概略的に示す。ロボット100は、センサ部200と、センサモジュール部210と、格納部220と、ユーザ状態認識部230と、ユーザ感情決定部231と、ロボット感情決定部232と、行動認識部234と、行動決定部236と、記憶制御部238と、行動制御部250と、制御対象252と、通信処理部280と、を有する。 Figure 2 shows an outline of the 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, a user emotion determination unit 231, a robot 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は、ロボット100に搭載されている表示装置、スピーカ及び目部のLED、並びに、腕、手及び足等を駆動するモータ等を含む。ロボット100の姿勢や仕草は、腕、手及び足等のモータを制御することにより制御される。ロボット100の感情の一部は、これらのモータを制御することにより表現できる。また、ロボット100の目部のLEDの発光状態を制御することによっても、ロボット100の表情を表現できる。なお、ロボット100の姿勢、仕草及び表情は、ロボット100の態度の一例である。 The control object 252 includes the display device, speaker, and eye LEDs mounted on the robot 100, as well as motors that drive the arms, hands, and feet. The posture and gestures of the robot 100 are controlled by controlling the motors of the arms, hands, and feet. 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 illumination 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 audio data. The microphone 201 may be provided on the head of the robot 100 and may have a binaural recording function. The 3D depth sensor 202 detects the contours of an object by continuously emitting 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 emitting, 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, etc.
なお、図2に示すロボット100の構成要素のうち、制御対象252及びセンサ部200を除く構成要素は、ロボット100の行動制御システムが有する構成要素の一例である。ロボット100の行動制御システムは、制御対象252を制御の対象とする。 Note that, of the components of the robot 100 shown in FIG. 2, the components excluding the control target 252 and the sensor unit 200 are examples of components that the behavior control system of the robot 100 has. 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. This emotional value and behavioral history is recorded for each user 10, for example, by being associated with the user 10's identification information. At least a portion of the storage unit 220 is implemented as a storage medium such as a memory. It may also include a person DB that stores the user 10's facial image, attribute information of the user 10, etc. Note that the functions of the components of the robot 100 shown in FIG. 2, excluding the control target 252, sensor unit 200, and storage unit 220, can be realized by the CPU operating based on a program. For example, the functions of these components can be implemented as CPU operations using operating system (OS) and programs running 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 results 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 and recognizes the emotions of the user 10. For example, the voice emotion recognition unit 211 extracts features such as frequency components of the voice and recognizes the voice and emotions 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 the 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 uses the analysis results of the sensor module unit 210 to perform processing mainly related to perception. For example, it generates perceptual information such as "Dad is alone" or "There is a 90% chance that Dad is not smiling." It then performs processing to understand the meaning of the generated perceptual information. For example, it generates semantic information such as "Dad is alone and looks lonely."
ユーザ感情決定部231は、感情認識エンジン231aを備え、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザ10の状態に基づいて、ユーザ10の感情を示す感情値を決定する。例えば、センサモジュール部210で解析された情報、及び認識されたユーザ10の状態を、予め学習されたニューラルネットワークに入力し、ユーザ10の感情を示す感情値を取得する。 The user emotion determination unit 231 includes an emotion recognition engine 231a, and 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 into 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 that indicates the positive or negative state of the user's emotion. 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 will be positive, and the more cheerful the emotion, the larger the value. If the user's emotion is a negative emotion, such as "anger," "sorrow," "discomfort," "anxiety," "sorrow," "worry," and "emptiness," the value will be 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 ("neutral"), the value will be 0.
ロボット感情決定部232は、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザ10の状態に基づいて、ロボット100の感情を示す感情値を決定する。ロボット感情決定部232は、内分泌制御部232aと、感情生成エンジン232bを備える。内分泌制御部232aは、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザ10の状態などを利用して、感情生成エンジン232bにおいて用いられるニューラルネットワークのパラメータを調整する。例えば、内分泌制御部232aは、ドーパミンの放出量に対応するパラメータを調整する。ドーパミンは、内分泌物質の一例である。内分泌物質とは、神経伝達物質及びホルモン等、体内で分泌されシグナルを伝達する物質を意味する。ただし、ロボット100自身の内分泌物質とは、ロボット100の動作に影響を及ぼす情報の1つであり、ロボット100が内分泌物質を実際に発生するということを意味していない。なお、ロボット自身の感情を決定する際に、内分泌を利用することは、例えば特開2018-81583号公報などに開示さている通り公知であるため、詳細な説明を省略する。 The robot 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 robot emotion determination unit 232 includes an endocrine control unit 232a and an emotion generation engine 232b. The endocrine control unit 232a adjusts the parameters of the neural network used in the emotion generation engine 232b using 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 endocrine control unit 232a adjusts parameters corresponding to the amount of dopamine released. Dopamine is an example of an endocrine substance. Endocrine substances refer to substances secreted in the body that transmit signals, such as neurotransmitters and hormones. However, the endocrine substances of the robot 100 itself are a type of information that affects the behavior of the robot 100, and do not mean that the robot 100 actually produces endocrine substances. Note that the use of endocrine secretions to determine a robot's own emotions is publicly known, as disclosed in, for example, Japanese Patent Application Laid-Open No. 2018-81583, and therefore a detailed explanation will be omitted.
感情生成エンジン232bは、センサモジュール部210で解析された情報やユーザ状態認識部230によって認識されたユーザ10の状態、及び内分泌制御部232aによって調整されたパラメータに基づいて、ニューラルネットワークを用いて、ロボット100の感情を示す感情値を決定する。ロボット100の感情値は、複数の感情分類の各々に対する感情値を含み、本実施形態では、例えば「喜」、「怒」、「哀」、「楽」それぞれの強さを示す値(0~5)を想定する。 The emotion generation engine 232b uses a neural network to determine an emotion value that indicates the emotion of the robot 100 based on the information analyzed by the sensor module unit 210, the state of the user 10 recognized by the user state recognition unit 230, and parameters adjusted by the endocrine control unit 232a. The emotion value of the robot 100 includes emotion values for each of multiple emotion categories, and in this embodiment, values (0 to 5) indicating the strength of each of "joy," "anger," "sadness," and "happiness" are assumed.
具体例を挙げて説明すると、例えばユーザ状態認識部230によってユーザ10が寂しそうと認識された場合、内分泌制御部232aによってロボット100の「哀」の感情値に対応するパラメータを上げる制御が行われ、これにより、ロボット感情決定部232は、ロボット100の「哀」の感情値を増大させる。また、ユーザ状態認識部230によってユーザ10が笑顔になったと認識された場合、内分泌制御部232aによってロボット100の「喜」の感情値に対応するパラメータを上げる制御が行われ、これにより、ロボット感情決定部232は、ロボット100の「喜」の感情値を増大させる。 To give a specific example, if the user state recognition unit 230 recognizes that the user 10 looks lonely, the endocrine control unit 232a controls to increase the parameter corresponding to the emotion value of "sadness" of the robot 100, causing the robot emotion determination unit 232 to increase 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 endocrine control unit 232a controls to increase the parameter corresponding to the emotion value of "joy" of the robot 100, causing the robot emotion determination unit 232 to increase the emotion value of "joy" of the robot 100.
なお、ロボット感情決定部232は、ロボット100の状態を更に考慮して、ロボット100の感情を示す感情値を決定してもよい。例えば、ロボット100のバッテリー残量が少ない場合やロボット100の周辺環境が真っ暗な場合等に、内分泌制御部232aによってロボット100の「哀」の感情値に対応するパラメータを上げる制御が行われ、これにより、ロボット感情決定部232は、ロボット100の「哀」の感情値を増大させてもよい。更にバッテリー残量が少ないにも関わらず継続して話しかけてくるユーザ10の場合は、内分泌制御部232aによってロボット100の「怒」の感情値に対応するパラメータを上げる制御が行われ、これにより、ロボット感情決定部232は、ロボット100の「怒」の感情値を増大させてもよい。 The robot 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 robot 100 has a low battery or when the environment surrounding the robot 100 is completely dark, the endocrine control unit 232a may perform control to increase a parameter corresponding to the emotion value of "sadness" of the robot 100, thereby causing the robot emotion determination unit 232 to increase the emotion value of "sadness" of the robot 100. Furthermore, when the user 10 continues to talk to the robot 100 despite a low battery, the endocrine control unit 232a may perform control to increase a parameter corresponding to the emotion value of "anger" of the robot 100, thereby causing the robot emotion determination unit 232 to increase the emotion value of "anger" of the robot 100.
行動認識部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 into a pre-trained neural network, the probability of each of multiple predetermined behavior categories (e.g., "laughing," "angry," "asking a question," "sad") is obtained, and the behavior 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 then acquires the content of the user's utterance. However, when acquiring and using the content of the utterance, the robot 100 obtains the necessary consent from the user 10 in accordance with laws and regulations. Furthermore, the behavior control system of the robot 100 according to this embodiment takes into consideration the protection of the user's 10 personal information and privacy.
行動決定部236は、ユーザ感情決定部231により決定されたユーザ10の現在の感情値と、ユーザ10の現在の感情値が決定されるよりも前にユーザ感情決定部231により決定された過去の感情値の履歴データ222と、ロボット感情決定部232により決定されたロボット100の感情値とに基づいて、行動認識部234によって認識されたユーザ10の行動に対応する行動を決定する。本実施形態では、行動決定部236は、ユーザ10の過去の感情値として、履歴データ222に含まれる直近の1つの感情値を用いる場合について説明するが、開示の技術はこの態様に限定されない。例えば、行動決定部236は、ユーザ10の過去の感情値として、直近の複数の感情値を用いてもよいし、一日前などの単位期間の分だけ前の感情値を用いてもよい。また、行動決定部236は、ロボット100の現在の感情値だけでなく、ロボット100の過去の感情値の履歴を更に考慮して、ユーザ10の行動に対応する行動を決定してもよい。行動決定部236が決定する行動は、ロボット100が行うジェスチャー又はロボット100の発話内容を含む。 The behavior determination unit 236 determines a behavior 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 user emotion determination unit 231, history data 222 of past emotion values determined by the user emotion determination unit 231 before the current emotion value of the user 10 was determined, and the emotion value of the robot 100 determined by the robot emotion determination unit 232. In this embodiment, the behavior determination unit 236 describes a case in which the behavior determination unit 236 uses one most recent emotion value included in the history data 222 as the user 10's past emotion value, but the disclosed technology is not limited to this aspect. For example, the behavior determination unit 236 may use multiple most recent emotion values as the user 10's past emotion value, or may use an emotion value from a unit period ago, such as one day ago. Furthermore, the behavior determination unit 236 may determine a behavior corresponding to the user 10's behavior by further considering not only the robot 100's current emotion value but also the history of the robot 100's past emotion values. The behavior determined by the behavior determination unit 236 includes gestures performed by the robot 100 or speech content of the robot 100.
本実施形態に係る行動決定部236は、ユーザ10の行動に対応する行動として、ユーザ10の過去の感情値と現在の感情値の組み合わせと、ロボット100の感情値と、ユーザ10の行動と、反応ルール221とに基づいて、ロボット100の行動を決定する。例えば、行動決定部236は、ユーザ10の過去の感情値が正の値であり、かつ現在の感情値が負の値である場合、ユーザ10の行動に対応する行動として、ユーザ10の感情値を正に変化させるための行動を決定する。 The behavior determination unit 236 according to this embodiment determines the behavior of the robot 100 as a behavior corresponding to the behavior of the user 10, based on a combination of the user 10's past and current emotional values, the emotional value of the robot 100, the user 10's behavior, and the reaction rules 221. For example, if the user 10's past emotional value is a positive value and the current emotional value is a negative value, the behavior determination unit 236 determines the behavior corresponding to the user 10's behavior as a behavior that will change the user 10's emotional value to a positive value.
反応ルール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 user 10's past and current emotional values, the robot 100's emotional value, and the user 10's behavior. For example, if the user 10's past emotional value is a positive value and the current emotional value is a negative value, and the user 10's behavior is sad, the robot 100's behavior is defined as a combination of gestures and speech content when asking a question to encourage the user 10 with gestures.
例えば、反応ルール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 all combinations of patterns of the robot 100's emotional values (1296 patterns, which are the fourth power of six values from "0" to "5" for "joy,""anger,""sadness," and "happiness"), patterns of combinations of the user 10's past emotional values and current emotional values, and behavioral patterns of the user 10. That is, for each pattern of the robot 100's emotional values, behaviors of the robot 100 are defined in accordance with the behavioral patterns of the user 10 for each of a plurality of combinations of the user 10's past emotional values and current emotional values, such as negative and negative values, negative and positive values, positive and negative values, positive and positive values, negative and normal values, and normal and normal values. Note that, for example, when the user 10 makes an utterance intending to continue a conversation from a past topic, such as "I want to talk about that topic we talked about last time," the behavior determination unit 236 may transition to an operation mode that determines the behavior of the robot 100 using the history data 222.
The reaction rule 221 may define 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 emotional value of the robot 100. Alternatively, the reaction rule 221 may define at least one of a gesture and a statement as the behavior of the robot 100 for each group of patterns of the emotional value of the robot 100.
反応ルール221に定められているロボット100の行動に含まれる各ジェスチャーには、当該ジェスチャーの強度が予め定められている。反応ルール221に定められているロボット100の行動に含まれる各発話内容には、当該発話内容の強度が予め定められている。 The strength of each gesture included in the behavior of the robot 100 defined in the reaction rules 221 is predetermined. The strength of each utterance included in the behavior of the robot 100 defined in the reaction rules 221 is predetermined.
記憶制御部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 intensity for the behavior determined by the behavior determination unit 236 and the emotion value of the robot 100 determined by the robot emotion determination unit 232.
Specifically, if the 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 determined that data including the behavior of the user 10 is to be stored in the history data 222.
記憶制御部238は、ユーザ10の行動を含むデータを履歴データ222に記憶すると決定した場合、行動決定部236によって決定された行動と、現時点から一定期間前までの、センサモジュール部210で解析された情報(例えば、その場の音声、画像、匂い等のデータなどのあらゆる周辺情報)、及びユーザ状態認識部230によって認識されたユーザ10の状態(例えば、ユーザ10の表情、感情など)を、履歴データ222に記憶する。 When the storage 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 (for example, 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 (for example, the user 10's facial expression, emotions, etc.).
行動制御部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 that includes speaking, the behavior control unit 250 outputs 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 emotional value of the robot 100. For example, the behavior control unit 250 determines a faster speaking speed the higher the emotional value of the robot 100. 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 emotional value determined by the robot 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 user 10's voice or facial expression. 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 a touch sensor included in the sensor unit 200, the behavior control unit 250 may recognize that the user 10's emotions have worsened, or if the detection result of the touch sensor included in the sensor unit 200 indicates that the user 10 is smiling or happy, the behavior control unit 250 may recognize that the user 10's emotions have 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の「哀」の感情値を増大させる。 Furthermore, after the behavior control unit 250 executes the behavior determined by the behavior determination unit 236 in an execution mode determined according to the emotion of the robot 100, it controls the robot emotion determination unit 232 to further change the emotion value of the robot 100 based on the user's reaction to the execution of the behavior. Specifically, the robot emotion determination unit 232 increases the emotion value of "joy" 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 mode determined by the behavior control unit 250 is not negative. Furthermore, the robot emotion determination unit 232 increases the emotion value of "sad" 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 mode determined by the behavior control unit 250 is negative.
更に、行動制御部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, if the emotion value of "happiness" of the robot 100 is increased, the behavior control unit 250 controls the control object 252 to make the robot 100 perform a happy gesture. Furthermore, if the emotion value of "sadness" of the robot 100 is increased, the behavior control unit 250 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. The communication processing unit 280 also 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から送信されたユーザ反応情報を受信し、ポジティブな反応が得られた行動を含む反応ルールに基づいて、反応ルールを更新する。なお、サーバ300の機能は、1以上のコンピュータによって実装されてよい。サーバ300の少なくとも一部の機能は、仮想マシンによって実装されてよい。また、サーバ300の機能の少なくとも一部は、クラウドで実装されてよい。 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. 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. At least some of the functions of the server 300 may be implemented in the cloud.
図3は、ロボット100において行動を決定する動作に関する動作フローの一例を概略的に示す。図3に示す動作フローは、繰り返し実行される。このとき、センサモジュール部210で解析された情報が入力されているものとする。なお、動作フロー中の「S」は、実行されるステップを表す。 Figure 3 shows an example of an operational flow for determining the behavior of the robot 100. The operational flow shown in Figure 3 is executed repeatedly. At this time, it is assumed that information analyzed by the sensor module unit 210 has been input. Note that "S" in the operational flow indicates the step being 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において、ユーザ感情決定部231は、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザ10の状態に基づいて、ユーザ10の感情を示す感情値を決定する。 In step S102, the user emotion determination unit 231 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 robot 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 robot 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 determination unit 236 determines 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 target 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 robot 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 processing ends without storing data including the user's 10's behavior in the history data 222. On the other hand, if the total intensity value is equal to or greater than the threshold value, the processing 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, the robot 100 determines an emotion value indicating the emotion of the robot 100 based on the user state, and determines whether or not to store data including the behavior of the user 10 in the history data 222 based on the emotion value of the robot 100. This reduces the capacity of the history data 222 that stores data including the behavior of the user 10. For example, if the robot 100 determines that the user's state 10 years from now will be the same as it was 10 years ago, the robot 100 can read the history data 222 from 10 years ago and present the user 10 with all peripheral information, such as the state of the user 10 from 10 years ago (e.g., the user's facial expressions, emotions, etc.), as well as data on the sound, images, smells, etc. of the situation.
また、ロボット100によれば、ユーザ10の行動に対して適切な行動をロボット100に実行させることができる。従来は、ユーザの行動を分類し、ロボットの表情や恰好を含む行動を決めていた。これに対し、ロボット100は、ユーザ10の現在の感情値を決定し、過去の感情値及び現在の感情値に基づいてユーザ10に対して行動を実行する。従って、例えば、昨日は元気であったユーザ10が今日は落ち込んでいた場合に、ロボット100は「昨日は元気だったのに今日はどうしたの?」というような発話を行うことができる。また、ロボット100は、ジェスチャーを交えて発話を行うこともできる。また、例えば、昨日は落ち込んでいたユーザ10が今日は元気である場合に、ロボット100は、「昨日は落ち込んでいたのに今日は元気そうだね?」というような発話を行うことができる。また、例えば、昨日は元気であったユーザ10が今日は昨日よりも元気である場合、ロボット100は「今日は昨日よりも元気だね。昨日よりも良いことがあった?」というような発話を行うことができる。また、例えば、ロボット100は、感情値が0以上であり、かつ感情値の変動幅が一定の範囲内である状態が継続しているユーザ10に対しては、「最近、気分が安定していて良い感じだね。」というような発話を行うことができる。 Furthermore, the robot 100 can be made to perform an appropriate action in response to the user's 10 actions. Conventionally, the user's actions were classified and actions, including the robot's facial expressions and posture, were determined. In contrast, the robot 100 determines the user's 10 current emotional value and performs an action on the user 10 based on the past and current emotional values. Therefore, for example, if the user 10 was cheerful yesterday but is depressed today, the robot 100 can utter an utterance such as, "You were cheerful yesterday, but what's up with you today?" The robot 100 can also utter an utterance using gestures. For example, if the user 10 was depressed yesterday but is cheerful today, the robot 100 can utter an utterance such as, "You were depressed yesterday, but you seem cheerful today, don't you?" For example, if the user 10 was cheerful yesterday but is more cheerful today than yesterday, the robot 100 can utter an utterance such as, "You're more cheerful today than yesterday. Has anything better happened than yesterday?" Furthermore, for example, when the emotion value is equal to or greater than 0 and the range of fluctuation in the emotion value continues to be within a certain range, the robot 100 can say something like, "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 you told me about yesterday?" and, if the user 10 replies, "Yes, I did," make a positive utterance such as "Great!" and perform a positive gesture such as clapping or a thumbs-up. For example, if the user 10 utters, "The presentation you gave the day before yesterday went well," the robot 100 can make a positive utterance such as "Good job!" and perform the above-mentioned positive gesture. In this way, the robot 100 can be expected to make the user 10 feel a sense of affinity with 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. For example, the robot 100 may recognize the user 10 using a voice uttered by the user 10, the user 10's email address, the user 10's SNS ID, 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 a variety of electronic devices. 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. 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 a schematic diagram of an example of the 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 perform operations or one or more "parts" associated with an apparatus according to the present embodiment, and/or to perform a process or steps of the process according to the present embodiment. Such a program may be executed by the CPU 1212 to cause the computer 1200 to perform specific operations associated with some or all of the blocks in 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, RAM 1214, and graphics controller 1216, which are interconnected by a host controller 1210. The computer 1200 also includes input/output units such as a communications 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 legacy input/output units 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 programs stored in the ROM 1230 and RAM 1214, thereby controlling each unit. The graphics controller 1216 acquires image data generated by the CPU 1212 into a frame buffer provided in the RAM 1214 or into the graphics controller 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 and the like that is executed by computer 1200 upon activation, and/or programs that depend 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 storage device 1224, RAM 1214, or ROM 1230, which are also examples of computer-readable storage media, and executed by CPU 1212. The information processing described in these programs is read by computer 1200, resulting in cooperation between the programs and the various types of hardware resources described above. An apparatus or method may be configured by implementing the operation or processing of information in accordance with the use of 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 on 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 the processed data back 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 on the recording medium and may undergo information processing. CPU 1212 may perform various types of processing on data read from 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 program's instruction sequence, and write the results back to RAM 1214. CPU 1212 may also search for information in files, databases, etc. on the recording medium. For example, if multiple entries each having an attribute value of a first attribute associated with an attribute value of a second attribute are stored on the recording medium, 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 programs or software modules described above may be stored on computer-readable storage media on or near computer 1200. Recording media such as a hard disk or RAM provided within a server system connected to a dedicated communications network or the Internet can also be used as computer-readable storage media, thereby providing the programs to 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. Dedicated circuitry may include digital and/or analog hardware circuitry, and may include integrated circuits (ICs) and/or discrete circuits. Programmable circuitry may include reconfigurable hardware circuitry including AND, OR, XOR, NAND, NOR, and other logical operations, flip-flops, registers, and memory elements, such as 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 executed by a suitable device, such that a computer-readable storage medium having instructions stored thereon comprises an article of manufacture, including 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, etc. More specific examples of computer-readable storage media may include floppy disks, diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), electrically erasable programmable read-only memory (EEPROM), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc, memory stick, integrated circuit card, etc.
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(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 locally or over a wide area network (WAN) such as a local area network (LAN), the Internet, etc. to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, or to a programmable circuit, such that the processor or 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.
(感情マップによる感情の決定)
ユーザ感情決定部231は、特定のマッピングに従い、ユーザの感情を決定してよい。具体的には、ユーザ感情決定部231は、感情認識エンジン231aを利用して、特定のマッピングである感情マップ(図5参照)に従い、ユーザの感情を決定してよい。同様に、ロボット感情決定部232は、感情生成エンジン232bを利用して、特定のマッピングである感情マップ(図5参照)に従い、ロボット100の感情を決定してよい。なお、感情認識エンジン231a、感情生成エンジン232bを特に区別する必要がない場合には、これらを感情エンジンと総称する。
(Determining emotions using emotion maps)
The user emotion determination unit 231 may determine the user's emotion in accordance with a specific mapping. Specifically, the user emotion determination unit 231 may use the emotion recognition engine 231a to determine the user's emotion in accordance with an emotion map (see FIG. 5), which is a specific mapping. Similarly, the robot emotion determination unit 232 may use the emotion generation engine 232b to determine the emotion of the robot 100 in accordance with the emotion map (see FIG. 5), which is a specific mapping. Note that when there is no need to particularly distinguish between the emotion recognition engine 231a and the emotion generation engine 232b, they will be collectively referred to as emotion engines.
図5は、複数の感情がマッピングされる感情マップ300を示す図である。感情マップ300において、感情は、中心から放射状に同心円に配置されている。同心円の中心に近いほど、原始的状態の感情が配置されている。同心円のより外側には、心境から生まれる状態や行動を表す感情が配置されている。感情とは、情動や心的状態も含む概念である。同心円の左側には、概して脳内で起きる反応から生成される感情が配置されている。同心円の右側には概して、状況判断で誘導される感情が配置されている。同心円の上方向及び下方向には、概して脳内で起きる反応から生成され、かつ、状況判断で誘導される感情が配置されている。また、同心円の上側には、「快」の感情が配置され、下側には、「不快」の感情が配置されている。このように、感情マップ300では、感情が生まれる構造に基づいて複数の感情がマッピングされており、同時に生じやすい感情が、近くにマッピングされている。 Figure 5 shows an emotion map 300 on which multiple emotions are mapped. In emotion map 300, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both emotions and mental states. Emotions that are generally generated from reactions that occur in the brain are arranged on the left side of the concentric circles. Emotions that are generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions that are generally generated from reactions that occur in the brain and are induced by situational judgment are arranged above and below the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the top side of the concentric circles, and the emotion of "discomfort" is arranged on the bottom side. In this way, in emotion map 300, multiple emotions are mapped based on the structure by which emotions are generated, with emotions that tend to occur simultaneously being mapped close together.
(1)例えば感情エンジンが、100msec程度で感情を検知している場合、ロボット100の反応動作(例えば相槌)の決定は、頻度が少なくとも、感情エンジンの検知頻度(100msec)と同様のタイミングに設定してよく、これよりも早いタイミングに設定してもよい。感情エンジンの検知頻度はサンプリングレートと解釈してよい。 (1) For example, if the emotion engine detects emotions at approximately 100 msec, the frequency with which the robot 100 determines its reaction behavior (e.g., a backchannel response) may be set at a timing at least as frequent as the emotion engine's detection frequency (100 msec), or may be set at a timing earlier than this. The emotion engine's detection frequency may be interpreted as the sampling rate.
100msec程度で感情を検知し、即時に連動して反動動作(例えば相槌)を行うことで、不自然な相槌ではなくなり、自然な空気を読んだ対話を実現できる。ロボット100感情マップ300の曼荼羅の方向性とその度合い(強さ)に応じて、反動動作(相槌など)を行う。なお、感情認識エンジン231aの検知頻度(サンプリングレート)は、100msに限定されず、シチュエーション(スポーツをしている場合など)、ユーザの年齢などに応じて、変更してもよい。 By detecting emotions within about 100 ms and immediately performing a corresponding reaction (e.g., a nod), unnatural reactions are eliminated, enabling a natural, well-read dialogue. The reaction (e.g., a nod) is performed according to the directionality and degree (strength) of the mandala in the robot's 100 emotion map 300. The detection frequency (sampling rate) of the emotion recognition engine 231a is not limited to 100 ms, and may be changed depending on the situation (e.g., when playing sports), the user's age, etc.
(2)感情マップ300と照らし合わせ、感情の方向性とその度合いの強さを予め設定しておき、相槌の動き及び相槌の強弱を設定してよい。例えば、ロボット100が安定感、安心などを感じている場合、ロボット100は、頷いて話を聞き続ける。ロボット100が不安、迷い、怪しい感じを覚えている場合、ロボット100は、首をかしげてもよく、首振りを止めてもよい。 (2) The directionality and intensity of emotions may be set in advance 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 3 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 pain after receiving harsh words, the filler "ugh!" may be inserted before the line. A physical reaction, such as the robot 100 crouching down while saying "ugh!", may also 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) take precedence over situational awareness. This can give the impression of an unconscious reaction.
ロボット100が納得感という内部的な感覚(反応)を覚えながら状況認識においても好感を覚える場合、ロボット100は、相手を見ながら深く頷いてよく、また「うんうん」と発してよい。このように、ロボット100は、相手へのバランスのとれた好感、すなわち、相手への許容や寛容といった行動を生成してよい。このような感情は、感情マップ300の12時あたりに分布している。 When the robot 100 feels an internal sense (reaction) of satisfaction and also feels a favorable impression in its situational awareness, 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 behavior that shows a balanced favorable impression 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 robot 100 is aware of an internal sensation (reaction) of discomfort, it may shake its head when it feels disgust, or turn the LEDs in its eyes red and glare at the other person when it feels hatred. These emotions are distributed around 6 o'clock on emotion map 300.
(5)感情マップ300の内側は心の中、感情マップ300の外側は行動を表すため、感情マップ300の外側に行くほど、感情が目に見える(行動に表れる)ようになる。 (5) The inside of emotion map 300 represents the mind, and the outside of emotion map 300 represents behavior, so the further out you go on emotion map 300, the more visible (expressed in behavior) the emotion becomes.
(6)感情マップ300の3時付近に分布する安心を覚えながら、人の話を聞く場合、ロボット100は、軽く首を縦に振って「ふんふん」と発する程度であるが、12時付近の愛の方になると、首を深く縦に振るような力強い頷きをしてよい。 (6) When listening to someone while feeling a sense of security, which is distributed around 3 o'clock on the emotion map 300, the robot 100 may nod its head lightly and say "hmm," but when it comes to feelings of love, which are distributed around 12 o'clock, it may nod its head strongly.
ユーザ感情決定部231は、センサモジュール部210で解析された情報、及び認識されたユーザ10の状態を、予め学習されたニューラルネットワークに入力し、感情認識エンジン231aを利用して感情マップ300に示す各感情を示す感情値を取得し、ユーザ10の感情を決定する。このニューラルネットワークは、センサモジュール部210で解析された情報、及び認識されたユーザ10の状態と、感情マップ300に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。また、このニューラルネットワークは、図6に示す感情マップ900のように、近くに配置されている感情同士は、近い値を持つように学習される。図6では、「安心」、「安穏」、「心強い」という複数の感情が、近い感情値となる例を示している。 The user emotion determination unit 231 inputs the information analyzed by the sensor module unit 210 and the recognized state of the user 10 into a pre-trained neural network, and uses the emotion recognition engine 231a to obtain emotion values indicating each emotion shown in the emotion map 300, thereby determining the emotion of the user 10. This neural network is pre-trained based on multiple pieces of training data that are combinations of the information analyzed by the sensor module unit 210, the recognized state of the user 10, and emotion values indicating each emotion shown in the emotion map 300. 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 Figure 6. Figure 6 shows an example in which multiple emotions, such as "relieved," "calm," and "reassuring," have similar emotion values.
一方、ロボット感情決定部232は、センサモジュール部210で解析された情報、ユーザ状態認識部230によって認識されたユーザ10の状態、及びロボット100の状態を、予め学習されたニューラルネットワークに入力し、感情生成エンジン232bを利用して感情マップ300に示す各感情を示す感情値を取得し、ロボット100の感情を決定する。このニューラルネットワークは、センサモジュール部210で解析された情報、認識されたユーザ10の状態、及びロボット100の状態と、感情マップ300に示す各感情を示す感情値との組み合わせである複数の学習データに基づいて予め学習されたものである。例えば、タッチセンサ(図示省略)の出力から、ロボット100がユーザ10になでられていると認識される場合に、「嬉しい」の感情値「3」となることを表す学習データや、加速度センサ(図示省略)の出力から、ロボット100がユーザ10に叩かれていると認識される場合に、「怒」の感情値「3」となることを表す学習データに基づいて、ニューラルネットワークが学習される。また、このニューラルネットワークは、図6に示す感情マップ900のように、近くに配置されている感情同士は、近い値を持つように学習される。 Meanwhile, the robot 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 using the emotion generation engine 232b, 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, 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 indicating that when the robot 100 is recognized as being stroked by the user 10 based on the output of a touch sensor (not shown), the emotion value of "happy" is "3," and based on learning data indicating that when the robot 100 is recognized as being hit by the user 10 based on the output of an acceleration sensor (not shown), the emotion value of "anger" is "3." Furthermore, this neural network is trained so that emotions that are placed close to each other have similar values, as shown in the emotion map 900 in Figure 6.
行動決定部236は、ユーザの行動と、ユーザの感情、ロボットの感情とを表すテキストに、ユーザの行動に対応するロボットの行動内容を質問するための固定文を追加して、対話機能に入力することにより、ロボットの行動内容を生成する。 The behavior determination 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 text representing the user's behavior, the user's emotions, and the robot's emotions, and inputting this into the dialogue function.
例えば、行動決定部236は、ロボット感情決定部232によって決定されたロボット100の感情から、図7に示すような感情テーブルを用いて、ロボット100の状態を表すテキストを取得する。ここで、感情テーブルには、感情の種類毎に、各感情値に対してインデックス番号が付与されており、インデックス番号毎に、ロボット100の状態を表すテキストが格納されている。 For example, the behavior determination unit 236 uses an emotion table such as that shown in FIG. 7 to obtain text representing the state of the robot 100 from the emotion of the robot 100 determined by the robot emotion determination unit 232. 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の状態を表すテキストが複数得られる。 If the emotion of the robot 100 determined by the robot emotion determination unit 232 corresponds to index number "2", the text "very happy" is obtained. Note that if 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の感情に対しても、図8に示すような感情テーブルを用意しておく。ここで、ユーザの行動が、「ごきげんようと話しかける」であり、ロボット100の感情が、インデックス番号「2」であり、ユーザ10の感情が、インデックス番号「3」である場合には、「ロボットはとても楽しい状態です。ユーザは普通に楽しい状態です。ユーザに「ごきげんよう」と話しかけられました。ロボットとして、どのように返事をしますか?」とチャットエンジンに入力し、ロボットの行動内容を取得する。行動決定部236は、この行動内容から、ロボットの行動を決定する。 An emotion table such as that shown in Figure 8 is also prepared for the emotions of the user 10. Here, if the user's behavior is "speaking good mood," the robot 100's emotion is index number "2," and the user 10's emotion is index number "3," the following is input to the chat engine: "The robot is in a very happy state. The user is in a normal happy state. The user spoke to the user saying 'good mood.' How would you respond as the robot?" and the robot's behavior content is obtained. The behavior decision unit 236 decides the robot's behavior from this behavior content.
このように、ロボット100は、ロボットの感情に応じたインデックス番号に応じて、ロボットの行動を変えることができるため、ユーザは、ロボットに心があるような印象を持ち、ロボットに対して話しかけるなどの行動をとることが促進される。 In this way, robot 100 can change its behavior according to the index number that corresponds to the robot's emotions, which gives the user the impression that the robot has a heart and encourages them to take actions such as talking to the robot.
また、行動決定部236は、ユーザの行動と、ユーザの感情、ロボットの感情とを表すテキストだけでなく、履歴データ222の内容を表すテキストも追加した上で、ユーザの行動に対応するロボットの行動内容を質問するための固定文を追加して、対話機能を有する文章生成モデルに入力することにより、ロボットの行動内容を生成するようにしてもよい。これにより、ロボット100は、ユーザの感情や行動を表す履歴データに応じて、ロボットの行動を変えることができるため、ユーザは、ロボットに個性があるような印象を持ち、ロボットに対して話しかけるなどの行動をとることが促進される。また、履歴データに、ロボットの感情や行動を更に含めるようにしてもよい。 The behavior determination unit 236 may also generate the robot's behavior by adding text representing the contents of the history data 222, as well as text representing the user's behavior, the user's emotions, and the robot's emotions, and then adding a fixed sentence for asking about the robot's behavior corresponding to the user's behavior, and inputting this into a sentence generation model with a dialogue function. This allows the robot 100 to change its behavior in accordance with the history data representing the user's emotions and behavior, giving the user the impression that the robot has individuality and encouraging them to take actions such as talking to the robot. The history data may also include the robot's emotions and behavior.
(実施例)
次に、本実施形態のロボット100を、自動販売機に適用する場合の例について説明する。自動販売機としてのロボット100のセンサ部200は、例えば、ユーザと対話したり、ユーザの状態や周囲の状況を監視したりするためのカメラやマイクを含む。また、周囲の気温や天候についての情報を取得するための温度計、湿度計、風力計を含む。また、ロボット100の制御対象252は、ユーザと対話するためのスピーカやディスプレイを含む。
(Example)
Next, an example in which the robot 100 of this embodiment is applied to a vending machine will be described. The sensor unit 200 of the robot 100 as a vending machine includes, for example, a camera and a microphone for interacting with a user and monitoring the user's condition and the surrounding environment. It also includes a thermometer, a hygrometer, and an anemometer for acquiring information about the surrounding temperature and weather. The control target 252 of the robot 100 also includes a speaker and a display for interacting with the user.
次に、ロボット100の動作について図9のフローチャートを用いて説明する。ロボット100は、以下のステップS1~S5-1,S5-2により、ユーザの好み、ユーザの状況、ユーザの反応に合わせて、ユーザ10と会話をしながらおすすめの商品を提案する。ここでは、飲料(商品)の自動販売機を想定して説明する。 Next, the operation of the robot 100 will be explained using the flowchart in Figure 9. Through the following steps S1 to S5-1 and S5-2, the robot 100 suggests recommended products while conversing with the user 10, based on the user's preferences, situation, and reactions. Here, the explanation will be based on the assumption that the robot 100 is a vending machine for beverages (products).
(ステップS1)
ロボット100は、ユーザ10の状態、ユーザ10の感情値、ロボット100の感情値、履歴データ222を取得する。具体的には、上記ステップS100~S103と同様の処理を行い、ユーザ10の状態、ユーザ10の感情値、ロボット100の感情値、履歴データ222を取得する。
(Step S1)
The robot 100 acquires the state of the user 10, the emotional value of the user 10, the emotional value of the robot 100, and the history data 222. Specifically, the same processes as in steps S100 to S103 above are performed to acquire the state of the user 10, the emotional value of the user 10, the emotional value of the robot 100, and the history data 222.
(ステップS2)
ロボット100は、飲料に関するユーザの好みを取得する。具体的には、行動決定部236は、ユーザ10に対して飲料に関する好みについて質問する発話(「今日は何が飲みたいですか?」、「ホットとアイスどちらにしますか?」等)を、ロボット100の行動として決定し、行動制御部250は、制御対象252(スピーカ)を制御し、ユーザ10に対してこれらの質問をする発話を行う。また、ロボット100は、質問に対するユーザの回答内容だけでなく、カメラから取得されるユーザの表情や、対話の際の声のトーンから、ユーザの好みを分析してもよい。ユーザ状態認識部230は、センサモジュール部210で解析された情報(例えば、ユーザの回答)に基づいて、ユーザ10の好みを認識する。
(Step S2)
The robot 100 acquires the user's beverage preferences. Specifically, the behavior determination unit 236 determines, as the behavior of the robot 100, utterances that ask the user 10 questions about their beverage preferences (e.g., "What would you like to drink today?", "Would you like it hot or iced?", etc.), and the behavior control unit 250 controls the control target 252 (speaker) to make utterances that ask these questions to the user 10. The robot 100 may also analyze the user's preferences not only from the user's answers to the questions but also from the user's facial expressions acquired by a camera and the user's tone of voice during the conversation. The user state recognition unit 230 recognizes the user's preferences based on information analyzed by the sensor module unit 210 (e.g., the user's answers).
(ステップS3)
ロボット100は、ユーザにお勧めする商品を決定する。具体的には、行動決定部236は、ユーザ10の飲料に関する好み、ユーザの感情、ロボット100の感情、及び履歴データ222に格納された内容を表すテキストに、「このとき、ユーザにオススメの行動は?」という固定文を追加して、文章生成モデルに入力し、オークションサイトでの行動に関するオススメの内容を取得する。このとき、ユーザ10の飲料に関する好みだけでなく、ユーザ10の感情や履歴データ222を考慮することにより、ユーザ10に適した商品を提案することができる。また、ロボット100の感情を考慮することにより、ロボット100が感情を有していることを、ユーザ10に感じさせることができる。
(Step S3)
The robot 100 determines a product to recommend to the user. Specifically, the behavior determination unit 236 adds a fixed sentence, "What behavior would you recommend the user to do at this time?" to text representing the user's 10 beverage preferences, the user's emotions, the robot's 100's emotions, and the content stored in the history data 222, and inputs the resulting sentence into a sentence generation model to obtain recommended content related to behavior on the auction site. At this time, by taking into consideration not only the user's 10 beverage preferences but also the user's emotions and the history data 222, it is possible to suggest a product suitable for the user 10. Furthermore, by taking into consideration the robot's 100's emotions, it is possible to make the user 10 realize that the robot 100 has emotions.
ロボット100の感情値は、図5に例示するような感情マップに基づいて決定することができる。なお、ロボットの感情は、周囲の状況や時間帯、ユーザの状態や感情によって変動してもよい。具体的には、ユーザ10が常連客の場合には、ロボットの感情がポジティブになり、積極的に新商品を提案するような行動を取るようにしてもよい。ユーザ10が常連客かどうかは、履歴データ222に基づいて判断できるようにしてもよい。具体的には、履歴データ222に、購入した客の顔情報や声の特徴を記憶しておき、それらの情報と照合することで判断するようにしてよい。ロボット100は、ユーザ10の利用回数が多いほどポジティブになり、フレンドリーな口調で話しかけたり、ユーザ10が自動販売機の前で立ち止まったタイミングで「いつもありがとうございます!」などの積極的な発話を行ったりするようにしてもよい。 The emotion value of the robot 100 can be determined based on an emotion map such as the example shown in Figure 5. The robot's emotion may fluctuate depending on the surrounding circumstances, the time of day, and the user's state and emotion. Specifically, if the user 10 is a regular customer, the robot's emotion may become positive and it may behave in a way that proactively suggests new products. Whether the user 10 is a regular customer may be determined based on the history data 222. Specifically, the history data 222 may store facial information and voice characteristics of customers who have made purchases, and the determination may be made by comparing this information. The more frequently the user 10 uses the vending machine, the more positive the robot 100 becomes, and the robot 100 may speak to the user 10 in a friendly tone, or may make an active utterance such as "Thank you for your continued patronage!" when the user 10 stops in front of the vending machine.
またロボット100が、寒い日(例えば、周囲の温度が10度以下)には温かい飲み物を勧めたがるようになったり、暑い日(例えば、周囲の温度が25度以上)には冷たい飲み物を勧めたがったりするようにしてもよい。 The robot 100 may also be configured to prefer offering hot drinks on cold days (e.g., when the ambient temperature is below 10 degrees) and cold drinks on hot days (e.g., when the ambient temperature is above 25 degrees).
また、ユーザ10の表情や声のトーンから、ユーザ10の感情がポジティブであると判断されたならばロボット100もポジティブに、ユーザ10の感情がネガティブであると判断されたならばロボット100もネガティブに、というようにユーザの感情に同調するようにしてもよい。 Furthermore, if it is determined from the facial expression or tone of voice of the user 10 that the user's 10 emotions are positive, the robot 100 may also be made to be positive, and if it is determined that the user's 10 emotions are negative, the robot 100 may also be made to be negative, so as to synchronize with the user's emotions.
また、自動販売機内の複数の商品が売り切れであったり、加温中または冷却中の商品が多かったりする場合には、ロボット100の感情がネガティブになるようにしてもよい。 Furthermore, if multiple items in the vending machine are sold out or if many items are being heated or cooled, the robot 100's emotions may become negative.
また、ロボット100は、履歴データ222を取得し、ユーザ10が常連客の場合には、過去に購入したことがある商品を提案するようにしてもよい。履歴データには、購入日時、購入した商品(ホットかアイスか)、その日の気温等の情報が含まれていてよい。なお、ユーザ10が過去に購入している商品が加温中または冷却中の場合には、他の類似商品を提案するようにしてもよい。 The robot 100 may also acquire history data 222 and, if the user 10 is a regular customer, suggest products that the user has previously purchased. The history data may include information such as the date and time of purchase, the product purchased (hot or iced), and the temperature on that day. Note that, if the product previously purchased by the user 10 is currently being heated or cooled, other similar products may be suggested.
ロボット100は、ユーザ10との対話で得た情報、ユーザ10の感情、ロボット100の感情、過去の履歴等に基づいて、ユーザ10に提案する商品を決定する。具体的には、行動決定部236が、ユーザ10の飲料に関する好み、ユーザ10の感情、ロボット100の感情、周囲の状況、及び履歴データ222の内容を表すテキストに、「このとき、ユーザにオススメの行動は?」という固定文を追加して、文章生成モデルに入力し、オススメの行動内容を取得する。この結果、例えば「新商品の○○をお勧めする。」、「いつもの△△をお勧めする。」といったオススメの行動内容を取得する。このように、ユーザとの対話で得られた情報だけでなく、ユーザの感情や履歴データ222を考慮することにより、ユーザに適した行動内容を提案することができる。 The robot 100 determines the product to suggest to the user 10 based on information obtained through dialogue with the user 10, the emotions of the user 10, the emotions of the robot 100, past history, etc. Specifically, the behavior decision unit 236 adds a fixed sentence, "What behavior would you recommend the user to do at this time?" to text representing the user 10's beverage preferences, the emotions of the user 10, the emotions of the robot 100, the surrounding situation, and the contents of the history data 222, and inputs this into a sentence generation model to obtain the recommended behavior. As a result, recommended behavior such as "I recommend the new product XX" or "I recommend the usual △△" can be obtained. In this way, by considering not only the information obtained through dialogue with the user, but also the user's emotions and the history data 222, it is possible to suggest behavior that is appropriate for the user.
また、ロボット100の感情も考慮した提案内容とすることにより、ロボット100が感情を有していることをユーザ10に感じさせることができる。例えば、いつもホットコーヒーを購入するユーザ10に対して、冷たい炭酸飲料を提案することで、ロボット100が「今日は暑いので冷たい飲料を勧めたい」という感情を持っていることを感じさせることができる。また、毎日来てくれる常連客に対して新商品を勧めることで、ロボット100が「いつも来てくれるので新しい商品をお勧めしたい」という感情を持っていることを感じさせることができる Furthermore, by taking the robot's 100's emotions into consideration when making suggestions, the user 10 can sense that the robot 100 has emotions. For example, by suggesting a cold carbonated drink to a user 10 who always buys hot coffee, the user 10 can sense that the robot 100 has the emotion, "It's hot today, so I want to recommend a cold drink." Furthermore, by recommending a new product to a regular customer who comes every day, the user 100 can sense that the robot 100 has the emotion, "Since you always come, I want to recommend a new product."
(ステップS4)
ロボット100は、ユーザに決定した商品を提案し、ユーザの反応を取得する。具体的には、行動制御部250は、制御対象252(スピーカ)を制御し、ユーザに対して「新商品の○○珈琲はいかがですか?」といった提案をする発話を行う。また「○○珈琲は有名店のコーヒーマイスターが監修した炭火焙煎珈琲です。」などのように、商品を紹介する発話を併せて行ってもよい。また、ユーザ10が常連客の過去の購入履歴に応じた商品の紹介をするようにしてもよい。例えば、コーヒー飲料の購入が多い場合には、「コーヒーがお好きだと思うので、今日は新商品の○○珈琲をおすすめします。」などのように発話することで、ユーザ10は、自信の好みや過去の購入商品を考慮して提案してくれたという感覚を持つことができる。
(Step S4)
The robot 100 proposes the selected product to the user and acquires the user's reaction. Specifically, the behavior control unit 250 controls the control object 252 (speaker) to make a suggestion to the user, such as "How about our new product, XX Coffee?" The robot may also make a suggestion to the user, such as "XX Coffee is a charcoal-roasted coffee overseen by a coffee master at a famous coffee shop." Furthermore, the robot may recommend products based on the user's past purchase history as a regular customer. For example, if the user frequently purchases coffee drinks, the robot may make a suggestion such as "I think you like coffee, so I recommend our new product, XX Coffee, today." This allows the user 10 to feel that the suggestion was made taking into consideration the user's preferences and past purchases.
ユーザ状態認識部230は、センサモジュール部210で解析された情報に基づいて、ユーザの状態を認識し、ユーザ感情決定部231は、センサモジュール部210で解析された情報、及びユーザ状態認識部230によって認識されたユーザの状態に基づいて、ユーザ10の感情を示す感情値を決定する。行動決定部236は、ユーザ状態認識部230によって認識されたユーザ10の状態、及び、ユーザ10の感情を示す感情値に基づいて、ユーザ10の反応が、ポジティブか否かを判断し、ロボット100の行動として、ユーザ10に対して別の行動を提案するかどうかを決定する。 The user state recognition unit 230 recognizes the user's state based on the information analyzed by the sensor module unit 210, and the user emotion determination unit 231 determines an emotion value indicating the emotion of the user 10 based on the information analyzed by the sensor module unit 210 and the user's state recognized by the user state recognition unit 230. The behavior determination unit 236 determines whether the user's reaction is positive or not based on the state of the user 10 recognized by the user state recognition unit 230 and the emotion value indicating the user's emotion, and determines whether to suggest a different behavior to the user 10 as the behavior of the robot 100.
(ステップS5-1)
行った提案に対してユーザ10の反応がポジティブ(肯定的)である場合、ロボット100は、行動内容を確定させる。ユーザ10の反応がポジティブであるかどうかは、ユーザ状態認識部230によって認識されたユーザ10の状態(ユーザの返事の内容や表情、口調など)や、ユーザ10の感情から判断するようにしてよい。ロボット100の行動として、行動内容を確定させると決定した場合には、行動制御部250の制御により、対象商品の購入ボタンを点滅させて、ユーザ10の購入操作をサポートするようにしてもよい。
(Step S5-1)
If the user 10 responds positively to the suggestion, the robot 100 confirms the action content. Whether the user 10 responded positively may be determined based on the state of the user 10 recognized by the user state recognition unit 230 (the content of the user's reply, facial expression, tone of voice, etc.) or the emotion of the user 10. If it is determined that the action content of the robot 100 is to be confirmed, the action control unit 250 may control the purchase button of the target product to blink, thereby supporting the user 10 in making a purchase.
(ステップS5-2)
ユーザ10の反応がネガティブ(否定的)である場合、ロボット100は、ユーザ10に対して提案する別の商品を決定する。ユーザ10の反応がネガティブであるかどうかは、ユーザ状態認識部230によって認識されたユーザ10の状態(ユーザ10の返事の内容や表情、口調など)や、ユーザ10の感情から判断するようにしてよい。ロボット100の行動として、ユーザ10に対して別の行動内容を提案すると決定した場合には、行動決定部236は、ユーザ10の飲料に関する好み、ユーザ10の感情、ロボット100の感情、及び履歴データ222に格納された内容を表すテキストに、「ユーザにオススメの行動は他にある?」という固定文を追加して、文章生成モデルに入力し、オススメの商品を取得する。そして、上記ステップS4へ戻り、ユーザ10からポジティブな反応が得られ、提案した行動内容が確定するまで、上記のステップS4~ステップS5-2の処理を繰り返す。
(Step S5-2)
If the user 10's reaction is negative, the robot 100 determines another product to suggest to the user 10. Whether the user 10's reaction is negative may be determined based on the state of the user 10 recognized by the user state recognition unit 230 (such as the content of the user's 10 response, facial expression, and tone of voice) or the emotion of the user 10. When it is determined that another action content should be suggested to the user 10 as the action of the robot 100, the action determination unit 236 adds a fixed sentence, "Are there any other actions you would recommend to the user?" to the text representing the user's 10 beverage preferences, the user's 10 emotion, the robot's 100 emotion, and the content stored in the history data 222, and inputs the resulting sentence into the sentence generation model to obtain the recommended product. Then, the process returns to step S4, and the processes of steps S4 to S5-2 are repeated until a positive reaction is obtained from the user 10 and the suggested action content is confirmed.
以上のとおり、ロボット100は、ユーザ10の好み、ユーザ10の状況、ユーザ10の反応に合わせて、適切な商品を提案することができる。さらに、提案の内容は、ロボット100自身の感情によっても影響を受けるので、ユーザ10は、感情を有する相手からお勧めの商品を提案されているような感覚を持つことができる。 As described above, the robot 100 can suggest appropriate products based on the preferences, situation, and reactions of the user 10. Furthermore, the content of the suggestions is also influenced by the emotions of the robot 100 itself, so the user 10 can feel as if the recommended products are being suggested by someone with emotions.
上記の例では、飲料の自動販売機を想定しているが、本発明はあらゆる商品の自動販売機に適用可能である。なお、ユーザ毎の購入商品と、ユーザの属性情報(性別、年代等)を紐づけて記録し、提案する商品を決定する際に、同じ属性のユーザがよく購入する商品を提案するようにしてもよい。 The above example assumes a beverage vending machine, but the present invention can be applied to vending machines for any product. It is also possible to record each user's purchased products in association with the user's attribute information (gender, age, etc.), and when deciding which products to suggest, suggest products that are frequently purchased by users with the same attributes.
なお、上記の例では、ロボット100は、自動販売機に実装されているが、人型ロボットやぬいぐるみロボットに実装するようにしてもよい。または、人型ロボットやぬいぐるみロボットに搭載された制御対象機器(スピーカやカメラ)に無線又は有線で接続された制御装置に適用してもよい。 In the above example, the robot 100 is implemented in a vending machine, but it may also be implemented in a humanoid robot or a stuffed toy robot. Alternatively, it may be applied to a control device connected wirelessly or by wire to a controlled device (speaker or camera) mounted on a humanoid robot or a stuffed toy robot.
人型ロボットの場合、人型ロボットが自動販売機の傍らに立ち、ユーザ10と対話して商品の提案を行う。また、ユーザ10が購入ボタンに手が届かない子供の場合には、購入ボタンの操作を人型ロボットが代わりに行うようにしてもよい。また、自動販売機から排出された商品を取り出して、ユーザ10に手渡しするようにしてもよい。ぬいぐるみロボットは、自動販売機の上や横など周囲に配置されるようにしてよい。ぬいぐるみロボットの場合も、ユーザ10と対話して商品の提案を行う。 In the case of a humanoid robot, the humanoid robot stands next to the vending machine and converses with the user 10 to suggest products. If the user 10 is a child who cannot reach the purchase button, the humanoid robot may operate the purchase button on their behalf. The humanoid robot may also take products dispensed from the vending machine and hand them to the user 10. A stuffed animal robot may be placed around the vending machine, such as on top of or beside it. In the case of a stuffed animal robot, the humanoid robot may also converse with the user 10 to suggest products.
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。 The present invention has been described above using embodiments, but the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be clear to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the claims that such modifications and improvements can also be included within 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 processes can be performed in any order unless the output of a previous process is used in a subsequent process. Even if the operational flow in the claims, specifications, and drawings is described using terms such as "first," "next," etc. for convenience, this does not mean that the processes must be performed in that order.
5 システム、10、11、12 ユーザ、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 入出力チップ 5 System, 10, 11, 12 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 Graphics 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
Claims (3)
ユーザの感情を示す感情値を決定するユーザ感情決定部と、
ロボットの感情を示す感情値を決定するロボット感情決定部と、
前記ユーザの感情値及び前記ロボットの感情値の少なくとも一方と、前記ユーザと前記ロボットを対話させる対話機能を有する文章生成モデルによって取得した情報とに基づいて、前記ロボットの行動を決定する行動決定部と、を備え、
前記行動決定部は、
前記ロボットが前記ユーザに提案する商品を決定し、
前記ロボット感情決定部は、
前記ユーザが常連客の場合には、
新商品またはその日の気象条件に合った商品を提案する積極的な感情を設定し、
前記行動決定部は、
前記ユーザが過去に購入した商品に応じて、新商品またはその日の気象条件に合った温度の商品を提案する、行動制御システム。 A robot behavior control system applied to a vending machine,
a user emotion determination unit that determines an emotion value indicating the emotion of the user;
a robot emotion determination unit that determines an emotion value indicating an emotion of the robot;
a behavior determination unit that determines a behavior of the robot based on at least one of the emotion value of the user and the emotion value of the robot, and information acquired by a sentence generation model having a dialogue function that allows the user and the robot to have a dialogue,
The behavior determination unit
The robot determines a product to be recommended to the user ;
The robot emotion determination unit
If the user is a regular customer,
Set positive emotions that suggest new products or products that match the weather conditions of the day.
The behavior determination unit
A behavior control system that suggests new products or products with temperatures that suit the weather conditions of the day, based on products previously purchased by the user .
前記行動決定部は、
認識された前記ユーザの状態、及び前記ユーザ感情決定部によって決定された前記ユーザの感情値に基づいて、前記ユーザの反応がネガティブであると判断した場合には、前記ユーザの感情値及び前記ロボットの感情値の少なくとも一方と、前記文章生成モデルによって取得した情報に基づいて、別の商品を決定する、請求項1に記載の行動制御システム。 a user state recognition unit that recognizes the state of the user to whom the product is proposed,
The behavior determination unit
2. The behavior control system according to claim 1, wherein, when it is determined that the user's reaction is negative based on the recognized state of the user and the emotional value of the user determined by the user emotion determination unit, a different product is determined based on at least one of the emotional value of the user and the emotional value of the robot, and information acquired by the sentence generation model.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023072961 | 2023-04-27 | ||
| JP2023072961 | 2023-04-27 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2024159570A JP2024159570A (en) | 2024-11-08 |
| JP7735466B2 true JP7735466B2 (en) | 2025-09-08 |
Family
ID=93335887
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2024065474A Active JP7735466B2 (en) | 2023-04-27 | 2024-04-15 | Behavior Control System |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7735466B2 (en) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001051970A (en) | 1999-08-04 | 2001-02-23 | Yamaha Motor Co Ltd | User awareness growth system |
| JP2001249945A (en) | 2000-03-07 | 2001-09-14 | Nec Corp | Feeling generation method and feeling generator |
| JP2018194997A (en) | 2017-05-16 | 2018-12-06 | 富士ゼロックス株式会社 | Mobile service providing apparatus and program |
| JP2019515389A (en) | 2016-05-02 | 2019-06-06 | ザ コカ・コーラ カンパニーThe Coca‐Cola Company | Vending machine |
| WO2020129993A1 (en) | 2018-12-17 | 2020-06-25 | Groove X株式会社 | Autonomous robot |
| WO2021262445A1 (en) | 2020-06-22 | 2021-12-30 | Pepsico, Inc. | Interactive vending machine |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06233871A (en) * | 1993-02-05 | 1994-08-23 | Kokoro:Kk | Service robot |
-
2024
- 2024-04-15 JP JP2024065474A patent/JP7735466B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001051970A (en) | 1999-08-04 | 2001-02-23 | Yamaha Motor Co Ltd | User awareness growth system |
| JP2001249945A (en) | 2000-03-07 | 2001-09-14 | Nec Corp | Feeling generation method and feeling generator |
| JP2019515389A (en) | 2016-05-02 | 2019-06-06 | ザ コカ・コーラ カンパニーThe Coca‐Cola Company | Vending machine |
| JP2018194997A (en) | 2017-05-16 | 2018-12-06 | 富士ゼロックス株式会社 | Mobile service providing apparatus and program |
| WO2020129993A1 (en) | 2018-12-17 | 2020-06-25 | Groove X株式会社 | Autonomous robot |
| WO2021262445A1 (en) | 2020-06-22 | 2021-12-30 | Pepsico, Inc. | Interactive vending machine |
Non-Patent Citations (1)
| Title |
|---|
| 深津 貴之,ChatGPTに感情回路を埋め込んだら、やべぇ感じになった,note.com [online], [text],2023年02月19日,[検索日 2025年5月19日], 取得先<https://note.com/fladdict/n/n5043e6e61ce3> |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2024159570A (en) | 2024-11-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2024159687A (en) | Agent System | |
| JP2024154419A (en) | Agent System | |
| JP2024159680A (en) | Agent system, program | |
| JP7735466B2 (en) | Behavior Control System | |
| JP7809156B2 (en) | Behavior Control System | |
| JP7735469B2 (en) | Behavior Control System | |
| JP7760554B2 (en) | Control System | |
| JP7773505B2 (en) | Control System | |
| JP2024156620A (en) | Behavior Control System | |
| JP2024159587A (en) | Behavior Control System | |
| JP2024159679A (en) | Electronics | |
| JP2024159686A (en) | Electronics | |
| JP2024153585A (en) | Behavior Control System | |
| JP2024159691A (en) | Electronics | |
| JP2024153591A (en) | Behavior Control System | |
| JP2024159690A (en) | Electronics | |
| JP2024155791A (en) | Electronics | |
| JP2024159566A (en) | Behavior Control System | |
| JP2024159681A (en) | Agent system, program | |
| JP2024152711A (en) | Behavior Control System | |
| JP2024154395A (en) | Electronics | |
| JP2024159692A (en) | Electronics | |
| JP2024155821A (en) | Electronics | |
| JP2024159688A (en) | Agent System | |
| JP2024153594A (en) | Behavior Control System |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250421 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20250421 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250529 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250703 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250822 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250827 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7735466 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |