Patent Publication Number: US-2021170585-A1

Title: Robot reacting on basis of user behavior and control method therefor

Description:
TECHNICAL FIELD 
     The disclosure relates to a robot reacting on the basis of a user behavior and a control method therefore, and more particularly, to a robot capable of analyzing a user behavior and outputting an appropriate reaction to the user behavior, and a control method therefor. 
     The disclosure also relates to an artificial intelligence (AI) system that mimics functions of a human brain, such as cognition, judgment, and the like, using a machine learning algorithm and an application thereof. 
     BACKGROUND ART 
     An artificial intelligence (AI) system is a computer system that implements human-level intelligence, and a system that a machine itself learns, judges, and becomes smart, unlike an existing rule-based smart system. As the artificial intelligence system is more used, a recognition rate is improved and a user&#39;s taste may be more accurately understood. Therefore, the existing rule-based smart system has been gradually replaced by a deep learning-based artificial intelligence system. 
     Artificial intelligence technology includes machine learning and elemental technologies that utilize the machine learning. 
     The machine learning is an algorithm technology of classifying and learning features of input data by oneself, and the element technology is a technology of using an algorithm related to machine learning such as deep learning and includes technical fields such as linguistic understanding, visual understanding, inference/prediction, knowledge representation, a motion control, and the like. 
     Various fields to which the artificial intelligence technology is applied are as follows. The linguistic understanding is a technology of recognizing and applying/processing human languages/characters, and includes natural language processing, machine translation, a dialog system, question and answer, speech recognition/synthesis, and the like. The visual understanding is a technology of recognizing and processing things like human vision, and includes object recognition, object tracking, image search, human recognition, scene understanding, space understanding, image improvement, and the like. The inference/prediction is a technology of determining and logically inferring and predicting information, and includes knowledge/probability-based inference, optimization prediction, preference-based planning, recommendation, and the like. The knowledge representation is a technology of automating and processing human experience information as knowledge data, and includes knowledge establishment (data generation/classification), knowledge management (data utilization), and the like. The motion control is a technology of controlling autonomous driving of a vehicle, a motion of a robot, and the like, and includes a motion control (navigation, collision, driving), an operation control (behavior control), and the like. 
     On the other hand, recently, robots that provide various reactions according to user behaviors have been released. However, the conventionally released robots are characterized by repeatedly performing only a predetermined operation under predetermined conditions. Therefore, users who purchase the conventional robots may quickly get tired of the reactions of the robots. 
     DISCLOSURE 
     Technical Problem 
     The disclosure is to provide a robotic device and method that analyze a user behavior and provide appropriate output for the user behavior. 
     Technical Solution 
     According to an embodiment of the disclosure, a control method for a robot using an artificial intelligence model includes: acquiring data related to at least one user; learning the artificial intelligence model to acquire a user state for each of the at least one user by inputting user data related to the at least one user to the artificial intelligence model as learning data; determining a representative reaction corresponding to the user state on the basis of the user data; and determining a user state of a first user by inputting input data to the artificial intelligence model based on user data related to the first user of the at least one user acquired as the input data, and controlling the robot on the basis of a representative reaction corresponding to the determined user state. 
     The control method may further include determining, by the robot, a second user to determine the user state among a plurality of users based on a plurality of user data for the plurality of users acquired as the input data, wherein the controlling of the robot further includes determining the user state of the second user by inputting the input data to the artificial intelligence model based on user data related to the second user acquired as the input data, and controlling the robot on the basis of a representative reaction corresponding to the determined user state. 
     The learning of the user state may include: clustering a plurality of learning data into a plurality of clusters by inputting the plurality of learning data into the artificial intelligence model; and labeling user state corresponding to the plurality of clusters. 
     The determining of the representative reaction may include: acquiring a variance value of learning data included in a cluster generated by the clustering; and determining a representative reaction of the cluster by analyzing the acquired variance value. 
     The representative reaction may be at least one of a facial expression reaction, a motion reaction, or a voice reaction, and the controlling of the robot may further include: determining a robot reaction corresponding to the representative reaction; and outputting the robot reaction. 
     The control method may further include: determining the user state by inputting acquired input data to the artificial intelligence model based on the input data acquired for the robot reaction; and acquiring a character of the robot corresponding to the user state for the robot reaction. 
     The character of the robot may be determined according to the number of interactions with the user, the user state for the robot reaction, and the degree of completion of the robot reaction for the user reaction. 
     The learning data may be learning data including at least one of image data including a user, voice data including a user&#39;s voice, data about user&#39;s peripheral users, or data received from user&#39;s peripheral devices. 
     The artificial intelligence model may be learned using unsupervised learning, and the unsupervised learning may use at least one of a K-mean clustering technique or a gaussian mixture model (GMM) technique. 
     According to another embodiment of the disclosure, a robot using an artificial intelligence model includes: an inputter; an outputter; and a processor configured to: acquire user data related to at least one user through the inputter; learn the artificial intelligence model to acquire a user state for each of the at least one user by inputting the user data related to the at least one user to the artificial intelligence model as learning data; determine a representative reaction corresponding to the user state on the basis of the user data; and determine a user state of a first user by inputting input data to the artificial intelligence model based on user data related to the first user of the at least one user acquired as the input data through the inputter, and control the outputter to output a reaction the robot on the basis of a representative reaction corresponding to the determined user state. 
     The processor may be configured to: determine, by the robot, a second user to determine the user state among a plurality of users based on a plurality of user data for the plurality of users acquired as the input data; and determine the user state of the second user by inputting the input data to the artificial intelligence model based on user data related to the second user acquired as the input data, and control the outputter to output the reaction of the robot on the basis of a representative reaction corresponding to the determined user state. 
     The processor may be configured to: cluster a plurality of learning data into a plurality of clusters by inputting the plurality of learning data into the artificial intelligence model; and label user state corresponding to the plurality of clusters. 
     The processor may be configured to: acquire a variance value of learning data included in a cluster generated by the clustering; and determine a representative reaction of the cluster by analyzing the acquired variance value. 
     The representative reaction may be at least one of a facial expression reaction, a motion reaction, or a voice reaction, and the processor may be configured to: determine a robot reaction corresponding to the representative reaction; and control the outputter to output the robot reaction. 
     The processor may be configured to: determine the user state by inputting acquired input data to the artificial intelligence model based on the input data acquired for the robot reaction; and acquire a character of the robot corresponding to the user state for the robot reaction. 
     The character of the robot may be determined according to the number of interactions with the user, the user state for the robot reaction, and the degree of completion of the robot reaction for the user reaction. 
     The learning data may be learning data including information on at least one of image data including a user, voice data including a user&#39;s voice, data about user&#39;s peripheral users, or data received from user&#39;s peripheral devices. 
     The processor may be configured to be learned using unsupervised learning, and the unsupervised learning may use at least one of a K-mean clustering technique or a gaussian mixture model (GMM) technique. 
     Advantageous Effects 
     According to the diverse embodiments of the disclosure as described above, the robot may learn a user behavior to determine a user&#39;s state, and output an appropriate reaction according to the determined user&#39; state. 
    
    
     
       DESCRIPTION OF DRAWINGS 
         FIG. 1  is a block diagram illustrating a configuration of a robot according to an embodiment of the disclosure. 
         FIG. 2  is a block diagram illustrating in detail the configuration of the robot according to an embodiment of the disclosure. 
         FIGS. 3A and 3B  are illustrative diagrams for describing users interacting with the robot according to an embodiment of the disclosure. 
         FIGS. 4A to 4C  are illustrative diagrams for describing a clustering method according to an embodiment of the disclosure. 
         FIG. 5  is an illustrative diagram for describing a method of performing a motion operation by a robot when a reaction of the robot according to the disclosure is the motion operation. 
         FIG. 6  is an illustrative diagram for describing a method for setting a character of a robot. 
         FIG. 7  is an illustrative view for describing a reaction of a robot to user data according to an embodiment of the disclosure. 
         FIGS. 8 to 11  are illustrative diagrams for describing a method for generating a data recognition model using a learning algorithm, clustering user data through the data recognition model, and then determining a reaction of the robot to the user data, according to an embodiment of the disclosure. 
         FIGS. 12A and 12B  are flowcharts of the robot using the data recognition model according to an embodiment of the disclosure. 
         FIGS. 13A and 13B  are flowcharts of a network system using the data recognition model according to an embodiment of the disclosure. 
         FIGS. 14A to 18B  are illustrative diagrams for describing diverse embodiments of the disclosure. 
     
    
    
     BEST MODE 
     Hereinafter, diverse embodiments of the disclosure will be described with reference to the accompanying drawings. It should be understood that the embodiments and terms used therein are not intended to limit the technology described in the disclosure to specific embodiments, but include various modifications, equivalents, and/or replacements of the embodiments. Throughout the accompanying drawings, similar components will be denoted by similar reference numerals. Singular expressions may include plural expressions unless the context clearly indicates otherwise. In the disclosure, an expression “A or B”, “at least one of A and/or B”, or the like, may include all possible combinations of items listed together. Expressions “first”, “second”, or the like may indicate the corresponding components regardless of a sequence or importance of the components, will be used only in order to distinguish one component from the other components, and do not limit the corresponding components. When it is mentioned that any component (e.g., a first component) is “(functionally or communicatively) coupled with/to” or “connected to” to another component (e.g., a second component), any component may be directly connected to another component or may be connected to another component through the other component (e.g., a third component). 
     An expression “configured (or set) to” used in the disclosure may be interchangeably used with, for example, an expression “suitable for”, “having the capacity to”, “adapted to”, “made to”, “capable of”, or “designed to” in hardware or software, depending on a situation. In any context, an expression “a device configured to” may mean that the device is “capable of” together with other devices or components. 
     For example, a phrase “processor configured (or set) to perform A, B, and C” may mean a dedicated processor (for example, an embedded processor) for performing the corresponding operations or a generic-purpose processor (for example, a central processing unit (CPU) or an application processor) that may perform the corresponding operations by executing one or more software programs stored in a memory device. 
     An electronic device according to diverse embodiments of the disclosure may be various robots including a humanoid robot. The robot according to diverse embodiments of the disclosure may be various, such as, for example, a personal service robot providing a service to an individual user, a public service robot providing a public service, or a manufacturing robot used in an industrial site. Alternatively, the robot according to the diverse embodiments of the disclosure may be, for example, a general-purpose robot, a factory robot, an unmanned space exploration robot, a medical robot, or the like. The various robots may be a walking robot that moves with legs like a human or an animal, a wheel-type robot equipped with a wheel or a caterpillar, a flight-type robot, a submersible robot, and the like. Alternatively, the robot according to the diverse embodiments of the disclosure may be artificial intelligence implemented in software. 
     On the other hand, the electronic device according to the disclosure is described as a main embodiment in the case where the electronic device is the robot, but is not limited thereto. That is, the electronic device according to the diverse embodiments of the disclosure may include at least one of, for example, a smartphone, a tablet personal computer (PC), a mobile phone, an image phone, an e-book reader, a desktop personal computer (PC), a laptop personal computer (PC), a netbook computer, a workstation, a server, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, a medical device, a camera, or a wearable device. The wearable device may include at least one of an accessory type (for example, a watch, a ring, a bracelet, an ankle bracelet, a necklace, a glasses, a contact lens, or a head-mounted-device (HMD)), a textile or clothing integral type (for example, an electronic clothing), a body attachment type (for example, a skin pad or a tattoo), or a bio-implantable circuit. 
     In some embodiments, the electronic device may include at least one of, for example, a television (TV), a digital video disk (DVD) player, an audio player, a refrigerator, an air conditioner, a cleaner, an oven, a microwave oven, a washing machine, an air cleaner, a set-top box, a home automation control panel, a security control panel, a media box (for example, HomeSync™ of Samsung Electronics Co., Ltd, TV™ of Apple Inc, or TV™ of Google), a game console (for example Xbox™, PlayStation™), an electronic dictionary, an electronic key, a camcorder, or a digital photo frame. 
     In other embodiments, the electronic device may include at least one of various medical devices (for example, various portable medical measuring devices (such as a blood glucose meter, a heart rate meter, a blood pressure meter, a body temperature meter, or the like), a magnetic resonance angiography (MRA), a magnetic resonance imaging (MRI), a computed tomography (CT), a photographing device, an ultrasonic device, or the like), a navigation device, a global navigation satellite system (GNSS), an event data recorder (EDR), a flight data recorder (FDR), an automobile infotainment device, a marine electronic equipment (for example, a marine navigation device, a gyro compass, or the like), avionics, a security device, an automobile head unit, an industrial or household robot, a drone, an automatic teller&#39;s machine (ATM) of a financial institute, a point of sales (POS) of a shop, or Internet of things (IoT) devices (for example, a light bulb, various sensors, a sprinkler system, a fire alarm, a thermostat, a street light, a toaster, an exercise equipment, a hot water tank, a heater, a boiler, and the like). According to some embodiments, the electronic device may include at least one of a portion of a furniture, a building/structure, or a car, an electronic board, an electronic signature receiving device, a projector, or various meters (for example, water, electricity, gas, electric wave meter, or the like). In diverse embodiments, the electronic device may be flexible or may be a combination of two or more of the various devices described above. The electronic device according to an embodiment of the disclosure is not limited to the devices described above. 
     Hereinafter, in the disclosure, the case of the robot among the various electronic devices described above will be described as an embodiment, but the technical idea applied to the disclosure may also be applied to the various electronic devices described above. 
     In the disclosure, a term “user” may be a person that uses the electronic device or a device (e.g., an artificial intelligence electronic device) that uses the electronic device. 
     In addition, in the disclosure, user data may be used in combination with learning data or input data. 
     Hereinafter, each reaction of the robot will be briefly described, and the reaction of the robot will be described in detail using various illustrative diagrams and flowcharts according to the disclosure. The robot according to the disclosure may include 1) a step of collecting user data, 2) a step of analyzing the collected user data to cluster data and a step of determining a representative state and a representative reaction for an acquired cluster, 3) a step of performing a reaction of the robot corresponding input user data, based on the input user data, and 4) a step of determining a character of the robot. 
     [Step of Collecting User Data] 
     The robot may acquire user data related to a user. The user data may be used for clustering a user state, and may be used to determine a reaction of the robot corresponding to the user data according to a cluster acquired by clustering. In this case, the user data may be a concept including data (user motion, voice, biometric information, etc.) directly related to the user, as well as data (humidity, illuminance, temperature, or data about user&#39;s surrounding users) related to a user&#39;s surrounding environment. 
     The user data according to an embodiment of the disclosure may be acquired in various methods. As an example, when the robot includes a camera, the robot may acquire an image received through the camera as the user data. As another example, when the robot includes a microphone, the robot may acquire an audio signal received through the microphone as the user data. As still another example, when the robot includes various sensors, the robot may acquire the user data by analyzing information detected by the various sensors. For example, when the robot includes an infrared sensor, the robot may acquire data on the presence or absence of a user as the user data through the infrared sensor, or may acquire data on a user&#39;s body temperature or the like as the user data. Alternatively, when the robot includes a pressure sensor, the robot may acquire data on a physical contact with the user as the user data. Alternatively, when the robot includes an illuminance sensor, a humidity sensor, and the like, the robot may acquire humidity and illuminance information about the surrounding environment related to the user as the user data. In addition to the user data acquired using the above-described configurations, the robot may include various components to acquire various user data. 
     On the other hand, as described above, the user data may be acquired by the robot itself, but is not limited thereto. For example, the robot may collect the user data by communicating with other electronic devices. As an example, when the robot is included in an IoT system, the robot may receive the user data from other IoT devices. For example, when the user returns home after going out, the robot may receive the user data indicating that the user has entered the home from a door lock, which is another IoT device. Alternatively, the robot may receive the user data regarding music preferred by the user through a speaker, which is another IoT device, or may receive the user data for a program preferred by the user through a TV. 
     At this time, the user data may be acquired in a state in which the robot is powered on. However, in order to reduce power consumption of the robot, power for some components may be selectively activated in the step of acquiring the user data. For example, when the robot detects that the user is located around the robot in a state in which only the power of the infrared sensor is activated, the robot may activate the power of the camera or microphone. Through the method as described above, the robot may prevent unnecessary power consumption. 
     On the other hand, when the user data is acquired by the various methods described above, the robot may cluster the collected user data. However, when a size of the clustered data is large, data analysis may take a lot of time. Therefore, the robot may select and remove unnecessary data from the acquired data. That is, when the user exists around the robot, but there is no special event for a user behavior, the robot may remove the user data without the special event. For example, when the user has been in the sleep state for 8 hours, the robot may remove all user data for the sleep state, or may remove the rest of the data except for the user data for a portion (for example, video and sound captured for 1 minute) and analyze only necessary data. 
     Meanwhile, the user data acquired by the robot may be user data for a plurality of users. For example, when a first user and a second user exist around the robot, the robot may acquire first user data for the first user and second user data for the second user. That is, when the robot acquires data for the plurality of users, the robot may classify and manage the data for the plurality of users for each user. At this time, the robot may classify the data for the plurality of users for each user through various methods. For example, when the robot acquires the user data through the camera, the robot may classify the data for the plurality of users for each user by analyzing the acquired image. Alternatively, when a door lock, which is one of the IoT devices, uses user biometric information such as fingerprint recognition or iris recognition, the robot may receive an already classified user data from the door lock. 
     [Step of Analyzing Collected User Data to Cluster Data and Step of Determining Representative State and Representative Reaction for Acquired Cluster] 
     When various user data is acquired by the above-described method, the robot may cluster the user data to acquire a cluster for the user data and determine a representative state for the acquired cluster. At this time, the representative state for the cluster may be a user&#39;s emotional state. However, the representative state for the cluster is not limited thereto, and may be various states related to the user, such as a next expected behavior for a user&#39;s action, a user&#39;s schedule, and a user&#39;s habit. 
     The robot may cluster the user data through unsupervised learning. At this time, the unsupervised learning may use a K-mean clustering algorithm, a gaussian mixture model (GMM) algorithm, or the like, but is not limited thereto. 
     As an example, the robot may cluster the user data using the K-mean clustering algorithm. Specifically, 1) when a set (D) of user data and the number (k) of clusters are input, the robot may randomly extract k objects from the set D of user data and set the extracted k user data as a centroid of each cluster. 2) The robot may acquire k clusters based on the centroid of the cluster. Specifically, the robot may acquire a cluster by calculating a distance for each user data included in the set D of user data and each of the extracted k user data, and determining which centroid has the most similarity to each user data. 3) The robot may reset the centroid of the cluster based on the user data included in the acquired cluster, and reset k clusters based on the reset centroid. That is, the robot may repeat a process of acquiring a cluster from an arbitrary centroid (k centroids), recalculating the centroid of the acquired cluster to determine a new centroid, and acquiring a new cluster from the new centroid (k centroids), until the centroid of the cluster does not change. Through the method described above, the robot may acquire a cluster for the input data. On the other hand, in the above-described embodiment, the method of acquiring the cluster through the K-means clustering algorithm has been described, but the cluster may be acquired by various other methods such as the GMM algorithm. 
     When at least one cluster for the user data is acquired according to the various methods described above, the robot may determine a representative state for each cluster. For example, when the user data is image data and the user state is a user emotional state, user emotion for the cluster may be classified through a user face analysis, an emotion analysis, and the like. Specifically, the robot may analyze emotion of user data by performing face recognition, emotion recognition, and the like from image data included in each cluster. 
     When all user emotions for the user data of each cluster are analyzed, the robot may determine a representative emotion of the corresponding cluster based on the analyzed user emotions. For example, when any cluster includes 10 user data, and there are 5 user data in a ‘happy’ emotion state, 2 user data in a ‘pleasant’ emotion state, 2 user data in an ‘angry’ emotion state, and 1 user data in an ‘unclear’ emotion state, the robot may determine the representative emotion of the cluster as ‘happy’. 
     Through the method described above, the robot may determine the representative emotion for each cluster. Specifically, as illustrated in  FIG. 4A , the representative emotions of each cluster may be happiness, sadness, boredom, and anger. However, the representative emotions of the cluster may be various, such as love and hunger, in addition to the above-described emotions. 
     In addition, as illustrated in  FIG. 4B , one cluster may include a plurality of sub-clusters which are subdivided. For example, as illustrated in  FIG. 4B , the ‘sadness’ cluster may include an ‘uneasy’ sub-cluster, a ‘fear’ sub-cluster, an ‘embarrassing’ sub-cluster, and the like. 
     Meanwhile, when the representative emotion of the cluster is determined through the above-described method, the robot may determine a representative reaction corresponding to the representative emotion of each cluster, as illustrated in  FIG. 4C . As an example, the representative reaction may be a representative motion related to a user motion. Specifically, the robot may acquire skeleton data for one user data among the user data included in the cluster, and acquire a motion corresponding to the acquired skeleton data as a representative motion of the corresponding cluster. In this case, the skeleton data refers to data obtained by extracting feature points such as joints of a user image included in the user data. 
     In this case, the user data corresponding to the skeleton data may be acquired in various methods. As an example, the user data corresponding to the skeleton data may be randomly selected user data among the user data included in the cluster. 
     As another example, the user data corresponding to the skeleton data may be user data related to the representative emotion of the cluster. Specifically, the robot may acquire the user data corresponding to the skeleton data by generating distribution of the user data in the cluster, and extracting statistics such as average, median, and random samples from the distribution. In this case, the robot may generate the distribution in consideration of the similarity between the emotion of the user data and the representative emotion of the cluster. For example, as described above, it is assumed that when any cluster includes 10 user data, and there are 5 user data in a ‘happy’ emotion state, 2 user data in a ‘pleasant’ emotion state, 2 user data in an ‘angry’ emotion state, and 1 user data in a ‘unclear’ emotion state, the robot determines the representative emotion of the cluster as ‘happy’. The robot may assign a weight of 1 to the user data determined as ‘happy’, assign a weight of 0.7 to the user data determined as ‘pleasant’, assign a weight of 0.3 to the user data determined as ‘angry’, and assign a weight of 0.1 to the user data determined as ‘unclear’. The robot may generate the distribution by applying the user data to which the weight is assigned, and acquire user data corresponding to the average, median, and random sample from the generated distribution as the user data corresponding to the skeleton data. 
     Meanwhile, in the above-described embodiment, the case where the representative reaction is the representative motion has been described, but is not limited thereto. That is, the robot may determine the representative reaction by the same method even when the user data is data for a user&#39;s facial expression and data for a user&#39;s voice. 
     Meanwhile, the clustering descried above may also be performed using artificial intelligence using machine learning such as deep learning and element technologies utilizing the machine learning. For example, the clustering according to the disclosure may be implemented using a model such as a deep neural network (DNN), a recurrent neural network (RNN), or a bidirectional recurrent deep neural network (BRDNN), which will be described later in detail. 
     Meanwhile, the clustering as described above may be performed by a processor inside the robot, but may also be performed through an external server. When the clustering is performed on the external server, the clustering may be performed using either online or offline. For example, when the clustering is performed online, the robot may immediately perform the clustering whenever the user data is collected. In this case, if there is a change in a behavior pattern according to the user&#39;s emotional state, the robot may gradually reflect the change in the user behavior pattern. 
     Alternatively, when the clustering is performed offline, the robot may collect the user data for a period of time and cluster the collected data at once. In this case, it is not possible to immediately reflect the change in the behavior pattern according to the user&#39;s emotional state, but an effect such as reduction in power consumption or reduction in computation time may occur. At this time, when the clustering is performed offline, the method that the robot clusters the user data may vary. For example, the robot may transmit the user data to the external server in order to cluster the collected user data every a predetermined time. Alternatively, the robot may transmit the user data to the external server in order to cluster the user data when the user data of a predetermined capacity is collected. Alternatively, the robot may transmit the user data to the external server to cluster the user data during a period in which the user data is not collected or a period in which the user is not recognized. For example, the robot may transmit the user data to the external server in order to cluster the user data at a time when the user is asleep or when the user goes out. In addition, the results clustered by the server may be received and stored to be used when performing an operation of the robot. At this time, the clustering performed by the server may include not only an operation of acquiring the cluster by classifying the user data, but also an operation of acquiring the representative state for the acquired cluster. However, the clustering is not limited thereto, and the server may classify the user data to acquire the cluster, and the robot may acquire the representative state of the acquired cluster. Meanwhile, as described above, the robot may classify the data for the plurality of users for each user. At this time, the robot may learn each user emotion for each user. That is, when the robot acquires first learning data for the first user and second learning data for the second user, the robot may acquire first emotion clusters for the first learning data, and second emotion clusters for the second learning data. 
     In the above-described embodiment, the case in which the user state is the user emotion state has been described, but the clustering may be performed through the same method for various user states other than the user emotion state. 
     [Step of Outputting Reaction of Robot Corresponding to Acquired User Data, Based on Acquired User Data] 
     As described above, the robot may receive the user data and acquire the cluster for the received user data, and the robot may output various reactions based on the received user data. 
     At this time, the reaction output by the robot may be various, such as a motion reaction, a voice reaction, and a facial expression reaction. Specifically, the motion reaction may be a reaction related to a movement output by the robot with respect to the user data. The voice reaction may be various audio signals (language, onomatopoeia, mimetic word, music, etc.) output by the robot with respect to the user data. The facial expression reaction may be an expression output by the robot with respect to the user data. 
     As described above, when the robot acquires the user data through various methods, the robot may determine and perform the reaction of the robot corresponding to the user data. At this time, the reaction of the robot corresponding to the user data may be determined using at least one acquired cluster. That is, when the user data is acquired, the robot may determine which cluster the acquired user data is user data corresponding to. For example, when it is determined that the user data acquired by the robot is data corresponding to a ‘happy’ cluster, the robot may perform a reaction corresponding to the ‘happy’ cluster. At this time, the reaction corresponding to the ‘happy’ cluster may be a representative reaction to the ‘happy’ cluster. 
     In addition, in the above-described embodiment, it has been described that the robot performs the representative reaction of the cluster corresponding to the user data, but is not limited thereto. 
     As an example, the robot may perform a representative reaction of a cluster related to the cluster corresponding to the user data. For example, when the cluster corresponding to the user data is a ‘sadness’ cluster, the robot may perform the operation of the robot using representative reactions such as a ‘happy’ cluster, an ‘antics’ cluster, and a ‘pleasant’ cluster, so that the user may overcome sadness. 
     As another example, the robot may perform the operation of the robot using a representative reaction of the cluster corresponding to other user data related to the user data. For example, when the cluster corresponding to the user data collected in the past is the ‘sadness’ cluster, and the cluster corresponding to the data of other users with the user is the ‘antic’ cluster, the robot may perform the operation of the robot using a representative reaction of the ‘antic’ cluster corresponding to other user data. At this time, the robot may perform the operation of the robot using data of other users according to the relationship or intimacy between the user and other users. For example, when the intimacy between the user and other users is high (e.g., a family), the robot may perform the operation of the robot using data of other users. 
     As described above, the robot may classify the user data for the plurality of users for each user, and perform the clustering for each user. Accordingly, the robot may collect different user data for each user, acquire different clusters, and output different reactions for each user. That is, as illustrated in  FIG. 4D , the robot may acquire user data  410  for a plurality of users. The robot may classify the acquired data for each user. That is, the robot may classify the user data  410  into first user data  420  and second user data  430  and perform clustering on each of the classified data. That is, the robot may cluster the first user data  420  to acquire a happy cluster  421  and a sadness cluster  422 , and may cluster the second user data  430  to acquire a sadness cluster  431  and an anger cluster  432 . Through this, the robot may output different reactions to different users. 
     [Step of Determining Character of Robot] 
     Meanwhile, the robot may build a character of the robot according to an interaction with the user. As an example, after the robot outputs the reaction to the user data, the character of the robot may be determined according to the user interaction with the output reaction of the robot. For example, when the user interaction for the reaction output of the robot is a ‘praise’ interaction, the character of the robot may be a confident character. Alternatively, when the user interaction for the reaction output of the robot is a ‘scold’ interaction, the character of the robot may be a timid character. As another embodiment, the character of the robot may be similar to that of the user acquired by analyzing the user data. 
     That is, the character of the robot may be changed, expanded, or reduced as the interaction with the user is performed. Depending on the generated character of the robot, the reaction output by the robot in the same situation may vary. 
     Hereinafter, the configuration and operation of the robot according to the disclosure will be described in detail. 
       FIG. 1  is a block diagram illustrating a configuration of a robot according to an embodiment of the disclosure. 
     Specifically, a robot  100  includes an inputter  110 , an outputter  120 , and a processor  130 . As described above, the robot  100  according to the disclosure may be configured as various electronic devices, but a case where the electronic device according to the disclosure is the robot  100  will be described below. 
     The inputter  110  is a configuration for acquiring user data around the robot  100 . The inputter  110  may acquire pictures and images around the robot  100  as the user data. Alternatively, the inputter  110  may acquire sounds around the robot  100  as the user data. However, the inputter  110  is not limited to the above-described embodiment, and may acquire data in various formats as the user data. For example, the inputter  110  may acquire data directly input by the user as the user data. Alternatively, the inputter  110  may acquire data received from peripheral electronic devices as the user data. For example, if the robot  100  may be connected to an IoT system, the inputter  110  may use data received from peripheral IoT devices as the user data. 
     The outputter  120  may output a reaction of the robot  100  to a user behavior. At this time, the output output through the outputter  120  may have various forms. For example, the output output through the outputter  120  may be various, such as a motion output, a voice output, and a control output. 
     The processor  130  controls the overall operation of the robot  100 . Specifically, the processor  130  may acquire user data related to at least one user, and analyze the acquired user data related to at least one user. As an example, when the user data is learning data including at least one of a user facial expression, a user motion, or a user voice, the robot may acquire the user data as described above and analyze user emotions included in the acquired user data. For example, the user emotion may be ‘joy’, ‘sadness’, ‘boredom’, ‘anger’, and the like. 
     At this time, the processor  130  may determine a representative reaction corresponding to the user emotion based on at least one of the user motion or the user voice. The processor  130  may analyze the user data including at least one of the user motion or the user voice to determine the user emotion, and control the robot  100  based on the representative reaction corresponding to the user emotion. 
     In addition, when user data for a plurality of users is input through the inputter  110 , the processor  130  may classify and cluster the user data for the plurality of users for each user. For example, when first user data for a first user and second user data for a second user are input through the inputter  110 , the processor  130  may classify the first user data and the second user data, perform clustering on the first user data, and perform clustering on the second user data. 
     Meanwhile, the user data may be various such as user data related to user schedules, user data related to user life patterns, user data related to surrounding environment information, and user data related to a behavior desired by the user, as well as the user data related to the user emotions. 
       FIG. 2  is a block diagram illustrating in detail the configuration of the robot according to an embodiment of the disclosure. 
     Specifically, the robot  100  may further include a communicator  140 , a memory  150 , and a detector  160 , in addition to the inputter  110 , the outputter  120 , and the processor  130 . 
     The inputter  110  may include a camera  111 , a microphone  112 , a touch panel  113 , and the like to acquire various external inputs. 
     The camera  111  is a configuration for acquiring image data around the robot  100 . The camera  111  may capture still images and videos. For example, the camera  111  may include one or more image sensors, a lens, an image signal processor (ISP), or a flash (e.g., an LED or xenon lamp, etc.), and may be configured as a plurality of cameras  111 . At this time, in order to prevent unnecessary power consumption, the camera  111  may be activated only when certain conditions are satisfied. For example, the camera  111  may be activated only when the user is detected around the robot  100 . Alternatively, when the robot  100  is a part of the IoT system, the camera  111  may be activated when a condition that a front door is opened or an indoor lighting is turned on is satisfied. However, the camera  111  is not limited to the above-described embodiment, and may be always activated when power is applied to the robot. When the camera  111  is always activated, the camera  111  may store an image or perform image processing only when a specific condition is satisfied. The specific condition may be a condition in which the user is detected around the robot  100 , or a condition in which the front door is opened or the indoor lighting is turned on when the robot  100  is a part of the IoT system. 
     The microphone  112  is a configuration for acquiring sounds around the robot  100 . The microphone  112  may receive external acoustic signals and generate electrical voice information, and the robot  100  may include a plurality of microphones  112 . The robot  100  may estimate a direction of a sound source generating an acoustic signal using a difference in arrival time of the acoustic signal input to each of the plurality of microphones. The microphone  112  may use various noise removal algorithms to remove noise generated in a process of receiving the external acoustic signal. As in the case of the camera  111 , in order to prevent unnecessary power consumption, the microphone  112  may be activated only when certain conditions are satisfied. That is, the microphone  112  may be activated only when the user is detected around the robot  100 . Alternatively, when the robot  100  is a part of the IoT system, the microphone  112  may be activated when a condition that a front door is opened or an indoor lighting is turned on is satisfied. However, the microphone  112  is not limited to the above-described embodiment, and may be always activated as in the case of the camera  111 . 
     The touch panel  113  is a configuration capable of receiving various user inputs. The touch panel  113  may receive user data by user manipulation. The touch panel may also be activated under the conditions as described above to prevent unnecessary power consumption. Alternatively, the touch panel  113  may also be activated only when a user&#39;s touch is detected. The touch panel  113  may be configured in combination with a display described later. 
     The input unit  110  may be various configurations for receiving various user data in addition to the camera  111 , the microphone  112 , and the touch panel  113  described above. 
     The outputter  112  may include a driver  121 , an audio outputter  122 , and a display  123 . 
     The driver  121  is a configuration for outputting various motions as the reaction to the user data acquired through the inputter  110 . When the robot  100  according to an embodiment of the disclosure is a humanoid robot  100 , the driver  121  may include a motor or an actuator capable of driving at least one joint corresponding to a human’ joint. As another example, when the robot  100  according to an embodiment of the disclosure is a wheel-type robot, the driver  121  may include a motor or an actuator capable of driving a wheel. 
     The audio outputter  122  is a configuration for outputting various audio signals as the reaction to the user data acquired through the inputter  110 . The audio outputter  122  may output various alarms or audio messages as well as various audio data on which various processing operations such as decoding, amplification, noise filtering, and the like, are performed by an audio processor (not illustrated). In particular, the audio outputter  122  may be implemented as a speaker, but this is only one example, and the audio outputter  122  may be implemented as an output terminal that may output audio data. 
     The display  123  is a configuration for outputting images as various reactions to the user data acquired through the inputter  110 . As an example, the display  123  may output an avatar image for expressing emotion. That is, when the robot  100  intends to output delightful emotion as the reaction to the user data acquired through the inputter  110 , the delightful emotion may be output through the avatar image displayed on the display  123 . Meanwhile, the display  123  for providing various images may be implemented as various types of display panels. For example, the display panel may be implemented by various display technologies such as a liquid crystal display (LCD), an organic light emitting diode (OLED), an active-matrix organic light-emitting diode (AM-OLED), a liquid crystal on silicon (LcoS), or a digital light processing (LDP). In addition, the display  123  may also be coupled to at least one of a front region, a side region, or a rear region of the robot  100  in the form of a flexible display. 
     The communicator  140  may perform communication with the external device. In particular, the communicator  140  may include various communication chips or circuits for performing wireless communication, such as a wireless fidelity (WiFi) chip  141 , a Bluetooth chip  142 , a near field communication (NFC) chip  143 , and a mobile communication chip  144 . At this time, the WiFi chip  141 , the Bluetooth chip  142 , and the NFC chip  143  perform communication in a LAN scheme, a WiFi scheme, a Bluetooth scheme, an NFC scheme, respectively. In the case of using the WiFi chip  141  or the Bluetooth chip  142 , various kinds of connection information such as a service set identifier (SSID), a session key, and the like, are first transmitted and received, communication is connected using the connection information, and various kinds of information may then be transmitted and received. The mobile communication chip  144  refers to a chip that performs communication according to various communication protocols such as 3 rd  generation (3G), 3 rd  generation partnership project (3GPP), long term evolution (LTE), and the like. On the other hand, the communicator  140  may also perform communication in a wired communication scheme including at least one of universal serial bus (USB), high definition multimedia interface (HDMI), recommended standard 232 (RS-232), a power line communication, or plain old telephone service (POTS). In particular, the communicator may transmit and receive various data to determine a user state by performing communication with the external devices. Alternatively, when user state analysis is performed on an external server, the communicator  140  may transmit collected learning data to the external server and receive an analysis result of the learning data. 
     The memory  150  may store, for example, commands or data for controlling at least one component of the robot  100 . According to an embodiment, the memory  150  may store software and/or programs. The program may include, for example, a kernel, middle-ware, an application programming interface (API), and/or an application program (or “application”). At least a portion of the kernel, middleware, or API may be referred to as an operating system (OS). The kernel, for example, may control or manage system resources used to execute operations or functions implemented in other programs. In addition, the kernel may provide an interface capable of controlling or managing the system resources when accessing individual components of the robot  100  in the middleware, the API, or the application program. 
     The middleware may act as an intermediary so that, for example, the API or the application program communicates with the kernel to exchange data. In addition, the middleware may process one or more job requests received from the application program according to priority. For example, the middleware may assign priority capable of using the system resources of the robot  100  to at least one of the application programs and process the one or more job requests. The API is an interface for the application program to control functions provided by the kernel or middleware, and may include, for example, at least one interface or function (e.g., instruction) for file control, window control, image processing, or character control. 
     In addition, the memory  150  may include at least one of an internal memory or an external memory. The internal memory may include at least one of, for example, a volatile memory (for example, a dynamic random access memory (DRAM), a static RAM (SRAM), a synchronous dynamic RAM (SDRAM), or the like), a non-volatile memory (for example, a one time programmable read only memory (OTPROM), a programmable ROM (PROM), an erasable and programmable ROM (EPROM), an electrically erasable and programmable ROM (EEPROM), a mask ROM, a flash ROM, or the like), a flash memory, a hard drive, or a solid state drive (SSD). The external memory may include a flash drive such as a compact flash (CF), a secure digital (SD), a micro-SD, a mini-SD, an extreme digital (xD), a multi-media card (MMC), a memory stick, or the like. The external memory may be functionally or physically connected to the robot  100  through various interfaces. 
     The detector  160  is a configuration for acquiring information around the robot  100 . As described above, the detector  160  may include various sensors, and may acquire information detected by the sensors as the user data. The detector  160  may include various sensors such as an infrared sensor, a pressure sensor, an illuminance sensor, a humidity sensor, and a gyro sensor. For example, when the detector  160  includes the infrared sensor, the detector  160  may acquire data on the presence or absence of a user as the user data through the infrared sensor, or may acquire data on a user&#39;s body temperature or the like. Alternatively, when the detector  160  includes the pressure sensor, the detector  160  may acquire data on physical contact with the user as the user data. Alternatively, when the robot  100  includes the illuminance sensor, the humidity sensor, and the like, the robot may acquire information on humidity and illuminance related to a surrounding environment of the user as the user data. 
     The processor  130  may control an overall operation of the robot  100  using various programs stored in the memory  150 . 
     The processor  130  includes a random access memory (RAM)  131 , a read only memory (ROM)  132 , a graphic processor  133 , a main central processing unit (CPU)  134 , first to n-th interfaces  135 - 1  to  135 - n , and a bus  136 . At this time, the RAM  131 , the ROM  132 , the graphic processor  133 , the main CPU  134 , the first to n-th interfaces  135 - 1  to  135 - n , and the like, may be connected to each other through the bus  136 . 
     The RAM  131  stores the OS and the application programs. Specifically, when the robot  100  is booted, the OS may be loaded on the RAM  131  and various application data selected by the user may be loaded on the RAM  131 . 
     An instruction set for booting a system, or the like is stored in the ROM  132 . When a turn-on command is input to supply power, the main CPU  134  may copy the OS stored in the memory  150  to the RAM  131  according to an instruction stored in the ROM  132 , and execute the OS to boot the system. When the booting is completed, the main CPU  134  copies various application programs stored in the memory  150  to the RAM  131 , and executes the application programs copied to the RAM  131  to perform various operations. 
     The graphic processor  133  generates a screen including various objects such as a graphical user interface (GUI) item, image, text, and the like, using a calculator (not illustrated) and a renderer (not illustrated). Here, the calculator may be a configuration that calculates attribute values, such as coordinate values, shapes, sizes, and colors, to which each object is to be displayed according to a layout of a screen using a control command received from the inputter  140 . In addition, the renderer may be a configuration that generates a screen of various layouts including the objects on the basis of the attribute values calculated by the calculator. The screen generated by such a renderer may be displayed in a display region of the display  130 . 
     The main CPU  134  accesses the memory  150  to perform the booting using the OS stored in the memory  150 . In addition, the main CPU  134  performs various operations using various programs, contents, data, and the like, stored in the memory  150 . 
     The first to n-th interfaces  135 - 1  to  135 - n  are connected to the various components described above. One of the first to n-th interfaces  135 - 1  to  135 - n  may also be a network interface connected to an external device through a network. 
       FIGS. 3A and 3B  are illustrative diagrams for describing users interacting with the robot according to an embodiment of the disclosure. 
     Specifically, the robot  100  may recognize a predetermined specific user  300  (hereinafter, an owner) as a user for interacting. That is, as illustrated in  FIG. 3A , the robot  100  may acquire and analyze user data on a behavior of the owner  300  as learning data, and may output an appropriate reaction according to the analyzed learning data when the user data for the behavior of the owner  300  is input as input data. 
     However, as illustrated in  FIG. 3B , when other users  301  and  302  other than the owner are present together around the robot  100 , the robot  100  may acquire user data for other users  301  and  302  including the owner  300  together. However, in the case of  FIG. 3B , the output of the robot  100  reacting to the owner  300  and the output of the robot  100  reacting to other users  301  and  302  may be different. As an example, when the owner  300  is smiling and other users  301  and  302  are angry with the owner, the robot  100  may output a smiling reaction together with the owner as a reaction to the smiling owner  300 . However, when other users are smiling and the owner is angry with other users, the robot  100  may output a reaction that is angry with other users together with the owner, or output a reaction that comforts the owner. 
     That is, although the robot  100  acquires user data for a plurality of users, the robot  100  may output a reaction based on the user data for the owner. At this time, as illustrated in  FIGS. 3A and 3B , the owner does not need to be one, and a plurality of users may be set as the owner. 
     In addition, the owner may be set by the user&#39;s input, but may vary depending on the number of interactions with the robot  100 . For example, the owner of the robot  100  may be determined according to the number of times the user and the robot  100  have interacted. However, the owner is not limited to the above-described embodiment, and may be determined according to the user&#39;s input, and for a user other than the owner, a user that the number of interactions between the robot  100  and the user is a predetermined number or more may also be determined as a sub-owner. 
       FIG. 5  is an illustrative diagram for describing a method of performing a motion operation by a robot when a reaction of the robot according to the disclosure is the motion operation. 
     As described above, the robot  100  may perform a motion operation for the input user data. At this time, the motion operation output by the robot  100  may be a representative reaction to any one of the acquired clusters. That is, the robot  100  may mimic the representative reaction to the cluster. At this time, depending on the structure of the robot  100 , the mimicked representative reaction of the user may vary. 
     However, the motion operation of the robot  100  according to the same representative reaction may vary depending on the structure of the robot  100 . For example, when the robot  100  is a complete humanoid robot capable of perfectly reproducing human&#39;s movement, the robot  100  may perform the same motion operation as the representative reaction. However, for example, as illustrated in  FIG. 5 , when the number of joints of the user is 14 and the number of joints of the robot  100  is 6, the robot  100  may not perform the same motion operation as the representative reaction. In this case, because the number of joints ( 6 ) the robot  100  has is smaller than the number of joints ( 14 ) required to perform the representative reaction, the robot  100  may operate by simplifying the representative reaction by determining the number, location, and operation of its own joints and the number, location, and operation of the user&#39;s joints, and grasping the joints required for the representative reaction. Alternatively, the user repeatedly learns the movements of the six joints of the robot  100  corresponding to the  14  joints of the person to the robot  100 , so that the robot  100  may learn its own motion according to the motion operation of the person. 
     That is, as described above, the robot  100  may change the representative reaction according to its own structure and output the changed representative reaction. 
       FIG. 6  is an illustrative diagram for describing a method for setting a character of a robot. 
     Specifically,  FIG. 6  is an illustrative diagram for describing a method of displaying a character area of the robot  100  in J. Russel&#39;s circumplex model. A horizontal axis of J. Russel&#39;s circumplex model indicates whether emotion is positive or negative, and a vertical axis indicates activity. In  FIG. 6 , for convenience of explanation, the character area of the robot  100  is represented on the J. Russel&#39;s circumplex model, but is not limited thereto. 
     As described above, the character of the robot  100  may be set according to the interaction result with the user and the number of interactions with the user. As an example, the character of the robot  100  may vary depending on the number N of interactions with the user, a user reward R, and a service completion rate C. At this time, the number N of interactions refers to the number of times the user and the robot have interacted, the user reward R represents a user&#39;s attitude (positive or negative) to the reaction of the robot, and the service completion rate C may be a parameter representing an accuracy of the reaction of the robot to the user data. At this time, when it is assumed that a reference point (e.g., a coordinate of a center of gravity of the character area) of the character area of the robot  100  is (c x , c y ), and a width and a height of the character area of the robot  100  are w and h, respectively, the character area of the robot  100  may be determined by N, R, and C. 
       ( c   x   ,c   y   ,w,h )= f ( N,R,C )  [Mathematical expression 1]
 
     As an example, c x , c y , w, and h in Mathematical expression 1 may be determined according to Mathematical expression 2 below. At this time, α, β, γ, ω may be any real number greater than 0. 
         c   x =β( R+C ), c   v =(α N+R ) C,w=γN,h=δN (α,β,γ,ω≥0)  [Mathematical expression 2]
 
     That is, the character area of the robot  100  increases as the number N of interactions with the user increases, and decreases as the number of interactions with the user decreases. 
     In addition, c x  (a positive or negative degree of emotion) may be determined according to the user reward R and the service completion rate C. That is, the higher the value of the user reward (e.g., praise, scolding, or the like) and service completion rate (e.g., success or failure), the character area of the robot  100  may be set in a right direction. At this time, the meaning that the value of the user reward is high may mean that the robot has received much praise from the user. 
     In addition, c y  (degree of activity) may be determined according to the number N of user interactions and the user reward R. The more the number of interactions with the user and the more the user praises the robot  100 , the character area of the robot  100  may be set in an upper direction. 
     At this time, the character area of the robot  100  may be updated online or offline. That is, as described in the clustering method, when the character setting of the robot  100  is performed through an external server, the character update of the robot  100  may be performed using either online or offline. For example, when the character update of the robot  100  is performed online, the robot  100  may immediately update the character of the robot  100  whenever the user interaction is input. In this case, when there is a change in the user interaction, the robot  100  may gradually reflect the character area of the robot  100 . 
     Alternatively, when the character update of the robot  100  is performed offline, the robot  100  may update the character of the robot  100  by collecting user interactions for a period of time, and reflecting the collected user interactions at once. At this time, when the character update of the robot  100  is performed offline, the method in which the robot  100  updates the user interaction may be various. For example, the robot  100  may transmit the user data to the external server to update the collected user interactions every a predetermined time, and receive the analyzed results from the server. Alternatively, when a user interaction as much as a predetermined capacity is collected, the robot  100  may transmit the user interaction to the external server to update the user interaction. Alternatively, the robot  100  may transmit the user interaction to the external server to perform the character update of the robot  100  during a period in which the user interaction is not collected or a period in which there is no user. For example, the robot  100  may transmit the user interaction to the external server to perform the character update of the robot  100  at a time when the user is sleeping or when the user goes out. 
     On the other hand, when the character area of the robot  100  is set by the above-described method, the robot  100  may react based on the set character area. For example, as illustrated in  FIG. 6 , when the character of the robot  100  corresponds to a first character area  610 , the robot  100  may output only a reaction corresponding to emotion corresponding to the first character area  610 , and when the character of the robot  100  corresponds to a second character area  620 , the robot  100  may output only a reaction corresponding to emotion corresponding to the second character area  620 . However, the robot  100  is not limited thereto, and when the character of the robot  100  corresponds to the first character area  610 , the robot may output the reaction corresponding to the emotion corresponding to the first character area  610  with a predetermined probability (e.g.,  0 . 9 ), and output a reaction corresponding to emotion other than the first character area  610  with the remaining probability (e.g.,  0 . 1 ). The second character area  620  is also as described above. 
     Meanwhile, in  FIG. 6 , for convenience of explanation, the case in which the character areas  610  and  620  of the robot  100  have a rectangular shape is described as an example, but the shape of the character areas  610  and  620  is not limited thereto. 
       FIG. 7  is an illustrative view for describing a reaction of a robot to user data according to an embodiment of the disclosure. 
     As illustrated in  FIG. 7 , when an event in which the user laughs heartily occurs, the robot  100  may cluster user data for the occurred event. At this time, the user data for the event may be included in the “pleasant” cluster. 
     Thereafter, when the event in which the user laughs heartily occurs again, the robot  100  may determine that the user data for the occurred event corresponds to the ‘pleasant’ cluster. The robot  100  may perform an operation similar to an operation that laughs heartily according to the representative reaction of the ‘pleasant’ cluster. At this time, as described with referent to  FIG. 5 , the robot  100  may perform the operation according to the representative reaction of the ‘pleasant’ cluster according to the structure of the robot  100 . For example, the robot illustrated in  FIG. 7  does not have a leg, and may not thus perform an operation related to a leg portion of the representative reaction of the ‘pleasant’ cluster, or may replace the operation with another operation. 
     Hereinafter, a method for generating a data recognition model using a learning algorithm, clustering user data through the data recognition model, and then determining a reaction of the robot to the user data, according to an embodiment of the disclosure will be described with reference to  FIGS. 8 to 11 . 
     Referring to  FIG. 8 , the processor  130  according to some embodiments may include a data learner  810  and a data recognizer  820 . 
     The data learner  810  may learn a data recognition model to have a criterion for clustering user data. Alternatively, the data learner  810  may learn the data recognition model to have a criterion for determining the reaction of the robot  100  to the user data. The data learner  810  may generate a data recognition model having a determination criterion by applying the user data as learning data to the data recognition model to cluster the user data or determine the reaction of the robot  100  to the user data. 
     As an example, the data learner  810  may generate or learn the data recognition model by using the various user data described above as the learning data. At this time, the learning data may be an image obtained by capturing the user, a user&#39;s voice, skeleton data for the user&#39;s image, or user&#39;s facial expression data. 
     The data recognizer  820  may determine a situation by using the user data as recognition data. The data recognizer  820  may determine the situation from predetermined recognition data by using the learned data recognition model. The data recognizer  820  may acquire the predetermined recognition data according to a predetermined criterion, and may determine or estimate the predetermined situation based on the predetermined recognition data by applying the acquired recognition data as an input value to the data recognition model. 
     In addition, a result value output by applying the acquired recognition data as the input value to the data recognition model may be used to update the data recognition model. 
     According to an embodiment of the disclosure, the data recognizer  820  may acquire a determination result (a clustering result for the user data or a reaction of the robot  100  to the user data) obtained by determining the situation of the robot  100  by applying recognition data related to voice information and recognition data related to image information as input values to the data recognition model. 
     At least a portion of the data learner  810  and at least a portion of the data recognizer  820  may be implemented as a software module or manufactured in the form of at least one hardware chip and mounted on the electronic device. For example, at least one of the data learner  810  or the data recognizer  820  may also be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be manufactured as a portion of an existing general-purpose processor (e.g., CPU or application processor) or a graphic dedicated processor (e.g., GPU) and mounted on a variety of display devices described above. At this time, the dedicated hardware chip for artificial intelligence is a dedicated processor specialized for a probability calculation, and has higher parallel processing performance than the conventional general-purpose processor, and may thus quickly process calculation operations in an artificial intelligence field such as machine learning. When the data learner  810  and the data recognizer  820  are implemented as a software module (or a program module including instructions), the software module may be stored in a non-transitory computer readable media. In this case, the software module may be provided by an operating system (OS), or may be provided by a predetermined application. Alternatively, a portion of the software module may be provided by the OS, and the remaining of the software module may be provided by the predetermined application. 
     In this case, the data learner  810  and the data recognizer  820  may also be mounted on one robot  100  (or the electronic device), or may also be mounted in each of the separate robots  100  (or electronic devices). For example, one of the data learner  810  and the data recognizer  820  may be included in the robot  100 , and the other may be included in an external server. In addition, the data learner  810  and the data recognizer  820  may also provide model information constructed by the data learner  810  to the data recognizer  820  by a wired or wireless line, and the data input to the data recognizer  820  may also be provided to the data learner  810  as additional learning data. 
       FIG. 9  is a block diagram of the data learner  810  according to an embodiment of the disclosure. 
     Referring to  FIG. 9 , the data learner  810  according to some embodiments may include a data acquirer  810 - 1  and a model learner  810 - 4 . In addition, the data learner  810  may selectively further include at least one of a pre-processor  810 - 2 , a learning data selector  810 - 3 , or a model evaluator  810 - 5 . 
     The data acquirer  810 - 1  may acquire the user data as learning data. 
     As the learning data, data collected or tested by the data learner  810  or a manufacturer of the robot  100  may also be used. Alternatively, the learning data may include voice data generated from natural language spoken by the user through the microphone according to the disclosure. Alternatively, the learning data may include movement data of the user captured by the camera. Alternatively, the learning data may include sensing data detected through various sensors. For example, the learning data may include data on the presence or absence of the user detected through the infrared sensor, include data related to a physical contact with the user detected through the pressure sensor, or include ambient illumination or humidity data detected through the illumination sensor or humidity sensor. 
     The data learner  810  may further include a pre-processor  810  and a learning data selector  810  to improve a recognition result of the data recognition model or to save resources or time required for generation of the data recognition model. 
     The pre-processor  810 - 2  may pre-process the data acquired by the acquirer  810 - 1 . 
     For example, the pre-processor  810 - 2  may process the acquired data into a predefined format so that the model learner  810 - 4  may easily use the data for learning the data recognition model. For example, the pre-processor  810 - 2  may process the voice data acquired by the data acquirer  810 - 1  into text data, and may process image data into an image data of a predetermined format. The pre-processed data may be provided to the model learner  810 - 4  to be described later as the learning data. 
     In addition, the learning data selector  810 - 3  may selectively select leaning data necessary for learning from the pre-processed data. The selected learning data may be provided to the model learner  810 - 4 . The learning data selector  810 - 3  may select learning data necessary for learning from the pre-processed data, according to a predetermined selection criterion. In addition, the learning data selector  810 - 3  may also select the learning data necessary for learning according to a predetermined selection criterion by learning by the model learner  810 - 4 . As an embodiment of the disclosure, the learning data selector  810 - 3  may select only the voice data spoken by a specific user among the input voice data, and may select only an area including a person excluding a background among the image data. 
     The model learner  810 - 4  may learn the data recognition model used for clustering or determination of the reaction of the robot  100  using the learning data. For example, the model learner  810 - 4  may learn the data recognition model through supervised learning using at least a portion of the learning data as the determination criterion. Alternatively, the model learner  810 - 4  may learn the data recognition model through unsupervised learning of finding the determination criterion for determining a situation by performing self-learning using the learning data without any supervision, for example. 
     In addition, the model learner  810 - 4  may also learn a selection criterion about which learning data should be used for clustering or determination of the reaction of the robot  100 . 
     The data recognition model may be constructed in consideration of an application field of the recognition model, the purpose of learning, or a performance of the device. The data recognition model may be, for example, a model based on a neural network. The data recognition model may be designed to simulate a human&#39;s brain structure on a computer. The data recognition model may include a plurality of network nodes having weights that simulate neurons in a human&#39;s neural network. The plurality of network nodes may form a connection relationship so that the neurons simulate synaptic activity through which signals are transmitted and received through synapses. The data recognition model may include, for example, a neural network model or a deep learning model developed from the neural network model. In the deep learning model, the plurality of network nodes may be located at different depths (or layers) and transmit and receive data according to a convolution connection relationship. 
     For example, as the data recognition model, models such as a deep neural network (DNN), a recurrent neural network (RNN), and a bidirectional recurrent deep neural network (BRDNN) may be used, but the data recognition mode is not limited thereto. 
     According to diverse embodiments, when there are a plurality of pre-constructed data recognition models, the model learner  810 - 4  may determine a data recognition model having a high relation between the input learning data and basic learning data as a data recognition model to be learned. In this case, the basic learning data may be pre-classified for each type of data, and the data recognition model may be pre-constructed for each type of data. For example, the basic learning data may be pre-classified by various criteria such as an area in which the learning data is generated, a time at which the learning data is generated, a size of the learning data, a generator of the learning data, and types of objects in the learning data. 
     In addition, the model learner  810 - 4  may learn the data recognition model by using a learning algorithm or the like including, for example, error back-propagation or gradient descent. 
     In addition, the model learner  810 - 4  may learn the data recognition model through supervised learning using, for example, the determination criterion as the input value. Alternatively, the model learner  810 - 4  may learn the data recognition model through unsupervised learning of finding the clustering or the determination of the reaction of the robot  100  by performing self-learning using the necessary learning data without any supervision, for example. In addition, the model learner  810 - 4  may learn the data recognition model through reinforcement learning using a feedback as to whether a result of the clustering or the determination of the reaction of the robot  100  according to the learning is correct, for example. 
     In addition, when the data recognition model is learned, the model learner  810 - 4  may store the learned data recognition model. In this case, the model learner  810 - 4  may store the learned data recognition model in the memory  150  of the robot  100 . Alternatively, the model learner  810 - 4  may store the learned data recognition model in a memory of a server that performs communication with the robot  100  via a wired or wireless network. 
     The data learner  810  may further include a model evaluator  810 - 5  to improve the recognition result of the data recognition model. 
     The model evaluator  810 - 5  may input evaluation data to the data recognition model, and may cause the model learner  810 - 4  to learn again when the recognition result outputted from the evaluation data does not satisfy a predetermined criterion. In this case, the evaluation data may be predefined data for evaluating the data recognition model. 
     For example, when the number or ratio of evaluation data in which the recognition result is not correct among the recognition results of the learned data recognition model for the evaluation data exceeds a predetermined threshold value, the model evaluator  810 - 5  may evaluate that the predetermined criterion is not satisfied. For example, in a case in which the predetermined criterion is defined as a ratio of 2%, if the learned data recognition model outputs incorrect recognition results for the evaluation data exceeding 20 among a total of 1000 evaluation data, the model evaluator  810 - 5  may evaluate that the learned data recognition model is not suitable. 
     Meanwhile, when a plurality of learned data recognition models exist, the model evaluator  810 - 5  may evaluate whether each of the learned data recognition models satisfies the predetermined criterion, and determine a model satisfying the predetermined criterion as a final data recognition model. In this case, when there are a plurality of models satisfying the predetermined criterion, the model evaluator  810 - 5  may determine any one or a predetermined number of models previously set in descending order of evaluation score as the final data recognition model. 
     At least one of the data acquire  810 - 1 , the pre-processor  810 - 2 , the learning data selector  810 - 3 , the model learner  810 - 4 , or the model evaluator  810 - 5  described above may be implemented as a software module or manufactured in the form of at least one hardware chip and mounted on the electronic device. For example, at least one of the data acquirer  810 - 1 , the pre-processor  810 - 2 , the learning data selector  810 - 3 , the model learner  810 - 4 , or the model evaluator  810 - 5  may also be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be manufactured as a portion of an existing general-purpose processor (e.g., CPU or application processor) or a graphic dedicated processor (e.g., GPU) and mounted on a variety of electronic devices described above. 
     In addition, the data acquirer  810 - 1 , the pre-processor  810 - 2 , the learning data selector  810 - 3 , the model learner  810 - 4 , and the model evaluator  810 - 5  may also be mounted on one electronic device, or may also be mounted on each of the separate electronic devices. For example, some of the data acquirer  810 - 1 , the pre-processor  810 - 2 , the learning data selector  810 - 3 , the model learner  810 - 4 , and the model evaluator  810 - 5  may be included in the electronic device, and the remaining may be included in the server. 
     In addition, at least one of the data acquirer  810 - 1 , the pre-processor  810 - 2 , the learning data selector  810 - 3 , the model learner  810 - 4 , or the model evaluator  810 - 5  may be implemented as a software module. When at least one of the data acquirer  810 - 1 , the pre-processor  810 - 2 , the learning data selector  810 - 3 , the model learner  810 - 4 , or the model evaluator  810 - 5  is implemented as the software module (or a program module including instructions), the software module may be stored in a non-transitory computer readable medium. In addition, in this case, at least one software module may be provided by an operating system (OS), or may be provided by a predetermined application. Alternatively, a portion of at least one software module may be provided by the OS, and the remaining of the software module may be provided by the predetermined application. 
       FIG. 10  is a block diagram of the data recognizer  820  according to some embodiments. 
     Referring to  FIG. 10 , the data recognizer  820  according to some embodiments may include a data acquirer  820 - 1  and a recognition result provider  820 - 4 . In addition, the data recognizer  820  may selectively further include at least one of a pre-processor  820 - 2 , a recognition data selector  820 - 3 , or a model updater  820 - 5 . 
     The data acquirer  820 - 1  may acquire the user data as recognition data. At this time, the recognition data may include voice data generated from natural language spoken by the user through the microphone according to the disclosure. Alternatively, the recognition data may include movement data of the user captured by the camera. Alternatively, the recognition data may include sensing data detected through various sensors. For example, the recognition data may include data on the presence or absence of the user detected through the infrared sensor, include data related to a physical contact with the user detected through the pressure sensor, or include ambient illumination or humidity data detected through the illumination sensor or humidity sensor. 
     Meanwhile, the data acquirer  810 - 1  of the data learner  810  and the data acquirer  820 - 1  of the data recognizer  820  may be formed of different components, but are not limited thereto. That is, the data acquirer  210 - 1  of the data learner  810  and the data acquirer  820 - 1  of the data recognizer  820  may also be formed of one component. 
     The recognition result provider  820 - 4  may determine the clustering or the determination of the reaction of the robot  100  by applying the data acquired by the data acquirer  820 - 1  as an input value to the learned data recognition model. The recognition result provider  820 - 4  may provide a recognition result according to a recognition purpose of the data. In addition, the recognition result provider  820 - 4  may provide a recognition result acquired by applying data which is pre-processed by a pre-processor  820 - 2  to be described later as an input value to the learned data recognition model. In addition, the recognition result provider  820 - 4  may provide the recognition result by applying data selected by a recognition data selector  820 - 3  to be described later as an input value to the data recognition model. 
     The data recognizer  820  may further include a pre-processor  820 - 2  and a recognition data selector  820 - 3  to improve the recognition result of the data recognition model or to save resources or time required for providing the recognition result. 
     The pre-processor  820 - 2  may pre-process the data acquired by the data acquirer  820 - 1  for using in recognition for clustering or determination of the reaction of the robot  100 . 
     The pre-processor  820 - 2  may process the acquired data into a predefined format so that the recognition result provider  820 - 4  may easily use the data for clustering or determination of the reaction of the robot  100 . In particular, according to an embodiment of the disclosure, the data acquire  820 - 1  may acquire user data (voice data or image data) for clustering or determination of the reaction of the robot  100 , and he pre-processor  820 - 2  may perform the pre-processing into the predefined format as described above. 
     Meanwhile, the pre-processor  810 - 2  of the data learner  810  and the pre-processor  820 - 2  of the data recognizer  820  may be formed of different components, but are not limited thereto. That is, the pre-processor  810 - 2  of the data learner  810  and the pre-processor  820 - 2  of the data recognizer  820  may also be formed of one component. 
     The recognition data selector  820 - 3  may select recognition data necessary for clustering or determination of the reaction of the robot  100  from the pre-processed data. The selected recognition data may be provided to the recognition result provider  820 - 4 . The recognition data selector  820 - 3  may select recognition data necessary for clustering or determination of the reaction of the robot  100  from the pre-processed data according to a predetermined selection criterion. In addition, the recognition data selector  820 - 3  may also select the data according to a predetermined selection criterion by learning by the model learner  810 - 4  described above. 
     Meanwhile, the learning data selector  810 - 3  of the data learner  810  and the learning data selector  820 - 3  of the data recognizer  820  may be formed of different components, but are not limited thereto. That is, the learning data selector  810 - 3  of the data learner  810  and the learning data selector  820 - 3  of the data recognizer  820  may also be formed of one component. 
     The model updater  820 - 5  may control the data recognition model to be updated based on the evaluation for the recognition result provided by the recognition result provider  820 - 4 . For example, the model updater  820 - 5  may control the model learner  810 - 4  to update the data recognition model by providing the recognition result provided by the recognition result provider  820 - 4  to the model learner  810 - 4 . 
     At least one of the data acquire  820 - 1 , the pre-processor  820 - 2 , the recognition data selector  820 - 3 , the recognition result provider  820 - 4 , or the model updater  820 - 5  in the data recognizer  820  described above may be implemented as a software module or manufactured in the form of at least one hardware chip and mounted on the electronic device. For example, at least one of the data acquirer  820 - 1 , the pre-processor  820 - 2 , the learning data selector  820 - 3 , the recognition result provider  820 - 4 , or the model updater  820 - 5  may also be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be manufactured as a portion of an existing general-purpose processor (e.g., CPU or application processor) or a graphic dedicated processor (e.g., GPU) and mounted on a variety of electronic devices described above. 
     In addition, the data acquire  820 - 1 , the pre-processor  820 - 2 , the recognition data selector  820 - 3 , the recognition result provider  820 - 4 , and the model updater  820 - 5  may also be mounted on one electronic device, or may also be mounted on each of the separate electronic devices. For example, some of the data acquirer  820 - 1 , the pre-processor  820 - 2 , the recognition data selector  820 - 3 , the recognition result provider  820 - 4 , and the model updater  820 - 5  may be included in the electronic device, and the remaining may be included in the server. 
     In addition, at least one of the data acquirer  820 - 1 , the pre-processor  820 - 2 , the recognition data selector  820 - 3 , the recognition result provider  820 - 4 , or the model updater  820 - 5  may be implemented as a software module. When at least one of the data acquirer  820 - 1 , the pre-processor  820 - 2 , the recognition data selector  820 - 3 , the recognition result provider  820 - 4 , or the model updater  820 - 5  is implemented as the software module (or a program module including instructions), the software module may be stored in a non-transitory computer readable medium. In addition, in this case, at least one software module may be provided by an operating system (OS), or may be provided by a predetermined application. Alternatively, a portion of at least one software module may be provided by the OS, and the remaining of the software module may be provided by the predetermined application. 
       FIG. 11  is a diagram illustrating an example in which the robot  100  and a server  1100  interlock with each other to learn and recognize data, according to an embodiment of the disclosure. 
     Referring to  FIG. 11 , the server  1100  may learn a criterion for clustering or determination of the reaction of the robot  100 , and the robot  100  may determine the clustering or the determination of the reaction of the robot  100  based on a learning result by the server  100 . 
     In this case, the model learner  810 - 4  of the server  1100  may learn criteria regarding what data to use to determine the clustering or the determination of the reaction of the robot  100  and regarding how to determine the clustering or the determination of the reaction of the robot  100  using data. The model learner  810 - 4  may learn the criterion for clustering or determination of the reaction of the robot  100  by acquiring data to be used for learning and applying the acquired data to a data recognition model to be described later. 
     In addition, the recognition result provider  820 - 4  of the robot  100  may determine the clustering or the determination of the reaction of the robot  100  by applying the data selected by the recognition data selector  820 - 3  to the data recognition model generated by the server  1100 . Specifically, the recognition result provider  820 - 4  may request to determine the clustering or the determination of the reaction of the robot  100  by transmitting the data selected by the recognition data selector  820 - 3  to the server  1100  and applying the data selected by the recognition data selector  820 - 3  to the recognition model by the server  1100 . In addition, the recognition result provider  820 - 4  may receive information about the clustering or the determination of the reaction of the robot  100  determined by the server  1100  from the server  1100 . For example, when the user data is transmitted to the server  1100  by the recognition data selector  820 - 3 , the server  1100  may transmit information on the clustering or the determination of the reaction of the robot  100  to the robot  100  by applying the user data to a pre-stored data recognition model. 
     Alternatively, the recognition result provider  820 - 4  of the robot  100  may receive the recognition model generated by the server  1100  from the server  1100 , and may determine the clustering or the determination of the reaction of the robot  100  using the received recognition model. In this case, the recognition result provider  820 - 4  of the robot  100  may determine the clustering or the determination of the reaction of the robot  100  by applying the data selected by the recognition data selector  820 - 3  to the data recognition model received from the server  1100 . For example, the robot  100  may determine the information on the clustering or the determination of the reaction of the robot  100  by receiving and storing the data recognition model from the server  1100  and applying the user data selected by the recognition data selector  820 - 3  to the data recognition model received from the server  1100 . 
       FIGS. 12A and 12B  are flowcharts of the robot using the data recognition model according to an embodiment of the disclosure. 
     First, in  FIG. 12A , the robot  100  may acquire user data related to at least one user (S 1210 ). At this time, the user data may include data (user motion, voice, body temperature information, etc.) directly related to the user, as well as data (humidity, illuminance, temperature, or data about other users) related to a user&#39;s surrounding environment. 
     The robot  100  may learn a user state for each of the at least one user by using the at least one acquired user data as learning data (S 1220 ). As an example, the user data may be data corresponding to either user motion or user voice, and the user state may be a user&#39;s emotional state. At this time, the learned user state may be the clustered user state as described above. 
     Meanwhile, the robot  100  may determine a representative reaction corresponding to the learned user state on the basis of the user data related to the at least one user (S 1230 ). As an example, the robot  100  may determine the representative reaction corresponding to the user emotion on the basis of at least one of the user motion or the user voice. Specifically, the robot  100  may determine a representative reaction for each of at least one generated cluster. That is, when the representative reaction is a representative motion related to the user motion, the robot  100  may acquire skeleton data for one user data among the user data included in the cluster, and acquire a motion corresponding to the acquired skeleton data as a representative motion of the corresponding cluster. Alternatively, when the representative reaction is a representative voice related to the user voice, the robot  100  may acquire audio data for one user data among the user data included in the cluster, and acquire a voice corresponding to the acquired audio data as a representative voice of the corresponding cluster. 
     When user data related to a first user among the at least one user is acquired as input data, the robot  100  may determine a user state of the first user on the basis of the input data, and output a reaction corresponding to a representative reaction on the basis of the representative reaction corresponding to the determined user state (S 1240 ). At this time, the reaction output by the robot  100  may be various, such as a motion, a voice, a facial expression, and an information transfer. At this time, the robot  100  may output the same reaction as the representative reaction corresponding to the user state. Alternatively, when the robot  100  may not output the same reaction as the representative reaction corresponding to the user state due to the structure of the robot  100 , the robot  100  may output only a portion that may be mimicked by the robot  100  among representative reactions corresponding to the user state according to the structure of the robot  100 . 
     Meanwhile, as illustrated in  FIG. 12B , the robot  100  according to the disclosure may perform the operation of  FIG. 12A  using an artificial intelligence model. Specifically, as illustrated in  FIG. 12B , the robot  100  may acquire user data related to at least one user (S 1250 ). At this time, the user data may include data (user motion, voice, biometric information, etc.) directly related to the user, as well as data (humidity, illuminance, temperature, or data about other users) related to a user&#39;s surrounding environment. 
     The robot  100  may learn a user state for each of the at least one user by applying the acquired user data related to the at least one user as learning data to a data recognition model (S 1260 ). As an example, the user data may be data corresponding to either user motion or user voice, and the user state may be a user&#39;s emotional state. At this time, the learned user state may be the clustered user state as described above. 
     Meanwhile, the robot  100  may determine a representative reaction corresponding to the learned user state on the basis of the user data related to the at least one user (S 1270 ). As an example, the robot  100  may determine a representative reaction corresponding to the user emotion on the basis of at least one of the user motion or the user voice. Specifically, the robot  100  may determine a representative reaction for each of at least one generated cluster. That is, when the representative reaction is a representative motion related to the user motion, the robot  100  may acquire skeleton data for one user data among the user data included in the cluster, and acquire a motion corresponding to the acquired skeleton data as a representative motion of the corresponding cluster. Alternatively, when the representative reaction is a representative voice related to the user voice, the robot  100  may acquire audio data for one user data among the user data included in the cluster, and acquire a voice corresponding to the acquired audio data as a representative voice of the corresponding cluster. 
     When user data related to a first user among the at least one user is acquired as input data, the robot  100  may determine a user state of the first user by applying the input data to the data recognition model, and output a reaction corresponding to a representative reaction on the basis of the representative reaction corresponding to the determined user state (S 1280 ). At this time, the reaction output by the robot  100  may be various, such as a motion, a voice, an expression, and an information transfer. At this time, the robot  100  may output the same reaction as the representative reaction corresponding to the user state. Alternatively, when the robot  100  may not output the same reaction as the representative reaction corresponding to the user state due to the structure of the robot  100 , the robot  100  may output only a portion that may be mimicked by the robot  100  among representative reactions corresponding to the user state according to the structure of the robot  100 . 
       FIGS. 13A and 13B  are flowcharts of a network system using the data recognition model according to an embodiment of the disclosure. 
     In  FIGS. 13A and 13B , a network system using the data recognition model may include a first component  1301 , a second component  1302 , and a third component  1303 . 
     As an example, the first component  1301  may be the robot  100 , and the second component  1302  may be the server  1100  in which the data recognition model is stored. At this time, the third component  1303  may be another server in which a data recognition model separate from the server  1100  is stored. Alternatively, the first component  1301  may be a general-purpose processor, and the second component  1302  and the third component  1303  may be an artificial intelligence dedicated processor. Alternatively, the first component  1301  may be at least one application, and the second component  1302  and the third component  1303  may be an operating system (OS). That is, the second component  1302  and the third component  1303  are components that are more integrated, dedicated, have dominated performance, or have more resources than the first component  1301 , and may be components capable of processing many calculations that are required at the time of generating, updating, or applying the data recognition model faster and more efficiently than the first component  1301 . 
     In this case, an interface for transmitting/receiving data between the first component  1301 , the second component  1302 , and the third component  1303  may be defined. 
     As an example, an application program interface (API) having learning data to be applied to the data recognition model as an argument value (or an intermediate value or a transfer value) may be defined. The API may be defined as a set of subroutines or functions that may be called for any processing of another protocol (e.g., a protocol defined in the server  1100 ) in any one protocol (e.g., a protocol defined in the robot  100 ). That is, an environment in which an operation of another protocol may be performed in any one protocol through the API may be provided. 
     According to an embodiment of the disclosure, as illustrated in  FIG. 13A , the first component  1301  may acquire user data related to at least one user (S 1305 ). 
     The first component  1301  may transmit the acquired user data to the second component  1302  (S 1310 ). For example, when the first component  1301  calls an API function and inputs information on the user data as a data argument value, the API function may transmit the information on the user data to the second component  1302  as recognition data to be applied to the data recognition model. 
     The second component  1302  may learn a user state for each of the at least one user by applying the acquired user data related to the at least one user as learning data to the data recognition model (S 1315 ). In this case, the meaning of learning the user state may mean classifying and clustering the learning data. 
     The second component  1302  may transmit the learned data to the first component  1301  (S 1320 ). 
     The first component  1301  may determine a representative reaction corresponding to the learned user state on the basis of the user data related to the at least one user (S 1325 ). Specifically, the robot  100  may determine a representative reaction for each of at least one generated cluster. That is, when the representative reaction is a representative motion related to the user motion, the robot  100  may acquire skeleton data for one user data among the user data included in the cluster, and acquire a motion corresponding to the acquired skeleton data as a representative motion of the corresponding cluster. Alternatively, when the representative reaction is a representative voice related to the user voice, the robot  100  may acquire audio data for one user data among the user data included in the cluster, and acquire a voice corresponding to the acquired audio data as a representative voice of the corresponding cluster. 
     On the other hand, independently of the S 1320  and S 1325 , when the user data related to the first user among at least one user is acquired as the input data, the second component  1302  may determine the user state of the first user by applying the input data to the data recognition model (S 1330 ). At this time, the input data may be the user data related to at least one user acquired in S 1305 . 
     The second component  1302  may transmit the user state data determined in S 1330  to the first component  1301  (S 1335 ), and the first component  1301  may output a reaction corresponding to the representative reaction on the basis of the representative reaction corresponding to the determined user state (S 1340 ). 
     Meanwhile, the operation of the second component  1302  in  FIG. 13A  may include the operation of the second component  1302  and the operation of the third component  1303  in  FIG. 13B . That is, in  FIG. 13A , the second component  1302  is configured as one server to perform all operations, but in  FIG. 13B , the operation of the second component  1302  and the third component  1303  are configured as separate independent servers to perform the operations. 
     Specifically, as illustrated in  FIG. 13B , the first component  1301  may acquire user data related to at least one user (S 1345 ). 
     The first component  1301  may transmit the acquired user data to the second component  1302  (S 1350 ). In addition, the first component  1301  may transmit the acquired user data to the third component  1303  (S 1355 ). 
     The second component  1302  may learn a user state for each of the at least one user by applying the acquired user data related to the at least one user as learning data to the data recognition model (S 1360 ). In this case, the meaning of learning the user state may mean classifying and clustering the learning data. 
     The second component  1302  may transmit the learned data to the first component  1301  (S 1365 ). 
     The first component  1301  may determine a representative reaction corresponding to the learned user state on the basis of data related to the at least one user (S 1370 ). Specifically, the robot  100  may determine a representative reaction for each of at least one generated cluster. That is, when the representative reaction is a representative motion related to the user motion, the robot  100  may acquire skeleton data for one user data among the user data included in the cluster, and acquire a motion corresponding to the acquired skeleton data as a representative motion of the corresponding cluster. Alternatively, when the representative reaction is a representative voice related to the user voice, the robot  100  may acquire audio data for one user data among the user data included in the cluster, and acquire a voice corresponding to the acquired audio data as a representative voice of the corresponding cluster. 
     On the other hand, when the user data related to the first user among at least one user is acquired as the input data, the third component  1303  may determine the user state of the first user by applying the input data to the data recognition model (S 1375 ). At this time, the input data may be the user data related to at least one user acquired in S 1345 . 
     The third component  1303  may transmit the user state data determined in S 1375  to the first component  1301  (S 1380 ), and the first component  1301  may output a reaction corresponding to the representative reaction on the basis of the representative reaction corresponding to the determined user state (S 1385 ). 
     Hereinafter, diverse embodiments of the disclosure will be described with reference to  FIGS. 14A to 17B . 
     In the above-described embodiment, the process in which the robot  100  performs the operation corresponding to the user data has been mainly described, but the robot  100  may output various reactions to the user data in addition to performing the operation corresponding to the user data. 
     Specifically, the robot  100  may learn the data recognition model to acquire the user state by inputting the user data into the data recognition model as learning data. When the user data is applied to the learned data recognition model as input data, the robot  100  may determine a reaction to be output with respect to the input data. 
     For example, the user data may be learning data including a user behavior or a user&#39;s facial expression, and the user state may be a user habit. In this case, the robot  100  may acquire information on the user habit by analyzing the user data. Specifically, the robot  100  may learn the data recognition model to acquire the information on the user habit by inputting the user data including the user behavior or facial expression into the data recognition model as the learning data. When the data for the user habit is applied to the data recognition model as input data, the learned robot  100  may determine a reaction to be output with respect to the input data. 
     As an example, as illustrated in  FIG. 14A , if a user has a habit of turning on particular user&#39;s peripherals (e.g., an air purifier and an air conditioner) when returning home after going out, the robot  100  may learn the user&#39;s habit. When the data for the user habit is applied to the learned data recognition model as input data, the learned robot  100  may determine a reaction to be output with respect to the input data. For example, the learned robot  100  may turn on the air purifier and the air conditioner itself when the user returns home after going out. At this time, the robot  100  may control the air purifier and the air conditioner in consideration of user&#39;s surrounding information (e.g., current temperature, season, humidity, etc.). 
     As another example, as illustrated in  FIG. 14B , if a user has a habit of turning on a TV when sitting on a couch, or has a habit of performing a specific action (e.g., housework) at a specific time (e.g., 5 o&#39;clock), the robot  100  may learn the user&#39;s habit. When the data for the user habit is applied to the learned data recognition model as input data, the learned robot  100  may determine a reaction to be output with respect to the input data. For example, the learned robot  100  may turn on the TV when the user sits on the couch. Alternatively, at five o&#39;clock, the robot  100  may do the housework before the user does the housework. 
     As still another example, as illustrated in  FIG. 14C , if the user has a habit of turning off the TV before going to sleep, the robot  100  may learn the user&#39;s habit. The learned robot  100  may turn off the TV when the user falls asleep while watching TV. 
     As still another example, the robot  100  may analyze user data for a user&#39;s interests and knowledge level and have a conversation with the user. 
     For example, as illustrated in  FIG. 15A , when the user has a conversation with another user about AI or drone, the robot  100  may acquire information on a user&#39;s interest field on the basis of voice data included in the user&#39;s conversation as the user data. Specifically, the robot  100  may learn the data recognition model to acquire the information on the user&#39; interest field by inputting the voice data included in the user&#39;s conversation into the data recognition model as input data. 
     When the data for the user&#39;s interests and knowledge level is applied to the data recognition model as the input data, the robot  100  may determine a reaction to be output with respect to the input data. For example, the learned robot  100  may have a conversation with the user on the subject of AI, drone, and the like on the basis of the learned data, for example, when the user is determined to be bored. At this time, the robot  100  may proceed with the conversation according to a user&#39;s intellectual level. That is, the robot  100  may analyze the user&#39;s intellectual level from the user&#39;s conversation data, and may have a conversation with the user with content corresponding to the user&#39;s intellectual level. 
     As still another example, as illustrated in  FIG. 15B , when the user is watching content (e.g., a drama), the robot  100  may acquire information on the user&#39;s interest field on the basis of the content that the user is watching, as the user data. In this case, the robot  100  may learn the content itself (i.e., video and audio output through a TV) that the user is watching, or may also learn the content by using data about the content that the user is watching (that is, receiving data related to content such as an electronic program guide (EPG) from a server in which the content is stored). Thereafter, when the user is watching the next episode of the watched content, the user may not be able to remember the content of the previously watched content. At this time, the robot  100  may have a conversation with the user on a subject that the user does not remember. 
     As still another example, the robot  100  may output different reactions in the same or similar situation depending on an interaction with the user. 
     For example, as described with reference to  FIG. 7 , the robot  100  may output different reactions to the same or similar situation depending on the character of the robot  100  formed according to the user interaction. Specifically, the robot  100  may learn the data recognition model to acquire the character of the robot according to the user data by inputting data on the number N of interactions with the user, user reward R, and service completion rate C into the data recognition model as the user data. Specifically, as illustrated in  FIG. 16A , the robot  100  may learn the data recognition model to acquire the user state by inputting data on a behavior that the user is angry with the robot itself into the data recognition model as the user data. When the user data is applied to the learned data recognition model as input data, the robot  100  may determine a reaction to be output with respect to the input data. For example, when the user is usually angry with the robot  100  a lot, the robot  100  may acquire a timid character on the basis of on the user data. When the user data for the number N of interactions with the user, the user reward, and the service completion rate C is input to the data recognition model as the input data, the learned robot  100  may determine a reaction to be output with respect to the input data. For example, when the user asks a question to the robot  100 , which has been carefully learned, the robot  100  may provide only minimal information about the user&#39;s question. 
     Alternatively, as illustrated in  FIG. 16B , when the user usually devotes much affection to the robot  100 , the robot  100  may acquire a confident character on the basis of on the user data. When the user data for the number N of interactions with the user, the user reward R, and the service completion rate C is input to the data recognition model as the input data, the learned robot  100  may determine a reaction to be output with respect to the input data. For example, when the user asks a question to the confident robot  100 , the robot  100  may provide various related information beyond providing information about the user&#39;s question. 
     As still another example, the robot  100  may learn the data recognition model to acquire the user state by inputting user data related to a user&#39;s schedule into the data recognition model as learning data. When the user data is applied to the learned data recognition model as input data, the robot  100  may determine a reaction to be output with respect to the input data. For example, the robot  100  may learn user data related to the user&#39;s schedule and provide a schedule to the user. 
     For example, as illustrated in  FIG. 17A , when the user hurriedly leaves home around 08:00 every morning, the robot  100  may learn the user state by inputting the user&#39;s schedule (leave the house at 08:00 in the morning) and a user&#39;s emotional state (busy, impatient, etc.) into the data recognition model as learning data. When the data for the user&#39;s schedule is applied to the data recognition model as input data, the learned robot  100  may determine a reaction to be output with respect to the input data. For example, the learned robot  100  may provide information related to the user&#39;s schedule of the day to the user on the basis of the learned user&#39;s schedule and user&#39;s emotional state. 
     Alternatively, as illustrated in  FIG. 17B , when the user returns to home around 08:00 every evening and gets tired, the robot  100  may learn the user state by inputting the user&#39;s schedule (returning to home at 08:00 in the evening) and the user&#39;s emotional state (fatigue, tiredness, etc.) into the data recognition model as learning data. The robot  100  may provide a user&#39;s favorite music or content to the user on the basis of the learned user&#39;s schedule and user&#39;s emotional state. 
     As still another example, the robot  100  may learn a relationship between a user (owner) and other users and output various reactions to other users. Specifically, the robot  100  may learn the data recognition model to acquire a user state (a user state related to the relationship with other users) by inputting user data related to the relationship between the user (owner) and other users into the data recognition model as learning data. When the user data is applied to the learned data recognition model as input data, the robot  100  may determine a reaction to be output with respect to the input data. 
     For example, as illustrated in  FIG. 18A , when the user (owner) is always angry with other users, the robot  100  may learn a user state for an attitude of the user (owner) with respect to other users. At this time, when the data for the relationship between the user (owner) and other users is applied to the learned data recognition model as input data, the learned robot  100  may determine a reaction to be output with respect to the input data. For example, when the learned robot  100  receives data of other users, the robot  100  may output a negative reaction to other users. 
     Alternatively, as illustrated in  FIG. 18B , when the user (owner) always gives affection to other user, the robot  100  may learn a user state for an attitude of the user (owner) with respect to other users. At this time, when the robot  100  receives data of other users, the robot  100  may output a positive reaction to other users. 
     In addition to the above-described examples, the robot  100  may learn various user data. As an example, the robot  100  may learn an operation for each emotion of the user, or may learn a user&#39;s habitual behavior. As another example, the robot  100  may learn a language such as a specific expression, a word usage pattern, and an emphasis word frequently used by the user. As still another example, the robot  100  may learn sound (e.g., user audible frequency sound) that the user mainly reacts, age-specific sound (sound of infants, children, adolescents, and the elderly), loudness of sound, and pitch of sound. As another example, the robot  100  may learn a user&#39;s peripheral usage pattern with respect to the peripheral used by the user. As another example, the robot  100  may learn data such as a user&#39;s schedule, a busy level of the schedule, and a stress level according to the schedule. As still another example, the robot  100  may learn data on a user&#39;s interest field, a user&#39;s intellectual level, and contents (e.g., foreign language words) that the user frequently forgets. As still another example, the robot  100  may learn about a user&#39;s surrounding relationship and intimacy of the relationship. 
     On the other hand, even if all components constituting the embodiments of the disclosure are described as being combined or operated as one, the invention is not necessarily limited to these embodiments. That is, within the scope of the disclosure, all of the components may be selectively combined in one or more and operated. In addition, all of the components may be implemented by one independent hardware, respectively, but may be implemented as a computer program having a program module in which some or all of the components are selectively combined to perform some or all of functions combined in one or a plurality of hardware. 
     At least a portion of a device (e.g., modules or functions thereof) or a method (e.g., operations) according to diverse embodiments may be implemented with instructions stored in a non-transitory computer readable media in the form of a program module. When the instructions are executed by a processor (e.g., the processor  130 ), the processor may perform functions corresponding to the instructions. 
     Here, the program is stored in a non-transitory recording medium that may be read by a computer, and is read and executed by the computer, thereby implementing the embodiments of the disclosure. 
     Here, the non-transitory readable recording medium means a medium that stores data semi-permanently and that may be read by a device, and includes registers, caches, buffers, and the like, and does not include a transmission medium such as a signal or a current. 
     Specifically, the programs described above may be stored and provided on a non-transitory readable recording medium such as a CD, a DVD, a hard disk, a Blu-ray disk, a USB, an internal memory (e.g., the memory  150 ), a memory card, a ROM or a RAM. 
     In addition, the method according to the disclosed embodiments may be provided as a computer program product. 
     The computer program product may include an S/W program, a computer readable storage medium on which the S/W program is stored, or a product traded between a seller and a buyer. 
     For example, the computer program product may include an electronic device or a product (e.g., a downloadable app) in the form of an S/W program that is electronically distributed through an electronic device manufacturer or an electronic market (e.g., Google Play Store, App Store). For electronic distribution, at least a part of the S/W program may be stored in a storage medium or temporarily generated. In this case, the storage medium may be a server of the manufacturer or the electronic market, or a storage medium of a relay server. 
     Although the embodiments of the disclosure have been illustrated and described above, the disclosure is not limited to the above-described specific embodiments and may be variously modified by those skilled in the art without departing from the gist of the disclosure as claimed in the claims, and such modifications should not be individually understood from the technical spirit or the prospect of the disclosure.