Robot control device and control method
The robot control device provides personalized guidance by analyzing user input and matching it with candidate vectors, addressing inefficiencies in standardized guidance and database management, thereby improving user engagement and operational efficiency.
Patent Information
- Application Number
- JP2024172451
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-29
- Filing Date
- 2024-10-01
- Publication Date
- 2025-10-14
AI Technical Summary
Existing service robots provide generalized and standardized guidance, requiring frequent database updates, leading to inefficiency and reduced user engagement.
A robot control device and method that utilizes a processor to analyze user input, extract feature vectors, and provide personalized guidance by matching input sentences with candidate vectors based on a database, incorporating language translation, keyword extraction, and similarity scoring.
Enables personalized guidance, improves user convenience, and allows for standardized data management in the database, enhancing user engagement and operational efficiency.
Smart Images

Figure 2025155596000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a robot control device and a control method thereof, and more particularly to a technique for providing a user with a personalized guide menu. [Background technology]
[0002] Generally, when a user wishes to purchase or maintain a vehicle, the user may visit a showroom or repair shop such as a vehicle dealership and / or a motor studio to check what the user is interested in. Specifically, the service robot may provide guidance to the object of the user's interest.
[0003] However, the service robot provides guidance to the user with mostly general and standardized content. Furthermore, the service robot must set up a new classification policy to store new information in the database every time it receives new information.
[0004] Due to the operation of such a service robot, users may waste time and lose interest through uniformly classified guidance. Also, a provider providing guidance through a service robot may reduce cost-effectiveness by setting a new classification policy in a database to manage new information.
[0005] To solve these technical problems, it is necessary to develop a technology that provides personalized guidance to users and a technology that manages data in a database according to a standardized policy. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Japanese Patent Publication No. 2023-18893 Summary of the Invention [Problem to be solved by the invention]
[0007] The present invention has been made in consideration of the above-mentioned problems, and an object of the present invention is to provide a robot control device and a control method thereof that provide personalized guidance to a user. [Means for solving the problem]
[0008] In order to achieve the above object, one aspect of the present invention provides a robot control device comprising: a memory storing computer-executable instructions; and at least one processor that accesses the memory and executes the instructions. The at least one processor, upon identifying an input sentence containing a user's request, acquires a feature vector from the input sentence for providing a service to the user based on the input sentence; acquires a score for the candidate vector based on the feature vector and a candidate vector stored in a predetermined database; and, upon determining a target vector based on the score of the candidate vector, provides a target service, which is a service based on the input sentence paired with the target vector.
[0009] In one embodiment, the at least one processor performs translation of the language of the input sentence by translating the language of the input sentence into the target language based on the language of the input sentence being not a predetermined target language, obtains at least one keyword from the input sentence by removing stopwords from the input sentence, and obtains target keywords of the input sentence from the first service table based on a first service table for the at least one keyword and synonym mapping. In one embodiment, the at least one processor obtains guidance sentences corresponding to the target keywords based on a second service table related to service mapping, and applies the guidance sentences to a feature extraction model trained to extract sentence features to obtain the feature vectors. In one embodiment, the at least one processor performs word tokenization from a corpus including a document including at least one sentence to obtain a token, determines a first frequency value of the token based on the corpus, the first frequency value being related to the frequency at which the token is included in the corpus (term frequency), determines a second frequency value of the token based on the corpus, the second frequency value being related to the frequency at which the token is included in the document (inverse document frequency), determines a target weight value of the token based on the first frequency value and the second frequency value, and determines the candidate vector of the sentence including the token based on the target weight value of the token. In one embodiment, the at least one processor obtains a score for the candidate vector by applying the feature vector and the candidate vector to a score calculation model trained to extract a score for similarity based on a Euclidean scalar product. In one embodiment, the at least one or more processors identify at least one or more vectors from the database in which the candidate vectors are stored, obtain a score for each of the at least one or more vectors based on the feature vector and each of the at least one or more vectors, and determine the target vector based on the score for each of the at least one or more vectors and a predetermined score. In one embodiment, the at least one processor determines an output vector group including the target vectors that exceed the predetermined score by comparing the scores of each of the at least one vector with a predetermined score, and provides a service paired with each vector included in the output vector group. In one embodiment, the at least one processor, based on identifying an additional input sentence containing an additional requirement of the user after identifying the input sentence, acquires an additional feature vector from the additional input sentence, acquires a score for the candidate vector based on the additional feature vector and the candidate vector, and provides a service using the additional input sentence paired with the target vector based on the target vector being determined via the score of the candidate vector. In one embodiment, the at least one processor pairs the feature vector with a service according to the input sentence and stores the service according to the input sentence paired with the feature vector in the database.
[0010] In order to achieve the above object, according to one aspect of the present invention, a robot control method for a robot control device executed by at least one processor includes the steps of: acquiring a feature vector from the input sentence based on identifying an input sentence containing a user's request, for providing a service to the user based on the input sentence; acquiring a score for the candidate vector based on the feature vector and a candidate vector stored in a predetermined database; and providing a target service, which is a service based on the input sentence paired with the target vector, based on the target vector being determined through the score of the candidate vector.
[0011] In one embodiment, the step of obtaining the feature vector includes: performing a translation of the language of the input sentence by translating the language of the input sentence into the target language based on the language of the input sentence being different from a predetermined target language; obtaining at least one keyword from the input sentence by performing stopword removal of the input sentence; and obtaining target keywords of the input sentence from the first service table based on a first service table regarding the at least one keyword and synonym mapping. In one embodiment, the step of obtaining the feature vector includes the steps of obtaining a guidance sentence corresponding to the target keyword based on a second service table related to service mapping, and obtaining the feature vector by applying the guidance sentence to a feature extraction model trained to extract sentence features. In one embodiment, obtaining a score for the candidate vector includes: obtaining a token by performing word tokenization from a corpus including a document including at least one sentence; determining a first frequency value for the token based on the corpus, the first frequency value being related to a frequency at which the token is included in the corpus (term frequency); determining a second frequency value for the token based on the corpus, the second frequency value being related to a frequency at which the token is included in the document (inverse document frequency); determining a target weight for the token based on the first frequency value and the second frequency value; and determining the candidate vector for the sentence including the token based on the target weight for the token. In one embodiment, obtaining a score for the candidate vector includes applying the feature vector and the candidate vector to a score calculation model trained to extract a score related to similarity based on a Euclidean scalar product to obtain a score for the candidate vector. In one embodiment, the step of providing the target service includes the steps of identifying at least one or more vectors from the database in which the candidate vectors are stored, obtaining a score for each of the at least one or more vectors based on the feature vector and each of the at least one or more vectors, and determining the target vector based on the score for each of the at least one or more vectors and a predetermined score. In one embodiment, the step of providing the target service includes a step of determining an output vector group including the target vectors that exceed a predetermined score by comparing the score of each of the at least one vector with a predetermined score, and a step of providing a service paired with each vector included in the output vector group. In one embodiment, the step of providing the target service includes the steps of: acquiring an additional feature vector from the additional input sentence based on identifying an additional input sentence containing additional requirements of the user after identifying the input sentence; acquiring a score for the candidate vector based on the additional feature vector and the candidate vector; and providing a service using the additional input sentence paired with the target vector based on the target vector being determined via the score of the candidate vector. In one embodiment, the step of providing the target service includes a step of storing the service based on the input sentence paired with the feature vector in the database by pairing the feature vector with the service based on the input sentence. [Effects of the Invention]
[0012] The effects of the robot control device and the control method thereof according to the present invention will be described below.
[0013] According to the robot control device and control method of the present invention, by providing a target service through a target vector determined from an input sentence containing a user's requirements, it is possible to provide personalized guidance to the user and increase the user's convenience.
[0014] In addition, according to the present invention, the accuracy of the operation of providing personalized guidance to the user can be increased by translating the language of the input sentence into the target language when the language of the input sentence is not a predetermined target language.
[0015] In addition, according to the present invention, by determining a candidate vector of a sentence containing a token based on the first frequency value of the token and the second frequency value of the token obtained from the corpus, data can be managed according to a standardized policy in the database.
[0016] In addition, various other effects are provided that can be grasped directly or indirectly through this specification. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a diagram illustrating a robot control device according to an embodiment of the present invention. [Figure 2] 1 is a flowchart illustrating a robot control method according to an embodiment of the present invention. [Figure 3] 10 is a flowchart illustrating a method for providing a target service in a robot control device according to an embodiment of the present invention. [Figure 4] 10 is a flowchart illustrating a method for acquiring a feature vector from an input sentence in order to provide a target service in a robot control device according to an embodiment of the present invention. [Figure 5] 10 is a flowchart illustrating a method for providing a target service from a feature vector in a robot control device according to an embodiment of the present invention. [Figure 6]10 is a flowchart illustrating a method for determining candidate vectors stored in a database in a robot control device according to an embodiment of the present invention. [Figure 7] 1 is a diagram illustrating a computer system relating to a robot control device or a robot control method according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0018] Hereinafter, specific examples of embodiments of the present invention will be described in detail with reference to the drawings.
[0019] When assigning reference numerals to components in each drawing, it should be noted that the same numerals are used for the same components whenever possible, even if they appear in different drawings. Furthermore, when describing embodiments of the present invention, if a detailed description of related known structures or functions is deemed to obscure understanding of the embodiments of the present invention, such detailed description will be omitted. In particular, various embodiments of the present invention will be described with reference to the drawings. However, this is not intended to limit the technology described herein to specific embodiments, but should be understood as including various modifications, equivalents, and / or alternatives of the embodiments of the present invention. In describing the drawings, similar reference numerals are used to refer to similar components.
[0020] When describing components of embodiments of the present invention, terms such as "first," "second," "A," "B," "(a)," and "(b)" are used. These terms are intended merely to distinguish the component from other components and do not limit the nature, order, or sequence of the components. Furthermore, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as meanings consistent with the meanings they have in the context of the relevant art, and should not be interpreted as idealized or overly formal unless expressly defined herein. For example, terms such as "first," "second," "primary," or "secondary" used herein are used to modify various components without regard to order and / or importance and to distinguish one component from other components, but do not limit the corresponding components. For example, a first user device and a second user device refer to different user devices, regardless of order or importance. For example, a first component may be named a second component, and similarly, a second component may be named instead of a first component, without departing from the scope of the invention as described herein.
[0021] In this specification, the terms "have," "can have," "include," or "can include" indicate the presence of a particular feature (e.g., a value, function, operation, or component such as a part) and do not exclude the presence of additional features.
[0022] When a component (e.g., a first component) is referred to as being "operatively or communicatively coupled with" or "connected to" another component (e.g., a second component), it should be understood that the component is directly coupled to the other component or is coupled through another component (e.g., a third component). On the other hand, when a component (e.g., a first component) is referred to as being "directly coupled with" or "directly connected to" the other component (e.g., a second component), it should be understood that there is no other component (e.g., a third component) between the component and the other component.
[0023] As used herein, the expression "configured to" may be used in place of, for example, "suitable for," "having the capacity to," "designed to," "adapted to," "made to," or "capable of," depending on the context.
[0024] The term "configured to" does not necessarily mean "specifically designed to" hardware. Instead, in some contexts, the phrase "device configured to" means that the device is "capable of" performing, in conjunction with other devices or components. For example, the phrase "a processor configured to perform A, B, and C" may refer to a dedicated processor (e.g., an embedded processor) for performing the operations, or a general-purpose processor (e.g., a CPU or application processor) that performs the operations by executing one or more software programs stored in a memory device. The terms used herein are used merely to describe particular embodiments and are not intended to limit the scope of other embodiments. The singular includes the plural unless the context clearly dictates otherwise. Terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art described herein. Among the terms used in this specification, terms defined in a general dictionary shall be interpreted to have the same or similar meaning as the meaning they have in the context of the related art, and shall not be interpreted to have an ideal or excessively formal meaning unless expressly defined in this specification. In some cases, even terms defined in this specification cannot be interpreted to exclude embodiments of the present invention.
[0025] As used herein, expressions such as "A or B," "at least one of A and / or B," or "one or more of A and / or B" include all possible combinations of the items listed together. For example, "A or B," "at least one of A and B," or "at least one of A or B" refer to all cases where (1) at least one A is included, (2) at least one B is included, or (3) both at least one A and at least one B are included. Furthermore, when describing components of embodiments of the present invention, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B, or C," "at least one of A, B, or C," and "at least one of A, B, C, or any combination thereof" each include any one of the items listed together with that phrase, or all possible combinations thereof. In particular, a phrase such as "at least one of A, B, C, or any combination thereof" includes A or B or C or combinations thereof such as AB or ABC.
[0026] Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS.
[0027] FIG. 1 is a diagram showing a robot control device according to an embodiment of the present invention.
[0028] The robot controller 100 according to this embodiment includes a processor 110 and a memory 120 that includes an instruction word 122 .
[0029] The robot control device 100 represents a device that provides personalized guidance services to users (e.g., visiting customers) via a robot located in a space that provides vehicle-related services, such as a vehicle agency.
[0030] For example, the robot controller 100 identifies at least one of a voice containing a request from a user, an input sentence containing a request, or any combination thereof. The robot controller 100 provides a target service to the user by performing at least one operation based on the identification of at least one of the voice, the input sentence, or any combination thereof. Here, the target service refers to a service based on at least one of a voice, an input sentence, or any combination thereof. However, the method by which the robot controller 100 provides a guidance menu to the user is not limited thereto. For example, the robot controller 100 may provide a personalized guidance service directly to the user via an output unit (e.g., a display or a speaker) without going through the robot.
[0031] The processor 110 executes software to control at least one other component (e.g., a hardware or software component) coupled to the processor 110. The processor 110 also performs various other data processing or calculations. For example, the processor 110 stores at least one of voice, input text, target services, or any combination thereof in the memory 120.
[0032] For reference, the processor 110 executes all operations performed by the robot controller 100. Therefore, for convenience of explanation, the operations performed by the robot controller 100 will be mainly described as operations executed by the processor 110 in this specification. Also, for convenience of explanation, the processor 110 will be mainly described as a single processor in this specification, but is not limited thereto. For example, the robot controller 100 includes at least one or more processors. Each of the at least one or more processors executes all operations related to the operation of providing a personalized guidance service.
[0033] Illustratively, the processor 110 includes a first processor 111, a second processor 113, a third processor 115, a fourth processor 117, and a communication processor 119.
[0034] The first processor 111 collects and / or identifies user data (e.g., input sentences) necessary to provide a personalized guidance service. Exemplarily, the first processor 111 collects and / or identifies user data input via a display attached to the robot or the robot control device 100.
[0035] The second processor 113 analyzes the collected and / or identified user data to determine data related to the characteristics of the user. Illustratively, the second processor 113 extracts features of the user data through data analysis techniques (e.g., natural language processing techniques).
[0036] The third processor 115 provides personalized guidance services based on the features of the user data extracted by the second processor 113. Illustratively, the third processor 115 utilizes the features of the extracted user data to provide guidance services according to the characteristics of the user.
[0037] The fourth processor 117 analyzes or manages data for providing personalized guidance services. Illustratively, the fourth processor 117 represents a processor that manages a database.
[0038] The communication processor 119 receives user data necessary for providing personalized guidance services. The communication processor 119 also provides the user with results calculated by the operations of the first processor 111 to the fourth processor 117. Exemplarily, the communication processor 119 supports communication between the robot controller 100 and the robot. For example, the communication processor 119 includes one or more components for performing communication between the robot controller 100 and the robot. For example, the communication processor 119 includes a short-range wireless communication unit, a microphone, etc. Here, short-range communication technologies include wireless LAN (Wi-Fi), Bluetooth (registered trademark), ZigBee (registered trademark), WFD (Wi-Fi Direct), UWB (ultra-wideband), infrared data association (IrDA), Bluetooth (registered trademark) Low Energy, and NFC (Near Field Communication), but are not limited thereto.
[0039] The memory 120 temporarily and / or permanently stores various data and / or information required to perform operations for providing the personalized guidance service, such as voice, input text, target services, or any combination thereof.
[0040] FIG. 2 is a flowchart illustrating a robot control method according to an embodiment of the present invention.
[0041] In step 210, the robot control device according to this embodiment (e.g., the robot control device 100 in FIG. 1) acquires a feature vector from the input sentence based on identifying the input sentence containing the user's request, for providing the user with a service based on the input sentence.
[0042] For example, the user's requirements may include services desired to be output from the robot (e.g., showroom guide service, vehicle information service, maintenance status service, restroom guide service, etc.). The feature vector represents a vector including predetermined dimensions that have the unique characteristics and characteristics of the input sentence. After identifying the input sentence, the robot control device obtains the feature vector from the feature extraction model. This will be described in detail later with reference to FIG. 3.
[0043] The robot controller, in step 220, obtains a score for the candidate vector based on the feature vector and the candidate vectors stored in a predetermined database.
[0044] For example, the robot control device identifies a candidate vector stored in a predetermined database. The candidate vector represents a vector from which features of a sentence different from the input sentence are extracted before identifying the input sentence. The robot control device compares the feature vector with the candidate vector. The robot control device obtains a score for the candidate vector by comparing the feature vector with the candidate vector. A detailed method for obtaining a score for the candidate vector will be described below with reference to FIG. 3.
[0045] In step 230, the robot control device provides a target service, which is a service according to an input sentence paired with the target vector, based on the target vector determined through the scores of the candidate vectors.
[0046] For example, the robot control device determines a candidate vector as a target vector based on whether the score of the candidate vector exceeds a predetermined score, and provides a target service to a user via the robot based on the candidate vector being determined as a target vector.
[0047] Furthermore, the robot controller may not determine a candidate vector as a target vector based on the candidate vector's score not exceeding a predetermined score, in which case the robot controller may determine the score of the vector different from the candidate vector by identifying the vector different from the candidate vector in a predetermined database (e.g., the operation described in step 220).
[0048] The robot control device stores the input sentence and the feature vector in a database based on providing the target service to the user. For example, the robot control device pairs the feature vector with the service based on the input sentence, and stores the service based on the input sentence paired with the feature vector in the database. Through this operation, the robot control device manages the database.
[0049] FIG. 3 is a flowchart illustrating a method for providing a target service in a robot control device according to an embodiment of the present invention.
[0050] A robot control device according to this embodiment (for example, the robot control device 100 in FIG. 1) identifies an input sentence in step 311. The input sentence illustratively includes a service request for a vehicle description.
[0051] The robot control device determines whether or not an additional input sentence is identified in step 313. For example, the robot control device identifies an additional input sentence that is different from the input sentence after the input sentence is identified in step 311.
[0052] In step 315, the robot control device acquires target keywords from the input sentence based on the fact that no additional input sentence is identified. For example, the target keywords represent information about the user's intention or requirements contained in the input sentence. Specifically, if the input sentence includes a service request related to a vehicle description, the robot control device acquires the description as a target keyword from the input sentence through a first service table related to synonym mapping. A detailed method for acquiring target keywords will be described below with reference to FIG. 4.
[0053] In step 317, the robot control device applies the guidance text corresponding to the target keyword to the feature extraction model to obtain a feature vector. For example, the robot control device obtains the guidance text corresponding to the target keyword based on a second service table related to service mapping. Specifically, if the input text includes a service request related to vehicle description and the target keyword is description, the robot control device obtains a text related to a service describing the vehicle in the exhibition center corresponding to the target keyword as the guidance text based on the second service table. A detailed method for obtaining the guidance text will be described below with reference to FIG. 4.
[0054] The robot controller trains a feature extraction model. Illustratively, the feature extraction model includes a neural network. The neural network includes multiple layers, each of which includes multiple nodes. The nodes have node values determined based on an activation function. Nodes in any layer are connected to nodes (e.g., other nodes) in other layers via links (e.g., connection edges) having connection weights. The node values of the nodes are propagated to other nodes via the links. In the inference operation of a neural network, node values are propagated forward from the previous layer to the next layer.
[0055] For example, a forward propagation operation in a feature extraction model refers to an operation of propagating a node value based on input data from the input layer to the output layer of the feature extraction model. That is, after a node is connected to the node via a connecting line, the node value of the corresponding node is propagated (e.g., forward propagated) to a node (e.g., a next node) in the layer. For example, a node receives a value weighted by a connection weight from a previous node (e.g., multiple nodes) connected via a connecting line.
[0056] The node value of a node is determined by applying an activation function to a weighted sum (e.g., weighted sum) of values received from previous nodes. The neural network parameters illustratively include the connection weights described above. The neural network parameters are updated so that the objective function value (described below) is changed in a targeted direction (e.g., a direction in which loss is minimized).
[0057] The trained feature extraction model refers to a model trained through machine learning, and is a trained machine learning model that outputs a training output (e.g., a feature vector of the input sentence) from a training input (e.g., a guidance sentence).
[0058] The machine learning model (e.g., the trained feature extraction model) is generated through machine learning, such as a learning algorithm including, but not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
[0059] The machine learning model includes multiple artificial neural network layers, which may be at least one combination of a deep neural network (DNN), a convolutional neural network (CNN), a U-Net for Image Segmentation (U-net), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination thereof, but are not limited to the above examples.
[0060] In the case of supervised learning, the machine learning model is trained based on training data including pairs of training inputs and training outputs mapped to the corresponding training inputs. For example, the machine learning model is trained to output training outputs from the training inputs. During training, the machine learning model generates temporary outputs in response to the training inputs and is trained to minimize the loss between the temporary outputs and the training outputs (e.g., training targets). During the training process, the parameters of the machine learning model (e.g., connection weights between nodes / layers in a neural network) are updated based on the loss. This training may be performed, for example, in the robot controller itself on which the machine learning model is executed, or via a separate server. The machine learning model (e.g., the trained feature extraction model) after training is stored in a memory (e.g., memory 120 of FIG. 1).
[0061] In step 319, the robot control device obtains a score for the candidate vector based on the feature vector and the candidate vector. For example, the robot control device performs a comparison between the feature vector and the candidate vector. Specifically, the robot control device obtains the score for the candidate vector by applying the feature vector and the candidate vector to a score calculation model trained to extract a score related to similarity based on a Euclidean scalar product. The Euclidean scalar product is calculated by the score calculation model (or the robot control device) using the following Equation 1:
[0062]
number
[0063] where A i means the feature vector, and B i denotes a candidate vector, n denotes the number of elements of the feature vector and candidate vector, and similarity denotes the similarity of the candidate vector (that is, a value obtained by quantifying the similarity between the candidate vector and the feature vector).
[0064] In step 321, the robot control device provides a target service based on the determination of the target vector through the score of the candidate vector. For example, the robot control device identifies a first vector and a second vector from a database including candidate vectors. The robot control device determines the score of the first vector and the score of the second vector through the method described in step 319. The robot control device identifies the vector with the highest score by comparing the score of the first vector, the score of the second vector, and the score of the candidate vector. Exemplarily, if the score of the candidate vector is the highest among the scores of the first vector, the score of the second vector, and the score of the candidate vector, the robot control device determines the candidate vector as the target vector. Based on the determination of the candidate vector as the target vector, the robot control device provides a target service, which is a service based on an input sentence paired with the target vector.
[0065] The robot controller accumulates the additional input sentence in metadata based on the identification of the additional input sentence in step 323. Illustratively, the metadata represents data stored in a database. Thereafter, the robot controller provides a service based on the additional input sentence in step 325.
[0066] Specifically, the robot control device acquires an additional feature vector from the additional input sentence based on identifying the additional input sentence containing a further request from the user after identifying the input sentence. The robot control device acquires a score for the candidate vector based on the additional feature vector and the candidate vector. The robot control device provides a service using the additional input sentence paired with the target vector based on the target vector being determined through the score of the candidate vector.
[0067] FIG. 4 is a flowchart illustrating a method for acquiring a feature vector from an input sentence in order to provide a target service in a robot control device according to an embodiment of the present invention.
[0068] A robot control device according to this embodiment (e.g., the robot control device 100 in FIG. 1) identifies an input sentence in step 410. However, without being limited thereto, the robot control device can identify an object including a user's request including at least one of an input sentence, a voice, or any combination thereof. Therefore, for convenience of explanation, in this specification, the robot control device's identification for providing a service to a user will be described as identifying an input sentence.
[0069] The robot control device identifies the language of the input sentence in step 420. For example, the robot control device performs the translation of the language of the input sentence by translating the language of the input sentence into the target language based on the fact that the language of the input sentence is not a predetermined target language (e.g., English). By translating the language of the input sentence into the target language, the robot control device can improve the accuracy of the guidance service.
[0070] In step 430, the robot control device acquires target keywords through preprocessing of the input sentence. Here, the input sentence represents a sentence translated into the target language. Specifically, the robot control device acquires at least one keyword from the input sentence by removing stopwords from the input sentence. For example, the robot control device acquires the keywords "describe" and "car" by removing the stopword "about" from an input sentence such as "describe about car."
[0071] The robot control device acquires target keywords of the input sentence based on at least one first service table related to keywords and synonym mapping. The first service table may include, for example, the following contents as shown in Table 1.
[0072] [Table 1]
[0073] For example, the robot control device determines the target keyword of the input sentence to be "explain" based on the "describe" keyword, the "car" keyword, and the first service table.
[0074] The robot control device acquires a guidance sentence corresponding to the target keyword by referring to a second service table related to service mapping based on the target keyword of the input sentence determined in step 440. For example, the second service table may include the contents shown in Table 2 below.
[0075] [Table 2]
[0076] For example, the robot control device determines that "explain" is the target keyword, and based on the value of the target keyword in Table 1 above being "1," acquires the guidance text corresponding to the target keyword via the second service table as a "service explaining vehicles in the exhibition hall."
[0077] In step 450, the robot controller applies the guidance sentence (e.g., "Service explaining vehicles in the exhibition hall") to a feature extraction model trained to extract features of the sentence to obtain a feature vector.
[0078] FIG. 5 is a flowchart illustrating a method for providing a target service from a feature vector in a robot control device according to an embodiment of the present invention.
[0079] The robot control device according to this embodiment (e.g., the robot control device 100 of FIG. 1) applies the guidance sentence corresponding to the target keyword to a feature extraction model to obtain a feature vector in step 510. A detailed description of obtaining the feature vector has been given in FIG. 4, and will not be given in FIG. 5.
[0080] The robot control device obtains a score for the candidate vector by applying the feature vector and the candidate vector to the score calculation model in step 520. The score calculation model represents a model trained to calculate the score for the candidate vector based on the operation described in Equation 1 above.
[0081] In step 530, the robot controller determines a target vector by comparing the score of the candidate vector with a predetermined score. The robot controller identifies at least one vector from a database in which candidate vectors are stored. The robot controller obtains a score for each of the at least one vector based on the feature vector and each of the at least one vector. The robot controller determines a target vector based on the score for each of the at least one vector and the predetermined score.
[0082] In step 540, the robot control device provides a target service, which is a service according to the input sentence paired with the target vector. For example, the robot control device determines an output vector group including target vectors that exceed a predetermined score by comparing the score of each of at least one vector with a predetermined score. The services paired with the vectors included in the output vector group represent services suitable for solving the user's request included in the input sentence. The robot control device provides the service according to the input sentence by pairing the service with each vector included in the output vector group.
[0083] FIG. 6 is a flowchart illustrating a method for determining candidate vectors stored in a database in a robot control device according to an embodiment of the present invention.
[0084] A robot control device according to this embodiment (e.g., the robot control device 100 of FIG. 1) performs word tokenization to obtain tokens from a corpus to determine candidate vectors stored in a database in step 610. For example, the robot control device performs word tokenization to obtain tokens from a corpus including documents each including at least one sentence.
[0085] That is, a token represents a word contained in a sentence.
[0086] The robot controller determines a first frequency value of the token in step 620. For example, the robot controller determines a first frequency value of the token based on the corpus, the first frequency value relating to the frequency with which the token is included in the corpus (term frequency).
[0087] The robot control device determines a second frequency value of the token in step 630. For example, the robot control device determines the second frequency value of the token, which is related to the frequency at which the token is included in a document (inverse document frequency), based on the corpus. The second frequency value is determined using Equation 2 below.
[0088]
number
[0089] Here, N means the total number of sentences, DF(W) means the calculated first frequency value of token W, and IDF(W) means the calculated second frequency value of token W.
[0090] In step 640, the robot control device determines a candidate vector of a sentence including the token based on a target weight of the token determined based on the first frequency value and the second frequency value. The target weight is determined based on the first frequency value and the second frequency value. By way of example, the robot control device determines the target weight based on the sum of the first frequency value and the second frequency value, but is not limited thereto. Based on determining the candidate vector of the sentence including the token, the robot control device may determine a vector of a sentence different from the sentence of the candidate vector included in the database.
[0091] FIG. 7 is a diagram showing a computer system relating to a robot control device or a robot control method according to an embodiment of the present invention.
[0092] Referring to FIG. 7, a computer system 1000 relating to a robot control device or a robot control method includes at least one processor 1100, a memory 1300, a user interface input device 1400, a user interface output device 1500, storage 1600, and a network interface 1700, all connected via a bus 1200.
[0093] The processor 1100 is a central processing unit (CPU) or a semiconductor device that executes processing based on instructions stored in the memory 1300 and / or the storage 1600. The memory 1300 and the storage 1600 may include various types of volatile or non-volatile recording media. For example, the memory 1300 may include a read only memory (ROM) and a random access memory (RAM).
[0094] Thus, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware executed by processor 1100, in a software module, or in a combination of the two. The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, or on a recording medium such as a hard disk, a removable disk, or a CD-ROM (i.e., memory 1300 and / or storage 1600).
[0095] An exemplary storage medium is coupled to processor 1100 such that processor 1100 reads information from, and writes information to, the storage medium. Alternatively, the storage medium may be integral to processor 1100. The processor and the storage medium may reside in an application specific integrated circuit (ASIC). The ASIC may reside in a user terminal. Alternatively, the processor and the storage medium may reside as discrete components in a user terminal.
[0096] The above description is merely an illustrative example of the technical concept of the present invention, and various modifications and variations can be made by a person having ordinary knowledge in the technical field to which the present invention pertains without departing from the essential characteristics of the present invention.
[0097] The above-described embodiments may be implemented using hardware components, software components, and / or a combination of hardware and software components. For example, the devices, methods, and components described herein may be implemented using a general-purpose computer or a special-purpose computer, such as a processor, controller, arithmetic logic unit (ALU), digital signal processor, microcomputer, field programmable gate array (FPGA), programmable logic unit (PLU), microprocessor, or other device that executes and responds to instructions. The processing device executes an operating system (OS) and software applications that run on the operating system. The processing device also accesses, stores, manipulates, processes, and generates data in response to the execution of the software. For ease of understanding, although a single processing device may be described, those skilled in the art will recognize that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, the processing device may include multiple processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors. Software includes computer programs, code, instructions, or a combination of one or more of these, that configure or instruct a processing device to operate in a desired manner, either individually or collectively. The software and / or data may be permanently or temporarily embodied in some type of machine, component, physical device, virtual equipment, computer storage medium or device, or transmitted signal wave to be interpreted by or provide instructions or data to a processing device.The software may be distributed across network-coupled computer systems so that it is stored and executed in a distributed manner. The software and data may be stored on computer-readable recording media.
[0098] The method according to the present invention may be embodied in the form of program instructions executed by various computer means and recorded on a computer-readable recording medium. The computer-readable recording medium may include, alone or in combination, program instructions, data files, data structures, etc. The program instructions recorded on the recording medium may be specially designed and constructed for the present invention or may be well known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, and flash memory. Examples of program instructions include not only machine language code, such as that produced by a compiler, but also high-level language code executed by a computer using an interpreter, etc.
[0099] The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, or vice versa.
[0100] Although the present embodiment has been described above with reference to limited drawings, those skilled in the art may apply various technical modifications and variations thereto. For example, suitable results may be achieved even if the described techniques are performed in a different order than described, and / or the components of the described systems, structures, devices, circuits, etc. are combined or combined in a different manner than described, or are replaced or substituted by other components or equivalents.
[0101] Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the claims.
[0102] Therefore, the embodiments disclosed in this specification are for illustrative purposes only and are not intended to limit the technical idea of the present invention. The scope of protection of the present invention should be interpreted by the claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention. [Explanation of symbols]
[0103] 100 robot control device 110 processor 111, 113, 115, 117 1st to 4th processors 119 Communications Processor 120 memory 122 Command word 1000 Computing Systems 1100 processor 1200 Bus 1300 memory 1310 ROM 1320 RAM 1400 User Interface Input Device 1500 User interface output device 1600 Storage 1700 network interface
Claims
1. a memory storing computer-executable instructions; and at least one processor that accesses the memory and executes the instructions; The at least one processor Based on the identification of the input sentence including the user's request, a feature vector is acquired from the input sentence for providing the user with a service according to the input sentence; obtaining a score for the candidate vector based on the feature vector and candidate vectors stored in a predetermined database; A robot control device characterized in that a target vector is determined through the score of the candidate vector, and based on that, a target service is provided which is a service based on the input sentence paired with the target vector.
2. The at least one processor performing a translation of the language of the input sentence by translating the language of the input sentence into the target language based on the language of the input sentence being different from a predetermined target language; Obtaining at least one keyword from the input sentence by performing stopword removal of the input sentence; The robot control device of claim 1 , further comprising: acquiring target keywords of the input sentence from the first service table based on the first service table relating to the at least one keyword and synonym mapping.
3. The at least one processor Obtaining a guide sentence corresponding to the target keyword based on a second service table related to service mapping; The robot control device according to claim 2, wherein the feature vector is obtained by applying the guidance text to a feature extraction model that has been trained to extract features of the text.
4. The at least one processor Acquire tokens by performing word tokenization from a corpus including documents containing at least one sentence; determining a first term frequency value for the token based on the corpus, the first term frequency value being related to the frequency with which the token is included in the corpus; determining a second frequency value for the token based on the corpus, the second frequency value being related to the frequency with which the token occurs in the document (inverse document frequency); determining a target weight value for the token based on the first frequency value and the second frequency value; The robot control device according to claim 1 , wherein the candidate vector of the sentence containing the token is determined based on the target weight value of the token.
5. 2. The robot control device according to claim 1, wherein the at least one processor obtains a score for the candidate vector by applying the feature vector and the candidate vector to a score calculation model trained to extract a score related to similarity based on a Euclidean scalar product.
6. The at least one processor identifying at least one vector from the database containing the candidate vectors; obtaining a score for each of the at least one or more vectors based on the feature vector and each of the at least one or more vectors; The robot control device according to claim 1 , wherein the target vector is determined based on the scores of the at least one vector and a predetermined score.
7. The at least one processor determining an output vector group including the target vectors that exceed the predetermined score by comparing the scores of each of the at least one vector with a predetermined score; The robot control device according to claim 6 , wherein a service is provided paired with each vector included in the output vector group.
8. The at least one processor acquiring an additional feature vector from the additional input sentence based on identifying an additional input sentence including an additional request from the user after identifying the input sentence; obtaining a score for the candidate vector based on the additional feature vector and the candidate vector; The robot control device according to claim 1, characterized in that, based on the target vector being determined through the score of the candidate vector, a service is provided using the additional input sentence paired with the target vector.
9. The robot control device according to claim 1, characterized in that the at least one processor pairs the feature vector with a service based on the input sentence and stores the service based on the input sentence paired with the feature vector in the database.
10. A robot control method for a robot control device executed by at least one processor, comprising: acquiring a feature vector from the input sentence based on the identified input sentence including the user's request, for providing a service according to the input sentence to the user; obtaining a score for the candidate vector based on the feature vector and candidate vectors stored in a predetermined database; and providing a target service, which is a service according to the input sentence paired with the target vector, based on the target vector determined through the score of the candidate vector.
11. The step of obtaining the feature vector comprises: performing a translation of the language of the input sentence by translating the language of the input sentence into the target language based on the language of the input sentence not being a predetermined target language; obtaining at least one keyword from the input sentence by performing stopword removal of the input sentence; and acquiring target keywords of the input sentence from the first service table based on the at least one first service table of keywords and synonyms mapping.
12. The step of obtaining the feature vector comprises: obtaining a guide sentence corresponding to the target keyword based on a second service table related to service mapping; and applying the guidance sentence to a feature extraction model trained to extract sentence features to obtain the feature vector.
13. The step of scoring the candidate vectors comprises: performing word tokenization from a corpus including documents including at least one sentence to obtain tokens; determining a first frequency value of the token based on the corpus, the first frequency value being related to the frequency with which the token is included in the corpus; determining a second frequency value for the token based on the corpus, the second frequency value being related to the frequency with which the token occurs in the document (inverse document frequency); determining a target weight value of the token based on the first frequency value and the second frequency value; and determining the candidate vector of the sentence containing the token based on the target weight of the token.
14. 11. The robot control method of claim 10, wherein obtaining a score for the candidate vector comprises obtaining a score for the candidate vector by applying the feature vector and the candidate vector to a score calculation model trained to extract a score related to similarity based on a Euclidean scalar product.
15. The step of providing the target service includes: identifying at least one vector from the database of candidate vectors; obtaining a score for each of the at least one or more vectors based on the feature vector and each of the at least one or more vectors; 11. The robot control method according to claim 10, further comprising: determining the target vector based on the scores of each of the at least one vector and a predetermined score.
16. The step of providing the target service includes: determining an output vector group including the target vectors whose scores exceed the predetermined score by comparing the scores of each of the at least one vector with a predetermined score; and providing a service paired with each vector included in the output vector group.
17. The step of providing the target service includes: acquiring an additional feature vector from the additional input sentence based on identifying the additional input sentence including an additional request from the user after identifying the input sentence; obtaining a score for the candidate vector based on the additional feature vector and the candidate vector; and providing a service based on the additional input sentence paired with the target vector based on the target vector being determined through the score of the candidate vector.
18. The robot control method according to claim 10, characterized in that the step of providing the target service includes a step of storing the service based on the input sentence paired with the feature vector in the database by pairing the feature vector with the service based on the input sentence.
Citation Information
Patent Citations
Learning device and robot control system
JP2023018893A