Behavior Control System
The behavior control system for robots addresses the challenge of inappropriate responses by integrating emotion determination units and a sentence generation model to enhance interaction effectiveness.
Patent Information
- Application Number
- JP2024065474
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-04-27
- Filing Date
- 2024-04-15
- Publication Date
- 2025-09-08
- Estimated Expiration
- 2044-04-15
AI Technical Summary
Conventional robot behavior systems struggle to appropriately respond to user actions and emotions, lacking effective interaction mechanisms.
A behavior control system for robots that includes a user emotion determination unit, a robot emotion determination unit, and a behavior determination unit, utilizing a sentence generation model for interaction, to determine and adjust robot behavior based on user and robot emotions, enabling appropriate responses.
Enables robots to perform appropriate actions based on user situations, enhancing interaction effectiveness.
Smart Images

Figure 0007735466000001 
Figure 0007735466000002 
Figure 0007735466000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a behavior control system. [Background technology]
[0002] Patent Document 1 discloses a technology for determining an appropriate robot behavior for a user's state. The conventional technology in Patent Document 1 recognizes the user's reaction when the robot performs a specific behavior, and if the robot is unable to determine an action for the recognized user's reaction, it updates the robot's behavior by receiving information about an action appropriate for the recognized user's state from a server. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6053847 Summary of the Invention [Problem to be solved by the invention]
[0004] However, the conventional technology has room for improvement in terms of making the robot perform appropriate actions in response to the user's actions. [Means for solving the problem]
[0005] The behavior control system of the present invention is a behavior control system for a robot applied to a vending machine, and comprises: a user emotion determination unit that determines an emotion value that indicates the emotion of a user; a robot emotion determination unit that determines an emotion value that indicates the emotion of a robot; and a behavior determination unit that determines the behavior of the robot based on at least one of the user emotion value and the robot emotion value and information acquired by a sentence generation model having an interaction function that allows the user and the robot to interact, and the behavior determination unit determines products that the robot will suggest to the user. [Effects of the Invention]
[0006] According to the present invention, it is possible to make a robot perform an appropriate action depending on the user's situation. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a diagram illustrating an example of a system 5 according to an embodiment of the present invention. [Figure 2] FIG. 2 is a diagram illustrating a schematic functional configuration of the robot 100. [Figure 3] FIG. 2 is a diagram schematically illustrating an example of an operation flow by the robot 100. [Figure 4] FIG. 1 is a diagram schematically illustrating an example of the hardware configuration of a computer 1200. [Figure 5] FIG. 3 shows an emotion map 300 onto which multiple emotions are mapped. [Figure 6] FIG. 9 shows an emotion map 900 onto which multiple emotions are mapped. [Figure 7] FIG. 2 is a diagram illustrating an emotion table of the robot 100. [Figure 8] FIG. 2 is a diagram illustrating an emotion table of a user 10. [Figure 9] FIG. 10 is a flowchart illustrating an example of the operation of the robot 100 when applied to a vending machine. DETAILED DESCRIPTION OF THE INVENTION
[0008] The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention according to the claims. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.
[0009] A. This 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.
[0010] The robot 100 converses with the user 10 and provides the user 10 with video. 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 the video, etc. to the user 10. For example, the robot 100 not only learns appropriate conversation by itself, but also cooperates with the server 300 to learn how to have a more appropriate conversation with the user 10. The robot 100 also records captured video data of the user 10 in the server 300, requests video data, etc. from the server 300 as needed, and provides the video data, etc. to the user 10. In FIG. 1, the robot 100 is assumed to be a mobile robot capable of autonomous movement, but the robot 100 can also be applied to any terminal (e.g., an in-vehicle terminal, a mobile terminal, etc.) equipped with an AI emotion engine, a sentence generation model, etc., described below.
[0011] 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 types of its own emotions. For example, the robot 100 has emotion values that represent the intensity of each of the following emotions: "joy," "anger," "sorrow," "pleasure," "discomfort," "relief," "anxiety," "sadness," "excitement," "worry," "relief," "fulfillment," "emptiness," and "neutral." For example, when the robot 100 is in a state where the emotion value of excitement is high, it speaks at a fast speed when conversing with the user 10. In this way, the robot 100 can express its own emotions through its actions.
[0012] Furthermore, the robot 100 may be configured to match a sentence generation model (chat engine) with an AI emotion engine (emotion engine) to determine the behavior of the robot 100 corresponding to the emotion of the user 10. Specifically, the robot 100 may be configured to recognize the behavior of the user 10, determine the emotion of the user 10 regarding the user's behavior, and determine the behavior of the robot 100 corresponding to the determined emotion.
[0013] More specifically, when the robot 100 recognizes the behavior of the user 10, it uses a pre-set chat engine to automatically generate the behavior that the robot 100 should take in response to the behavior of the user 10. The chat engine may be interpreted as an algorithm and calculation for automatic dialogue processing using text. The chat engine is described, for example, in JP 2018-081444 A and chatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), and therefore detailed description thereof will be omitted. Such a chat engine is configured using a large language model (LLM). As described above, in this embodiment, by combining a large language model and an emotion engine, it is possible to reflect the emotions of the user 10 and the robot 100, as well as various linguistic information, in the behavior of the robot 100. In other words, according to this embodiment, a synergistic effect can be obtained by combining a chat engine and an emotion engine.
[0014] The robot 100 also has a function of recognizing the behavior of the user 10. The robot 100 recognizes the behavior of the user 10 by analyzing a facial image of the user 10 acquired by a camera function and a voice of the user 10 acquired by a microphone function. The robot 100 determines the behavior to be performed by the robot 100 based on the recognized behavior of the user 10, etc.
[0015] 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.
[0016] Specifically, the robot 100 has reaction rules for determining the behavior of the robot 100 based on the emotions of the user 10, the emotions of the robot 100, and the behavior of the user 10. For example, the reaction rules define the behavior of the robot 100 as "laughing" when the behavior of the user 10 is "laughing." Furthermore, the reaction rules define the behavior of the robot 100 as "apologizing" when the behavior of the user 10 is "angry." Furthermore, the reaction rules define the behavior of the robot 100 as "answering" when the behavior of the user 10 is "asking a question." Furthermore, the reaction rules define the behavior of the robot 100 as "calling out" when the behavior of the user 10 is "sad."
[0017] When the robot 100 recognizes that the behavior of the user 10 is "angry" based on the reaction rules, the robot 100 selects the behavior of "apologizing" defined in the reaction rules as the behavior to be performed by the robot 100. For example, when the robot 100 selects the behavior of "apologizing," the robot 100 performs the motion of "apologizing" and outputs a voice representing the word "apologize."
[0018] In addition, it is defined that when the emotion of the robot 100 is "normal" (i.e., "joy" = 0, "anger" = 0, "sadness" = 0, "happiness" = 0) and the condition that the state of the user 10 is "alone and looks lonely" is met, the emotion of the robot 100 changes to "worried" and the action of "calling out" can be performed.
[0019] When the robot 100 recognizes based on the reaction rule that the current emotion of the robot 100 is "normal" and that the user 10 appears lonely, the robot 100 increases the emotion value of "sad" of the robot 100. Furthermore, the robot 100 selects the action of "calling out" defined in the reaction rule as the action to be performed toward the user 10. For example, when the robot 100 selects the action of "calling out," the robot 100 converts the phrase "What's wrong?", which indicates concern, into a worried voice and outputs it.
[0020] The robot 100 also transmits to the server 300 user reaction information indicating that this behavior has elicited a positive reaction from the user 10. The user reaction information includes, for example, the user's behavior of "getting angry," the robot's 100 behavior of "apologizing," the fact that the user's 10 reaction was positive, and the attributes of the user 10.
[0021] The server 300 stores the user reaction information received from the robot 100. The server 300 receives and stores user reaction information not only from the robot 100 but also from each of the robots 101 and 102. The server 300 then analyzes the user reaction information from the robots 100, 101, and 102 and updates the reaction rules.
[0022] The robot 100 receives the updated reaction rules from the server 300 by inquiring about the updated reaction rules from the server 300. The robot 100 incorporates the updated reaction rules into the reaction rules stored in the robot 100. This allows the robot 100 to incorporate the reaction rules acquired by the robot 101, the robot 102, etc. into its own reaction rules.
[0023] 2 shows a schematic functional configuration of the robot 100. The robot 100 has a sensor unit 200, a sensor module unit 210, a storage unit 220, a user state recognition unit 230, 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.
[0024] The control target 252 includes a display device, a speaker, LEDs in the eyes, and motors for driving the arms, hands, and feet, etc., mounted on the robot 100. The posture and gestures of the robot 100 are controlled by controlling the motors of the arms, hands, and feet, etc. Some of the emotions of the robot 100 can be expressed by controlling these motors. In addition, the facial expressions of the robot 100 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 100. The posture, gestures, and facial expressions of the robot 100 are examples of the attitude of the robot 100.
[0025] 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 continuously emits an infrared pattern and detects the contour of an object by 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.
[0026] 2, the components of the robot 100 excluding the control target 252 and the sensor unit 200 are examples of components included in the behavior control system of the robot 100. The behavior control system of the robot 100 controls the control target 252.
[0027] 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 images, attribute information of the user 10, and the like. Note that the functions of the components of the robot 100 shown in FIG. 2 , excluding the control target 252, the sensor unit 200, and the storage unit 220, can be realized by a 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.
[0028] The sensor module unit 210 includes a voice emotion recognition unit 211, a speech understanding unit 212, a facial expression recognition unit 213, and a face recognition unit 214. Information detected by the sensor unit 200 is input to the sensor module unit 210. The sensor module unit 210 analyzes the information detected by the sensor unit 200 and outputs the analysis result to the user state recognition unit 230.
[0029] 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 emotion of the user 10. For example, the voice emotion recognition unit 211 extracts feature quantities such as frequency components of the voice and recognizes the voice and emotion of the user 10 based on the extracted feature quantities. 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 utterance of the user 10.
[0030] The facial expression recognition unit 213 recognizes the facial expression and emotion 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 emotion of the user 10 based on the shapes, positional relationships, etc. of the eyes and mouth.
[0031] The face recognition unit 214 recognizes the face of the user 10. The face recognition unit 214 recognizes the user 10 by matching a face image stored in a person DB (not shown) with a face image of the user 10 captured by the 2D camera 203.
[0032] The user state recognition unit 230 recognizes the state of the user 10 based on the information analyzed by the sensor module unit 210. For example, it mainly performs processing related to perception using the analysis results of the sensor module unit 210. For example, it generates perceptual information such as "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."
[0033] 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.
[0034] Here, the emotion value indicating the emotion of user 10 is a value indicating the positive or negative emotion of the user. For example, if the user's emotion is a cheerful emotion accompanied by a sense of pleasure or comfort, such as "joy," "pleasure," "comfort," "relief," "excitement," "relief," and "fulfillment," the value is positive, and the cheerfulr 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 is negative, and the more unpleasant the emotion, the larger the absolute value of the negative value. If the user's emotion is none of the above ("neutral"), the value is 0.
[0035] 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 a parameter corresponding to the amount of dopamine released. Dopamine is an example of an endocrine substance. An endocrine substance refers to a substance secreted in the body that transmits signals, such as a neurotransmitter or hormone. However, the endocrine substance of the robot 100 itself is one piece of information that affects the behavior of the robot 100, and does not mean that the robot 100 actually generates the endocrine substance. Note that the use of endocrine secretions to determine a robot's own emotions is publicly known, as disclosed in, for example, JP 2018-81583 A, and therefore detailed explanation will be omitted.
[0036] 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 a plurality of emotion classifications, and in this embodiment, values (0 to 5) that indicate the strength of each of "joy," "anger," "sorrow," and "happiness" are assumed.
[0037] To explain this using a specific example, for example, if the user state recognition unit 230 recognizes that the user 10 looks lonely, the endocrine control unit 232a performs control to increase the parameter corresponding to the emotion value of "sadness" of the robot 100, and as a result, the robot emotion determination unit 232 increases the emotion value of "sadness" of the robot 100. Also, if the user state recognition unit 230 recognizes that the user 10 is smiling, the endocrine control unit 232a performs control to increase the parameter corresponding to the emotion value of "joy" of the robot 100, and as a result, the robot emotion determination unit 232 increases the emotion value of "joy" of the robot 100.
[0038] 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 remaining battery power of the robot 100 is low or when the surrounding environment of the robot 100 is pitch black, 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 the remaining battery power being low, 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.
[0039] 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 a plurality of predetermined behavior classifications (for example, "laughing," "angry," "asking a question," and "sad") is obtained, and the behavior classification with the highest probability is recognized as the behavior of the user 10.
[0040] As described above, in this embodiment, the robot 100 identifies the user 10 and then acquires the content of the user's utterance. When acquiring and using the content of the utterance, the robot 100 obtains the necessary consent in accordance with laws and regulations from the user 10, and the behavior control system of the robot 100 according to this embodiment takes into consideration the protection of the personal information and privacy of the user 10.
[0041] 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, a case is described in which the behavior determination unit 236 uses one most recent emotion value included in the history data 222 as the past emotion value of the user 10, but the disclosed technology is not limited to this aspect. For example, the behavior determination unit 236 may use multiple most recent emotion values as the past emotion value of the user 10, or may use an emotion value from a unit period ago, such as one day ago. Furthermore, the behavior determination unit 236 may determine a behavior corresponding to the behavior of the user 10 by further considering not only the current emotion value of the robot 100 but also the history of the past emotion values of the robot 100. The behavior determined by the behavior determining unit 236 includes gestures made by the robot 100 or speech content of the robot 100 .
[0042] 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 past and current emotional values of the user 10, the emotional value of the robot 100, the behavior of the user 10, and the reaction rules 221. For example, if the past emotional value of the user 10 is a positive value and the current emotional value is a negative value, the behavior determination unit 236 determines, as a behavior corresponding to the behavior of the user 10, a behavior that will change the emotional value of the user 10 to a positive value.
[0043] The reaction rule 221 defines the behavior of the robot 100 according to a combination of the past emotional value and the current emotional value of the user 10, the emotional value of the robot 100, and the behavior of the user 10. For example, if the past emotional value of the user 10 is a positive value and the current emotional value is a negative value, and the behavior of the user 10 is sad, a combination of gestures and speech content when asking a question to encourage the user 10 with gestures is defined as the behavior of the robot 100.
[0044] For example, the reaction rules 221 define 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 "joy," "anger," "sadness," and "happiness" from "0" to "5"), 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 according to 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 the behavior determination unit 236 may transition to an operation mode in which the behavior of the robot 100 is determined using the history data 222 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 reaction rules 221 may prescribe at least one of a gesture and a statement as the behavior of the robot 100 for each of the patterns (1296 patterns) of the emotional value of the robot 100. Alternatively, the reaction rules 221 may prescribe at least one of a gesture and a statement as the behavior of the robot 100 for each group of patterns of the emotional value of the robot 100.
[0045] 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.
[0046] 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 gesture included in the behavior determined by the behavior determination unit 236, and the predetermined intensity for the speech content included in the behavior determined by the behavior determination unit 236, is equal to or greater than a threshold value, it is determined that data including the behavior of the user 10 is to be stored in the history data 222.
[0047] When the memory control unit 238 decides to store data including the behavior of the user 10 in the history data 222, it stores in the history data 222 the behavior determined by the behavior determination unit 236, information analyzed by the sensor module unit 210 from the present time up to a certain period of time ago (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 facial expression, emotions, etc. of the user 10).
[0048] 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 a sound from a speaker included in the control target 252. At this time, the behavior control unit 250 may determine the speaking rate of the sound based on the emotional value of the robot 100. For example, the behavior control unit 250 determines a faster speaking rate as the emotional value of the robot 100 increases. In this way, the behavior control unit 250 determines the execution form of the behavior determined by the behavior determination unit 236 based on the emotional value determined by the robot emotion determination unit 232.
[0049] The behavior control unit 250 may recognize a change in the user 10's emotion in response to the execution of the behavior determined by the behavior determination unit 236. For example, the change in emotion may be recognized based on the voice or facial expression of the user 10. Alternatively, the change in emotion of the user 10 may be recognized based on the detection of an impact by a touch sensor included in the sensor unit 200. If an impact is detected by the touch sensor included in the sensor unit 200, the behavior control unit 250 may recognize that the user 10's emotion has worsened, or if the detection result of the touch sensor included in the sensor unit 200 indicates that the user 10 is smiling, happy, or the like, the behavior control unit 250 may recognize that the user 10's emotion has improved. Information indicating the user 10's reaction is output to the communication processing unit 280.
[0050] Furthermore, after the behavior control unit 250 executes the behavior determined by the behavior determination unit 236 in the execution mode determined according to the emotion of the robot 100, the behavior control unit 250 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.
[0051] Furthermore, the behavior control unit 250 expresses the emotion of the robot 100 based on the determined emotion value of the robot 100. For example, when the 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. When 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.
[0052] 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 the updated reaction rules from the server 300, it updates the reaction rules 221.
[0053] The server 300 communicates between the robot 100, the robot 101, and the robot 102 and the server 300, receives user reaction information transmitted from the robot 100, and updates the reaction rules based on reaction rules including actions that have received positive reactions. Note that 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. Also, at least some of the functions of the server 300 may be implemented in the cloud.
[0054] Fig. 3 shows an example of an operation flow relating to an operation for determining an action in the robot 100. The operation flow shown in Fig. 3 is repeatedly executed. At this time, it is assumed that information analyzed by the sensor module unit 210 is input. Note that "S" in the operation flow indicates the step that is executed.
[0055] 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 .
[0056] 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.
[0057] 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.
[0058] 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 .
[0059] In step S106, the behavior determination unit 236 determines the behavior of the robot 100 based on a combination of the current emotional value of the user 10 determined in step S102 and the past emotional values included in the history data 222, the emotional value of the robot 100, the behavior of the user 10 recognized by the behavior recognition unit 234, and the reaction rules 221.
[0060] In step S108, the behavior control unit 250 controls the control target 252 based on the behavior determined by the behavior determination unit 236.
[0061] In step S110, the memory control unit 238 calculates a total intensity value based on the predetermined behavior intensities 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.
[0062] In step S112, the storage control unit 238 determines whether the total intensity value is equal to or greater than a threshold. If the total intensity value is less than the threshold, the process ends without storing data including the behavior of the user 10 in the history data 222. On the other hand, if the total intensity value is equal to or greater than the threshold, the process proceeds to step S114.
[0063] 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.
[0064] As described above, the robot 100 determines an emotion value indicating the emotion of the robot 100 based on the state of the user, 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 makes it possible to reduce the capacity of the history data 222 that stores data including the behavior of the user 10. For example, when the robot 100 determines that the state of the user 10 years from now will be the same as that of 10 years ago, the robot 100 can present to the user 10 all kinds of peripheral information, such as the state of the user 10 from 10 years ago (for example, the facial expression, emotions, etc. of the user 10), as well as data on the sounds, images, smells, etc. of the situation.
[0065] Furthermore, the robot 100 can be made to perform an appropriate action in response to the action of the user 10. Conventionally, the user's actions are classified and an action, including the robot's facial expression and appearance, is determined. In contrast, the robot 100 determines the current emotional value of the user 10 and performs an action on the user 10 based on the past emotional value and the current emotional value. Therefore, for example, if the user 10 was cheerful yesterday but is depressed today, the robot 100 can utter an utterance such as, "You were cheerful yesterday, but what's wrong 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 who was cheerful yesterday 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, the robot 100 can say to the user 10 whose emotional value is equal to or greater than 0 and whose emotional value fluctuation range continues to be within a certain range, "Your mood has been stable recently, which is good."
[0066] Furthermore, for example, the robot 100 may ask the user 10, "Did you finish the homework you told me about yesterday?", and if the user 10 replies, "Yes, I did," the robot 100 may utter a positive utterance such as "Great!" and perform a positive gesture such as clapping or a thumbs-up. Furthermore, for example, if the user 10 utters, "The presentation you gave the day before yesterday went well," the robot 100 may utter a positive utterance such as "Good job!" and perform the above-mentioned positive gesture. In this way, the robot 100 may be expected to make the user 10 feel a sense of affinity with the robot 100 by performing an action based on the state history of the user 10.
[0067] 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 email address of the user 10, the SNS ID of the user 10, or an ID card with a built-in wireless IC tag that the user 10 possesses.
[0068] The robot 100 is an example of an electronic device equipped with a behavior control system. The application of the behavior control system is not limited to the robot 100, and the behavior control system can be applied to various electronic devices. 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.
[0069] 4 schematically shows an example of the hardware configuration of a computer 1200 that functions 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 can cause the computer 1200 to perform operations associated with the apparatus according to the present embodiment or one or more "parts" thereof, and / or can cause the computer 1200 to perform a process according to the present embodiment or steps of the process. Such a program can 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.
[0070] The computer 1200 according to this embodiment includes a CPU 1212, a RAM 1214, and a 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.
[0071] The CPU 1212 operates according to programs stored in the ROM 1230 and the RAM 1214, thereby controlling each unit. The graphics controller 1216 acquires image data generated by the CPU 1212 into a frame buffer or the like provided in the RAM 1214 or into the graphics controller itself, and causes the image data to be displayed on the display device 1218.
[0072] 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.
[0073] The ROM 1230 stores therein a boot program or the like that is executed by the computer 1200 upon activation, and / or programs that depend on the hardware of the computer 1200. The input / output chip 1240 may also connect various input / output units to the input / output controller 1220 via a USB port, a parallel port, a serial port, a keyboard port, a mouse port, etc.
[0074] The programs are provided by a computer-readable storage medium such as a DVD-ROM 1227 or an IC card. The programs are read from the computer-readable storage medium, installed in the storage device 1224, RAM 1214, or ROM 1230, which are also examples of computer-readable storage media, and executed by the CPU 1212. Information processing described in these programs is read by the computer 1200, and causes cooperation between the programs and the various types of hardware resources described above. An apparatus or method may be configured by implementing operations or processing of information in accordance with the use of the computer 1200.
[0075] For example, when communication is performed between the computer 1200 and an external device, the CPU 1212 may execute a communication program loaded into the RAM 1214 and instruct the communication interface 1222 to perform communication processing based on the processing described in the communication program. Under the control of the CPU 1212, the communication interface 1222 reads transmission data stored in a transmission buffer area provided in the RAM 1214, the storage device 1224, the DVD-ROM 1227, or a recording medium such as an IC card, and transmits the read transmission data to the network, or writes reception data received from the network to a reception buffer area or the like provided on the recording medium.
[0076] Furthermore, the CPU 1212 may cause all or a necessary portion of a file or database stored in an external recording medium such as the storage device 1224, the DVD drive 1226 (DVD-ROM 1227), an IC card, etc. to be read into the RAM 1214, and may perform various types of processing on the data on the RAM 1214. The CPU 1212 may then write back the processed data to the external recording medium.
[0077] 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. The CPU 1212 may perform various types of processing on data read from the RAM 1214, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc., as described throughout this disclosure and specified by the instruction sequences of the programs, and write the results back to the RAM 1214. The CPU 1212 may also search for information in a file, database, 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, the CPU 1212 may search for an entry whose attribute value of the first attribute matches a specified condition from among the multiple entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.
[0078] The above-described programs or software modules may be stored in a computer-readable storage medium on or near the computer 1200. A recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can also be used as a computer-readable storage medium, thereby providing the programs to the computer 1200 via the network.
[0079] The blocks in the flowcharts and block diagrams in the present embodiments may represent stages of a process in which an operation is performed or "parts" of an apparatus responsible for performing the operation. Particular stages and "parts" may be implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable storage medium, and / or a processor provided with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuitry may include digital and / or analog hardware circuits, including integrated circuits (ICs) and / or discrete circuits. The programmable circuitry may include reconfigurable hardware circuits, such as field programmable gate arrays (FPGAs) and programmable logic arrays (PLAs), including AND, OR, XOR, NAND, NOR, and other logical operations, flip-flops, registers, and memory elements.
[0080] A computer-readable storage medium may include any tangible device capable of storing instructions that are executed by an appropriate 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 flowcharts or block diagrams. 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.
[0081] 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.
[0082] 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 programmable circuitry, such that the processor or programmable circuitry 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.
[0083] (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 an 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.
[0084] FIG. 5 is a diagram illustrating an emotion map 300 on which multiple emotions are mapped. In the emotion map 300, emotions are arranged in concentric circles radiating from the center. 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 encompasses both emotions and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 300, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[0085] (1) For example, if the emotion engine detects emotions every 100 msec, the frequency of the reaction action (e.g., a backchannel) of the robot 100 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 a sampling rate.
[0086] By detecting emotions in about 100 msec and immediately performing a corresponding reaction (e.g., a back-channel response), unnatural back-channel responses are avoided, enabling a natural dialogue that reads the atmosphere. The reaction (e.g., a back-channel response) is performed according to the direction and degree (strength) of the mandala in the emotion map 300 of the robot 100. Note that 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.
[0087] (2) The directionality and intensity of emotions may be set in advance in reference to the emotion map 300, and the movement of the back-channel and the strength of the back-channel 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.
[0088] These emotions are distributed in the 3 o'clock direction on emotion map 300, and typically fluctuate between relief and anxiety. In the right half of emotion map 300, situational awareness dominates over internal sensations, resulting in a sense of calm.
[0089] (3) If the robot 100 receives a compliment and feels good, the filler "ah" may precede the line, and if the robot 100 receives harsh words and feels pain, the filler "ugh!" may precede the line. A physical reaction, such as the robot 100 crouching down while saying "ugh!", may also be included. These emotions are distributed around the 9 o'clock position on the emotion map 300.
[0090] (4) In the left half of the emotion map 300, internal sensations (reactions) are more important than situational awareness. This can give the impression of an unconscious reaction.
[0091] When the robot 100 feels a positive feeling in its situational awareness while experiencing an internal sensation (reaction) of understanding, the robot 100 may nod deeply while looking at the other person, or may say "uh-huh." In this way, the robot 100 may generate a behavior that shows a balanced positive feeling toward the other person, that is, tolerance and tolerance toward the other person. Such emotions are distributed around 12 o'clock on the emotion map 300.
[0092] Conversely, even when the robot 100 is aware of an internal sensation (reaction) of discomfort, the robot 100 may shake its head when it feels disgust, or may turn the LEDs in its eyes red and glare at the other person when it feels hatred. These emotions are distributed around the 6 o'clock position on the emotion map 300.
[0093] (5) The inside of the emotion map 300 represents the mind, and the outside of the emotion map 300 represents behavior, so the further outside the emotion map 300 you go, the more visible the emotions become (the more they are expressed in behavior).
[0094] (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." However, when listening to someone while feeling a sense of love, which is distributed around 12 o'clock, the robot 100 may nod its head strongly.
[0095] 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 to determine 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 FIG. 6. FIG. 6 shows an example in which multiple emotions, such as "relieved," "calm," and "reassuring," have similar emotion values.
[0096] On the other hand, 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 a plurality of training 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 training data indicating that when it is recognized from the output of a touch sensor (not shown) that the robot 100 is being stroked by the user 10, the emotional value of "happy" is "3," and based on training data indicating that when it is recognized from the output of an acceleration sensor (not shown) that the robot 100 is being hit by the user 10, the emotional 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 in the emotion map 900 shown in FIG.
[0097] The behavior determination unit 236 generates the robot's behavior content by adding fixed sentences to ask about the robot's behavior content corresponding to the user's behavior to text representing the user's behavior, the user's emotions, and the robot's emotions, and inputting the text into the dialogue function.
[0098] For example, the behavior determination unit 236 obtains text representing the state of the robot 100 from the emotion of the robot 100 determined by the robot emotion determination unit 232, using an emotion table such as that shown in Fig. 7. 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.
[0099] When the emotion of the robot 100 determined by the robot emotion determination unit 232 corresponds to the index number "2", the text "very happy state" is obtained. When the emotions of the robot 100 correspond to multiple index numbers, multiple texts representing the state of the robot 100 are obtained.
[0100] An emotion table such as that shown in FIG. 8 is also prepared for the emotions of the user 10. Here, if the user's behavior is "speaking good mood," the emotion of the robot 100 is index number "2," and the emotion of the user 10 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 content of the robot's behavior is acquired. The behavior determination unit 236 determines the robot's behavior from this content of the behavior.
[0101] In this way, the robot 100 can change its behavior according to the index number corresponding to the robot's emotion, so that the user gets the impression that the robot has a heart, and is encouraged to take actions such as talking to the robot.
[0102] Furthermore, the behavior determination unit 236 may generate the robot's behavior content by adding not only text representing the user's behavior, the user's emotions, and the robot's emotions, but also text representing the contents of the history data 222, adding a fixed sentence for asking about the robot's behavior content corresponding to the user's behavior, and inputting the result into a sentence generation model with a dialogue function. This allows the robot 100 to change its behavior according to the history data representing the user's emotions and behavior, so that the user has the impression that the robot has individuality and is encouraged to take actions such as talking to the robot. Furthermore, the history data may further include the robot's emotions and behavior.
[0103] (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 circumstances. 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.
[0104] Next, the operation of the robot 100 will be described with reference to the flowchart in Fig. 9. The robot 100 suggests recommended products while conversing with the user 10 according to the user's preferences, situation, and reactions, through the following steps S1 to S5-1 and S5-2. Here, the description will be made assuming a vending machine for beverages (products).
[0105] (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 processing as in steps S100 to S103 above is 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.
[0106] (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 (such as "What would you like to drink today?" and "Would you like it hot or iced?"), 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 content of the user's answers to the questions, but also from the user's facial expressions acquired from 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 (for example, the user's answers).
[0107] (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 100's emotions, and the content stored in the history data 222, and inputs the resulting text 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 100's emotions, it is possible to make the user 10 realize that the robot 100 has emotions.
[0108] The emotion value of the robot 100 can be determined based on an emotion map such as the one shown in FIG. 5. The emotion of the robot may vary depending on the surrounding circumstances, the time of day, and the state and emotion of the user. Specifically, if the user 10 is a regular customer, the robot may be configured to behave in a positive manner and proactively suggest 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 robot 100 may be determined by comparing this information. The more frequently the user 10 uses the vending machine, the more positive the robot 100 may become, and the robot 100 may speak to the user 10 in a friendly tone, or may make a positive utterance such as "Thank you for your patronage!" when the user 10 stops in front of the vending machine.
[0109] 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).
[0110] Furthermore, if it is determined from the facial expression or tone of voice of the user 10 that the emotion of the user 10 is positive, the robot 100 may also be made to be positive, and if it is determined that the emotion of the user 10 is negative, the robot 100 may also be made to be negative, so as to synchronize with the emotion of the user.
[0111] Also, if multiple items in the vending machine are sold out or many items are being heated or cooled, the emotion of the robot 100 may be made negative.
[0112] Furthermore, the robot 100 may acquire history data 222 and, if the user 10 is a regular customer, may suggest products that the user 10 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.
[0113] The robot 100 determines a product to recommend to the user 10 based on information obtained through a dialogue with the user 10, the emotions of the user 10, the emotions of the robot 100, past history, and the like. Specifically, the behavior determination unit 236 adds a fixed sentence, such as "What behavior would you recommend the user to do at this time?" to text representing the user'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 the resulting text into a sentence generation model to obtain a recommended behavior. As a result, recommended behaviors such as "I recommend the new product XX" or "I recommend your usual △△" are obtained. In this way, by taking into consideration not only the information obtained through a dialogue with the user but also the user's emotions and the history data 222, it is possible to suggest behaviors suitable for the user.
[0114] Furthermore, by making the proposal content taking into consideration the emotions of the robot 100, the user 10 can feel that the robot 100 has emotions. For example, by proposing a cold carbonated drink to the user 10 who always buys hot coffee, the user 10 can feel 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 10 can feel that the robot 100 has the emotion, "Since you always come, I want to recommend a new product."
[0115] (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 target 252 (speaker) to make a suggestion to the user, such as "How about our new product, XX Coffee?". The robot 100 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." The robot 100 may also 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 10 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.
[0116] The user state recognition unit 230 recognizes the state of the user 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 state recognized by the user state recognition unit 230. The behavior determination unit 236 determines whether the reaction of the user 10 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 emotion of the user 10, and determines whether to suggest a different behavior to the user 10 as the behavior of the robot 100.
[0117] (Step S5-1) If the user 10 responds positively to the suggestion, the robot 100 confirms the content of the action. 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. When it is determined that the content of the action of the robot 100 is to be confirmed, the behavior control unit 250 may control the purchase button of the target product to blink, thereby supporting the purchase operation of the user 10.
[0118] (Step S5-2) If the user 10's reaction is negative (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 (the content of the user 10's reply, facial expression, tone of voice, etc.) 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 10's beverage preferences, the user 10's emotion, the robot 100's 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.
[0119] As described above, the robot 100 can suggest appropriate products in accordance with the preferences, situation, and reaction of the user 10. Furthermore, the content of the suggestion is also influenced by the emotions of the robot 100 itself, so the user 10 can have the feeling that the recommended products are being suggested to him by someone with emotions.
[0120] In the above example, a beverage vending machine is assumed, but the present invention can be applied to vending machines for all kinds of products. Note that the purchased products for each user may be linked to the user's attribute information (gender, age, etc.) and recorded, and when determining which products to suggest, products that are frequently purchased by users with the same attributes may be suggested.
[0121] 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 control target device (speaker or camera) mounted on a humanoid robot or a stuffed toy robot.
[0122] 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 instead. The humanoid robot may also take out products dispensed from the vending machine and hand them to the user 10. The stuffed toy robot may be placed around the vending machine, such as on top of or beside it. The stuffed toy robot also converses with the user 10 to suggest products.
[0123] Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent 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.
[0124] It should be noted that the execution order 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," "prior to," etc., and that the processes can be performed in any order unless the output of a previous process is used in a later process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, this does not mean that the processes must be performed in this order. [Explanation of symbols]
[0125] 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 Action recognition unit, 236 Action determination unit, 238 Memory control unit, 250 Action 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 Input / output controller, 1222 communication interface, 1224 storage device, 1226 DVD drive, 1227 DVD-ROM, 1230 ROM, 1240 input / output chip
Claims
1. 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.
2. 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.
3. 3. The behavior control system according to claim 1, wherein the robot is mounted on a stuffed toy or is connected wirelessly or by wire to a control target device mounted on the stuffed toy.
Citation Information
Patent Citations
Determination of analite in medium containing particle
JP1985053847A
Service robot
JP1994233871A
User recognizability growth system
JP2001051970A
Feeling generation method and feeling generator
JP2001249945A
Mobile service providing apparatus and program
JP2018194997A