DEVICE FOR CONTROLLING A ROBOT AND METHOD THEREFOR
The robot controller addresses the issue of standardized guidance by providing personalized services and efficient data management, enhancing user convenience and accuracy through language translation and token-based vector determination.
Patent Information
- Application Number
- DE102024124759
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-29
- Filing Date
- 2024-08-29
- Publication Date
- 2025-10-02
AI Technical Summary
Service robots provide standardized guidance, leading to user dissatisfaction and reduced efficiency in managing new information, as they require frequent database updates and lack personalization.
A robot controller that provides personalized guidance by translating input sentences into target languages, determining candidate vectors based on token frequencies, and managing data using a standardized policy in databases.
Enhances user convenience and guidance accuracy by offering personalized services and efficient data management, reducing the need for frequent database updates.
Smart Images

Figure 00000017_0000 
Figure 00000018_0000 
Figure 00000019_0000
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to a robot control device and a control method thereof. BACKGROUND
[0002] If a user wants to purchase or manage a vehicle, they can generally visit workshops or showrooms such as car dealerships and / or auto studios and then determine what they are interested in. Specifically, a service robot can give the user a guided tour of an object of interest.
[0003] However, the service robot provides the user with guidance with mostly general and standardized content. Furthermore, each time the service robot receives new information, it must establish a new classification policy to store the new information in a database.
[0004] This way of working with the service robot can waste users' time and cause them to lose interest due to the uniformly classified guidance. Furthermore, providers offering service robot guidance can configure the new classification policy in the database to manage the new information, reducing cost-effectiveness.
[0005] To solve these problems, it is necessary to develop a technology that provides personalized guidance to the user, as well as a technology to manage data using a standardized policy in the databases. SUMMARY
[0006] An embodiment of the present disclosure can solve the above-mentioned problems of the prior art while maintaining advantages of the prior art.
[0007] An embodiment of the present disclosure provides a robot control device that can provide personalized guidance to a user and increase the user's convenience by providing a target service through a target vector determined from an input set including the user's requirements, and a control method therefor.
[0008] An embodiment of the present disclosure provides a robot control device that can increase the accuracy of an operation in which personalized guidance is provided to the user by translating the language of an input sentence into a target language based on the fact that the language of the input sentence is not a predetermined target language, and a control method therefor.
[0009] An embodiment of the present disclosure provides a robot controller capable of managing data in a database through a standardized policy by determining a candidate vector of a sentence including a token based on a first frequency value of the token and a second frequency value of the token obtained from a corpus, and a control method therefor.
[0010] Technical problems to be solved by an embodiment of the present disclosure are not limited to the above-mentioned problems, and solutions to other technical problems not mentioned here can be clearly understood by those skilled in the art to which the present disclosure relates from the following description.
[0011] According to one embodiment of the present disclosure, a robot controller may include a memory storing computer-executable instructions and at least one processor executing the instructions by accessing the memory. The at least one processor may obtain a feature vector for providing a service according to an input set to a user from the input set based on identifying the input set including the user's requirements, may obtain a score of a candidate vector based on the feature vector and the candidate vector stored in a selected, set, or predetermined database, and may provide a target service paired with a target vector and which is a service according to the input set based on the target vector determined by the score of the candidate vector.
[0012] In one embodiment, the at least one processor may translate a language of the input sentence by translating the language of the input sentence into a target language based on the language of the input sentence not being the predetermined target language, may obtain at least one keyword from the input sentence by removing a stop word of the input sentence, and may obtain a target keyword of the input sentence from a first service table based on the at least one keyword and the first service table with respect to the synonym mapping.
[0013] In one embodiment, the at least one processor may obtain a guide sentence corresponding to the target keyword based on a second service table related to the service mapping, and may obtain the feature vector by applying the guide sentence to a feature extraction model trained to extract a feature of a sentence.
[0014] In one embodiment, the at least one processor may obtain a token by performing word tokenization from a corpus containing documents with at least one sentence, may determine a first frequency value of the token with respect to a term frequency with which the token is included in the corpus based on the corpus, may determine a second frequency value of the token with respect to an inverse document frequency with which the token is included in the documents based on the corpus, may determine a target weight of the token based on the first frequency value and the second frequency value, and may determine the candidate vector of a sentence containing the token based on the target weight of the token.
[0015] In one embodiment, the at least one processor may obtain the score of the candidate vector by applying the feature vector and the candidate vector to a score computation model trained to extract a similarity score based on the Euclidean dot product.
[0016] In one embodiment, the at least one processor may identify at least one vector from the database in which the candidate vector is stored, may obtain a score of the at least one vector based on the feature vector and the at least one vector, and may determine the target vector based on the score of the at least one vector and a selected, set, or predetermined score.
[0017] In one embodiment, the at least one processor may determine an output vector group that exceeds a selected, set, or predetermined score and includes the target vector by comparing the score of the at least one vector to the selected, set, or predetermined score, and may provide a service paired with each vector included in the output vector group.
[0018] In one embodiment, the at least one processor may obtain an additional feature vector from an additional input set based on the identification of the additional input set including additional requirements of the user after the identification of the input set, may obtain the score of the candidate vector based on the additional feature vector and the candidate vector, and may provide a service paired with the target vector and corresponding to the additional input set based on the target vector determined by the score of the candidate vector.
[0019] In one embodiment, the at least one processor may store a service paired with the feature vector corresponding to the input set in the database by pairing the service with the feature vector corresponding to the input set.
[0020] According to an embodiment of the present disclosure, a robot control method may include obtaining a feature vector for providing a service according to an input set to a user from the input set based on identifying the input set that includes requirements of the user, obtaining a score of a candidate vector based on the feature vector and the candidate vector stored in a selected, set, or predetermined database, and providing a target service paired with a target vector and which is a service according to the input set based on the target vector determined by the score of the candidate vector.
[0021] In one embodiment, obtaining the feature vector may include translating a language of the input sentence by translating the language of the input sentence into a target language based on the fact that the language of the input sentence is not the predetermined target language, obtaining at least one keyword from the input sentence by removing a stop word of the input sentence, and obtaining a target keyword of the input sentence from a first service table based on the at least one keyword and the first service table with respect to the synonym mapping.
[0022] In one embodiment, obtaining the feature vector may include obtaining a guide sentence corresponding to the target keyword based on a second service table related to the service mapping, and obtaining the feature vector by applying the guide sentence to a feature extraction model trained to extract a feature of a sentence.
[0023] In one embodiment, obtaining the score of the candidate vector may include obtaining a token by performing word tokenization from a corpus containing documents having at least one sentence, determining a first frequency value of the token with respect to a term frequency with which the token is included in the corpus based on the corpus, determining a second frequency value of the token with respect to an inverse document frequency with which the token is included in the documents based on the corpus, determining a target weight of the token based on the first frequency value and the second frequency value, and determining the candidate vector of a sentence containing the token based on the target weight of the token.
[0024] In one embodiment, determining the score of the candidate vector may include determining the score of the candidate vector by applying the feature vector and the candidate vector to a score calculation model trained to extract a similarity score based on the Euclidean dot product.
[0025] In one embodiment, providing the target service may include identifying at least one vector from the database in which the candidate vector is stored, obtaining a score of the at least one vector based on the feature vector and the at least one vector, and determining the target vector based on the score of the at least one vector and a selected, set, or predetermined score.
[0026] In one embodiment, providing the target service may include determining an output vector group that exceeds a selected, set, or predetermined score and that includes the target vector by comparing the score of the at least one vector to the selected, set, or predetermined score, and providing a service paired with each vector included in the output vector group.
[0027] In one embodiment, providing the target service may include obtaining an additional feature vector from an additional input set based on identifying the additional input set including additional requirements of the user after identifying the input set, obtaining the score of the candidate vector based on the additional feature vector and the candidate vector, and providing a service paired with the target vector and corresponding to the additional input set based on the target vector determined by the score of the candidate vector.
[0028] In one embodiment, providing the target service may comprise storing a service paired with the feature vector and corresponding to the input set in the database by pairing the service according to the input set with the feature vector. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The above and other features and advantages of the present disclosure will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: Fig. 1 is a diagram illustrating a robot control device according to an embodiment of the present disclosure; Fig. 2 is a flowchart for describing a method of controlling a robot according to an embodiment of the present disclosure; Fig. 3 is a flowchart for describing a method for providing a target service in a robot controller according to an embodiment of the present disclosure; Fig.4 is a flowchart for describing a method for obtaining a feature vector to provide a target service from an input set in a robot controller, according to an embodiment of the present disclosure; Fig. 5 is a flowchart for describing a method for providing a target service from a feature vector in a robot controller according to an embodiment of the present disclosure; Fig. 6 is a flowchart illustrating a method for determining a candidate vector stored in a database in a robot controller according to an embodiment of the present disclosure; and Fig. 7 is a diagram illustrating a computer system in connection with a robot control device or a robot control method according to an embodiment of the present disclosure.
[0030] As far as the description of the drawings is concerned, identical or similar components may be identified by identical or similar reference numerals. DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
[0031] Hereinafter, some embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. When attaching reference numerals to components of each drawing, it should be noted that the same components will contain the same reference numerals even though they are indicated on a different drawing. Furthermore, in describing the embodiments of the present disclosure, detailed descriptions associated with well-known functions or configurations may be omitted if they might unnecessarily obscure the subject matter of the present disclosure. Hereinafter, various embodiments of the present disclosure will be described with reference to the accompanying drawings.Accordingly, those skilled in the art will recognize that modifications, equivalents, and / or alternatives to the various embodiments described herein may be made without departing from the scope and spirit of the present disclosure. With respect to the description of the drawings, similar components may be identified by similar reference numerals.
[0032] When describing elements of an embodiment of the present disclosure, the terms "first," "second," "A," "B," "(a)," "(b)," and the like may be used herein. Such terms may be used merely to distinguish one element from another, but are not limiting to the corresponding elements, regardless of the type, order, or priority of the corresponding elements. Furthermore, unless otherwise defined, the technical and scientific terms used herein may be interpreted as is common practice in the art to which the present disclosure belongs.It is to be understood that the terms used herein may be interpreted to have a meaning consistent with their meaning in the context of the present disclosure and the relevant prior art, and are not to be interpreted in an idealized or overly formal sense unless expressly defined as such. For example, terms used herein such as "first," "second," and the like may refer to various components of various embodiments of the present disclosure, but are not limiting. For example, "a first user device" and "a second user device" may refer to different user devices, regardless of their order or priority.For example, without going beyond the scope of the present disclosure, a first supplement may be referred to as a second component, and similarly, a second supplement may be referred to as a first supplement.
[0033] In this specification, the terms "have", "may have", "contain" and "comprise" or "may contain" and "may include" indicate the presence of the corresponding features (e.g., elements such as numeric values, functions, operations, or components), but do not preclude the presence of additional features.
[0034] When an element (e.g., a first element) is described as "(operatively or communicatively) coupled to / at" or "connected to" another element (e.g., a second element), it may be directly coupled or connected to the other element, or there may be an intervening element (e.g., a third element). On the other hand, when an element (e.g., a first element) is described as "directly coupled to / at" or "directly connected to" another element (e.g., a second element), it can be assumed that there is no intervening element (e.g., a third element).
[0035] Depending on the situation, the term “configured for” as used here may be used to mean, for example, “suitable for,” “capable of,” “designed for,” “adapted for,” “made for,” or “able to.”
[0036] The term "configured to" is not limited to "specifically designed to" in hardware. Instead, the phrase "a device configured to" may refer to the device being "capable of" interoperating with another device or other components. For example, a "processor configured (or set) to perform A, B, and C" may refer to a special-purpose processor (e.g., an embedded processor) for performing a corresponding operation, or to a general-purpose processor (e.g., a central processing unit (CPU) or an application processor) that performs corresponding operations by executing one or more software programs stored in a memory device. The terms used in the description may be used to describe a particular embodiment only and are not intended to necessarily limit the scope of the present disclosure.Terms in the singular include the plural unless otherwise specified. Technical or scientific terms may have the same meaning as commonly understood by one of ordinary skill in the art. It is understood that terms defined in a dictionary and commonly used may also be interpreted as is common in relevant related art in various embodiments of the present disclosure. In some cases, terms, even if defined in the specification, may not be interpreted to exclude embodiments of the present disclosure.
[0037] In the present disclosure, the terms "A or B," "at least one of A and / or B," or "one or more of A and / or B," and the like, as used herein, may encompass any combination of one or more of the listed elements. For example, the term "A or B," "at least one of A and B," or "at least one of A or B" may refer to all cases (1) where at least one A is included, to the case (2) where at least one B is included, or to the case (3) where both at least one A and at least one B are included.Furthermore, when describing a component of an embodiment of the present disclosure, the terms "at least one of 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, and C," or "at least one of A, B, or C, or any combination thereof" may include any and all combinations of one or more of the associated listed elements. In particular, the terms "at least one of A, B, or C, or any combination thereof" may include A, B, or C, or any combination thereof, such as AB, ABC, or the like.
[0038] In the following, exemplary embodiments of the present disclosure are described with reference to the Fig. 1 to 7 described in detail.
[0039] Fig. 1 is a diagram illustrating a robot control device according to an embodiment of the present disclosure.
[0040] According to one embodiment, a robot controller 100 may include a processor 110 and a memory 120 with instructions 122, one or both of which may be present in a plurality or may include multiple components thereof.
[0041] The robot control device 100 may represent a device that provides a user (e.g., a customer) with a personalized guidance service by a robot located in a space where vehicle-related services are offered, such as a car dealership.
[0042] For example, the robot controller 100 may identify at least one voice with requests of a user or an input sentence with requests, or any combination thereof. The robot controller 100 may provide a target service to the user by performing at least one operation based on identifying the voice or the input sentence, or any combination thereof. The target service may specify a service based on the voice or the input sentence, or any combination thereof. However, a method in which the robot controller 100 provides a guidance menu to the user is not necessarily limited thereto. For example, the robot controller 100 may provide the personalized guidance service to the user directly via an output device (e.g., a display or a speaker) without passing through a robot.
[0043] Processor 110 may execute software and control at least one other component (e.g., a hardware or software component) connected to processor 110. Processor 110 may also perform various data processing or operations. For example, processor 110 may store at least one voice, the input sentence, or the target service, or any combination thereof, in memory 120.
[0044] For illustrative purposes, the processor 110 may perform and / or control all operations performed by the robot controller 100. Therefore, in this specification, an operation performed by the robot controller 100 will be primarily described as an operation performed by the processor 110. For simplicity of description in this specification, the processor 110 will be primarily described as a single processor, but is not limited thereto. For example, the robot controller 100 may include at least one processor. The at least one processor may perform all operations related to providing the personalized guidance service.
[0045] For example, the processor 110 may include a first processor 111, a second processor 113, a third processor 115, a fourth processor 117, and a communications processor 119.
[0046] The first processor 111 may collect and / or identify user data (e.g., an input sentence) required to provide the personalized guidance service. For example, the first processor 111 may collect and / or identify user data entered via a display attached to the robot or the robot controller 100.
[0047] The second processor 113 can determine data about the user's characteristics by analyzing the collected and / or identified user data. For example, the second processor 113 can extract characteristics from user data using data analysis techniques (e.g., natural language processing techniques).
[0048] The third processor 115 may provide the personalized guidance service based on the characteristics of the user data extracted by the second processor 113. For example, the third processor 115 may provide a guidance service depending on the user's characteristics by using the characteristics of the extracted user data.
[0049] The fourth processor 117 may analyze or manage data for providing the personalized guidance service. The fourth processor 117 may, for example, be a processor that manages a database.
[0050] The communication processor 119 can receive user data required to provide the personalized advisory service. Furthermore, the communication processor 119 can provide the user with the result calculated by the operations of the first to fourth processors 111 to 117. For example, the communication processor 119 can support communication between the robot controller 100 and the robot. The communication processor 119 can include one or more components for communication between the robot controller 100 and the robot. The communication processor 119 can include, for example, a short-range wireless communication device, a microphone, or the like.Short-range communication technologies may include, but are not necessarily limited to, wireless LAN (Wi-Fi), Bluetooth, ZigBee, Wi-Fi Direct (WFD), ultra-wideband (UWB), infrared data link (IrDA), Bluetooth Low Energy (BLE), and near-field communication (NFC), among others.
[0051] Memory 120 may temporarily and / or permanently store various data and / or information necessary to perform a process for providing the personalized advisory service. For example, memory 120 may store at least one of the following information: the voice, the input sentence, the target service, or any combination thereof.
[0052] Fig. 2 is a flowchart for describing a method for controlling a robot according to an embodiment of the present disclosure.
[0053] In operation 210, a robot control device (e.g., the robot control device 100 in Fig. 1) according to one embodiment, obtain a feature vector for providing a service according to an input set to a user from the input set based on the identification of the input set including the user's requirements.
[0054] For example, the user's requirements may include a service (e.g., an exhibition hall guidance service, a vehicle description service, a maintenance status service, or a rest room guidance service) to be provided by a robot. A feature vector may denote a vector containing the selected, specified, or predetermined dimension with unique features and properties of the input set. After identifying the input set, the robot controller may obtain the feature vector from a feature extraction model. A detailed description of this will be provided later in Fig. 3 described below.
[0055] In operation 220, the robot controller may obtain the score of a candidate vector based on the feature vector and the candidate vector stored in a selected, set, or predetermined database.
[0056] For example, the robot controller may identify the candidate vector stored in the selected, set, or predetermined database. The candidate vector may specify a vector from which a feature of a sentence different from that of the input sentence is extracted before a time at which the input sentence is identified. The robot controller may compare the feature vector with the candidate vector. The robot controller may obtain the score of the candidate vector by comparing the feature vector with the candidate vector. The detailed method for determining the score of the candidate vector is described later in Fig. 3 described.
[0057] In operation 230, the robot controller may provide a target service paired with the target vector, which is a service according to the input sentence, based on the target vector determined by the score of the candidate vector.
[0058] For example, the robot controller may determine the candidate vector as the target vector based on whether the score of the candidate vector exceeds the selected, set, or predetermined score (e.g., threshold). The robot controller may offer the target service to the user through the robot based on the candidate vector determined as the target vector.
[0059] Additionally, the robot controller may not determine the candidate vector as the target vector because the score of the candidate vector does not exceed the selected, set, or default score. In this case, the robot controller may determine the score of a vector that differs from the candidate vector (e.g., the operation described in operation 220) by identifying a vector that differs from the candidate vector in a selected, set, or default database.
[0060] The robot controller can store the input sentence and the feature vector in the database based on the provision of the target service to the user. For example, the robot controller can store a service corresponding to the input sentence paired with the feature vector in the database by pairing the service corresponding to the input sentence with the feature vector. Through this operation, the robot controller can manage the database.
[0061] Fig. 3 is a flowchart for describing a method for providing a target service in a robot control device according to an embodiment of the present disclosure.
[0062] In operation 311, a robot control device (e.g., the robot control device 100 in Fig.1) According to one embodiment, identify an input sentence. The input sentence may, for example, contain a service request for a vehicle description.
[0063] In operation 313, the robot controller may determine whether to identify an additional input set. For example, the robot controller may identify the additional input set that differs from the input set after identifying the input set in operation 311.
[0064] In operation 315, the robot controller may determine the target keyword of the input sentence based on the additional input sentence that was not identified. The target keyword may, for example, indicate information about the user's intention or the requirements contained in the input sentence. In detail, if the input sentence may include the service request related to a vehicle description, the robot controller may obtain a description as a target keyword from the input sentence through a first service table related to synonym mapping. The detailed method for obtaining the target keyword will be described later in Fig. 4 described below.
[0065] In operation 317, the robot controller may obtain a feature vector by applying the guidance sentence corresponding to the target keyword to the feature extraction model. For example, the robot controller may obtain a guidance sentence corresponding to the target keyword based on a second service table relating to the service assignment. Specifically, if the input sentence includes a service request relating to a vehicle description and the target keyword is a description, the robot controller may obtain a sentence relating to a service corresponding to the target keyword and describing vehicles in an exhibition hall as a guidance sentence based on the second service table. The detailed method for obtaining the guidance sentence will be described later in Fig. 4 described.
[0066] The robot controller can train a feature extraction model. The feature extraction model can include, for example, a neural network. The neural network can include a plurality of layers, and each layer can include a plurality of nodes. The node can include a node value determined based on an activation function. A node at any layer can be connected to a node (e.g., another node) at another layer via a connection (e.g., a connecting edge) with a connection weight. The node value of a node can be propagated to other nodes via the connection. During an inference operation of the neural network, the node values can be propagated from the previous layer to the next layer.
[0067] For example, the forward propagation operation in the feature extraction model may indicate a process of propagating node values based on input data in one direction from an input layer of the feature extraction model to an output layer of the feature extraction model. In other words, the node value of the corresponding node may be propagated (e.g., forward propagated) to a node (e.g., the next node) of the next layer connected by the node and the connecting edge. For example, the node may receive a value weighted by a connection weight from the previous node (e.g., a plurality of nodes) connected by the connecting edge.
[0068] The node value of a node can be determined based on the application of an activation function to the sum (e.g., the weighted sum) of the weighted values received from the previous nodes. For example, a parameter of a neural network can include the connection weight described above. The parameters of the neural network can be updated so that a value of an objective function described later changes in a specific direction (e.g., in a direction that minimizes a loss).
[0069] The trained feature extraction model may refer to a model trained by machine learning, and may be a trained machine learning model that outputs a training output (e.g., a feature vector of an input sentence) from a training input (e.g., a guide sentence).
[0070] The machine learning model (e.g., the trained feature extraction model) can be created using machine learning. The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the above example.
[0071] The machine learning model may include multiple layers of an artificial neural network. The artificial neural network may be one of the following: 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), or a deep Q-Net, or at least a combination of these networks, but is not limited to the examples described above.
[0072] In the case of supervised learning, the machine learning model described above can be trained based on training data containing pairs of a training input and a training output associated with the training input. For example, the machine learning model can be trained to output the training output from the training input. The machine learning model can generate a temporary output in response to the training input during training and can be trained to minimize the loss between the temporary output and the training output (e.g., a training target). During a training process, a parameter (e.g., a connection weight between nodes / layers in a neural network) of the machine learning model can be updated depending on the loss. This training can, for example,by the robot control device itself in which the machine learning model is executed, and / or it can be done via a separate server. The machine learning model (e.g., the trained feature extraction model) in which the training is completed can be stored in a memory (e.g., the memory 120 in . Fig. 1) are stored.
[0073] In operation 319, the robot controller may obtain the score of the candidate vector based on the feature vector and the candidate vector. For example, the robot controller may compare the feature vector and the candidate vector. Specifically, the robot controller may obtain the score of the candidate vector by applying the feature vector and the candidate vector to a score calculation model trained to extract a score related to the similarity based on the Euclidean dot product. The Euclidean dot product operation may be performed by the score calculation model (or the robot controller) based on the following Equation 1. Similarity=∑i=1nAi×Bi∑i=1n(Ai)2×∑i=1n(Bi)2
[0074] Here A i denote a feature vector; B imay denote a candidate vector; n may denote the number of elements of the feature vector and the candidate vector; and similarity may denote the similarity (i.e., a value obtained by quantifying the degree of similarity between the candidate vector and the feature vector) of the candidate vectors.
[0075] In operation 321, the robot controller may provide a target service based on the target vector determined by the score of the candidate vector. For example, the robot controller may identify a first vector and a second vector from a database of candidate vectors. Through the method described in operation 319, the robot controller may determine the score of the first vector and the score of the second vector. The robot controller may identify 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. For example, if the score of the candidate vector is the highest among the score of the first vector, the score of the second vector, and the score of the candidate vector, the robot controller may determine the candidate vector as the target vector.The robot controller may provide the target service that is a service according to the input sentence and that is paired with the target vector based on the candidate vector determined as the target vector.
[0076] In operation 323, the robot controller may accumulate an additional input set based on the identification of the additional input set in metadata. The metadata may, for example, indicate data stored in a database. Then, in operation 325, the robot controller may provide the service corresponding to the additional input set.
[0077] In detail, after identifying the input set, the robot controller may obtain an additional feature vector from the additional input set based on identifying the additional input set with additional user requirements. The robot controller may obtain the score of the candidate vector based on the additional feature vector and the candidate vector. The robot controller may provide the service paired with a target vector corresponding to the additional input set based on the target vector determined by the score of the candidate vector.
[0078] Fig. 4 is a flowchart for describing a method for determining a feature vector to provide a target service from an input set in a robot controller according to an embodiment of the present disclosure.
[0079] In operation 410, a robot control device (e.g., the robot control device 100 in Fig. 1) According to one embodiment, identify an input sentence. However, an embodiment is not limited to this. The robot controller may identify a target containing a user's requirements, including at least one input sentence or a voice, or any combination thereof. For ease of description in this specification, the identification performed by the robot controller to provide a service to the user is described by identifying the input sentence.
[0080] In operation 420, the robot controller may identify a language of the input sentence. For example, the robot controller may translate the language of the input sentence by translating the language of the input sentence into a target language based on the language of the input sentence not being one of the predetermined target languages (e.g., English). The robot controller may improve the accuracy of a guidance service by translating the language of the input sentence into the target language.
[0081] In operation 430, the robot controller may obtain a target keyword by preprocessing the input sentence. The input sentence may refer to a sentence translated into a sentence in the target language. Specifically, the robot controller may obtain at least one keyword from the input sentence by removing a stop word from the input sentence. For example, the robot controller may obtain the keyword "describe" and the keyword "car" by removing the stop word "about" from an input sentence such as "describe about car."
[0082] The robot controller can determine the target keyword of the input sentence based on at least one keyword and a first service table for mapping synonyms. The first service table can, for example, contain the content described in Table 1 below. [Table 1] ID VALUE Explain 1 Accompany 2 Lead 3 toilet 3 Desk 2
[0083] For example, the robot controller may determine the target keyword of the input sentence as “explain” based on the keyword “describe”, the keyword “car” and the first service table.
[0084] In operation 440, the robot controller may determine a guide sentence corresponding to the target keyword by referring to a second service table related to the service mapping based on the determination of the target keyword of the input sentence. The second service table may, for example, contain the content described in Table 2 below.
[0095] [Table 2] ID VALUE 1 Vehicle explanation service in the exhibition hall 2 Service for guidance and transportation to a specific location in the exhibition hall. 3 Service for providing information about available facilities in the building 4 Photo service 5 Service for comparing vehicles in the vehicle hall for the purchase of a vehicle
[0085] For example, the robot controller may obtain the guidance sentence corresponding to the target keyword as “service for explaining vehicles in an exhibition hall” through the second service table based on the fact that “explain” is designated as the target keyword and a value of the target keyword in Table 1 is “1”.
[0086] In operation 450, the robot controller may obtain a feature vector by applying the guidance sentence (e.g., the “service for explaining vehicles in the exhibition hall”) to a feature extraction model trained to extract features of the sentence.
[0087] Fig. 5 is a flowchart for describing a method for providing a target service from a feature vector in a robot controller according to an embodiment of the present disclosure.
[0088] In operation 510, a robot controller (e.g., the robot controller 100 in Fig. 1) According to one embodiment, obtain a feature vector by applying a guidance sentence corresponding to a target keyword to a feature extraction model. The detailed description of the acquisition of the feature vector is in Fig. 4 and can therefore be used in Fig. 5 can be omitted.
[0089] In operation 520, the robot controller may obtain the score of a candidate vector by applying the feature vector and the candidate vector to a score calculation model. The score calculation model may refer to a model trained to calculate the score of a candidate vector, e.g., based on the operation described in Equation 1.
[0090] In operation 530, the robot controller may determine the target vector by comparing the score of the candidate vector with the selected, set, or predetermined score. The robot controller may identify at least one vector from a database storing a candidate vector. The robot controller may determine the score of the at least one vector based on a feature vector and the at least one vector. The robot controller may determine the target vector based on the score of the at least one vector and the selected, set, or predetermined score.
[0091] In operation 540, the robot controller may provide a target service paired with the target vector, which is a service according to the input set. For example, the robot controller may determine an output vector group that exceeds the selected, set, or predetermined score and that includes the target vector by comparing the score of at least one vector with the selected, set, or predetermined score. A service paired with a vector included in an output vector group may indicate a service suitable for resolving the user requirements included in the input set. The robot controller may provide a service according to the input set by providing the service paired with each vector in the output vector group.
[0092] Fig.6 is a flowchart illustrating a method for determining a candidate vector stored in a database in a robot controller according to an embodiment of the present disclosure.
[0093] In operation 610, a robot control device (e.g., the robot control device 100 in Fig. 1) According to one embodiment, perform word tokenization from a corpus to determine a candidate vector stored in a database and obtain a token. For example, the robot controller may obtain the token by performing word tokenization from the corpus containing documents with at least one sentence. In other words, the token may indicate words contained in the sentence.
[0094] In operation 620, the robot controller may determine a first frequency value of the token. For example, the robot controller may determine the first frequency value of the token based on the corpus in relation to a term frequency with which the token is included in the corpus.
[0095] At operation 630, the robot controller may determine a second frequency value of the token. For example, the robot controller may determine the second frequency value of the token with respect to an inverse document frequency with which the token is included in documents based on the corpus. The second frequency value may be determined based on the following Equation 2. IDF(w)=logNDF(w)
[0096] Here, N denotes the total number of documents; DF(w) can denote the first frequency value of the computed token w; and, IDF(w) can denote the second frequency value of the computed token w.
[0097] In operation 640, the robot controller may determine a candidate vector of the sentence containing the token by a target weight of the token determined based on the first frequency value and the second frequency value. The target weight may be determined based on the first frequency value and the second frequency value. For example, the robot controller may determine the target weight based on the sum of the first frequency value and the second frequency value, but is not limited thereto. The robot controller may determine the vector of sentences contained in a database that differ from sentences of the candidate vector based on the determination of the candidate vector of the sentence containing the token.
[0098] Fig.7 is a diagram illustrating a computer system in conjunction with a robot control device or a robot control method according to an embodiment of the present disclosure.
[0099] With reference to Fig. 7, a computer system 1000 relating to a robot control device or a robot control method may include at least a processor 1100, a memory 1300, a user interface input device 1400, a user interface output device 1500, a mass storage 1600, and a network interface 1700 interconnected via a bus 1200, wherein any combination thereof or all thereof may be present in a plurality or comprise multiple components thereof.
[0100] Processor 1100 may be a central processing unit (CPU) or a semiconductor device that processes instructions stored in memory 1300 and / or mass storage 1600. Both memory 1300 and mass storage 1600 may include various types of volatile or non-volatile storage media. For example, memory 1300 may include read-only memory (ROM) and / or random access memory (RAM).
[0101] Accordingly, the operations of the method or algorithm described in connection with the embodiments disclosed in the specification may be implemented directly with a hardware module, a software module, or a combination of the hardware module and the software module executed by processor 1100. The software module may be located on a storage medium (i.e., memory 1300 and / or mass storage 1600), such as random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electronically decrypted EPROM (EEPROM), a register, a hard disk drive, a removable disk, or a compact disc-ROM (CD-ROM), or a combination thereof.
[0102] The storage medium may be coupled to the processor 1100. The processor 1100 may read information from the storage medium and write information to the storage medium. Alternatively, the storage medium may be integrated into the processor 1100. The processor and the storage medium may be implemented with an application-specific integrated circuit (ASIC). The ASIC may be housed in a user terminal. Alternatively, the processor and the storage medium may be implemented with separate components in the user terminal.
[0103] The above description is merely an example of the technical ideas of the present disclosure, and various modifications and alterations can be made by a person skilled in the art without affecting the scope and essential features of the present disclosure.
[0104] The embodiments described above may be implemented with hardware elements, software elements, and / or a combination of hardware elements and software elements. For example, the devices, methods, and components described in the embodiments of the present disclosure may be implemented using general-purpose computers or special-purpose computers, such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field-programmable array (FPA), a programmable logic unit (PLU), a microprocessor, or any device capable of executing instructions and responding. A processing device may execute an operating system (OS) or a software application running on the OS.Furthermore, the processing device may access, store, manipulate, process, and generate data in response to software execution. Those skilled in the art will understand that, although a single processing device is depicted for clarity, the processing device may include a plurality of processing elements and / or a plurality of types of processing elements (together, separately, and / or remotely). For example, the processing device may include multiple processors or a processor and a controller. The processing device may also have another processing configuration, such as a parallel processor.
[0105] Software may include computer programs, codes, instructions, or one or more combinations thereof, and may configure a processing device to operate in a desired manner or to control the processing device independently or jointly. Software and / or data may be permanently or temporarily embodied in any type of machine, component, physical equipment, virtual equipment, computer storage media or units, or transmitted signal waves to be interpreted by the processing device or to provide instructions or data to the processing device. Software may be distributed across computer systems interconnected by networks and stored or executed, for example, in distributed form or on a blockchain, or any combination thereof. Software and data may be recorded in a computer-readable storage medium.
[0106] The methods according to the embodiments described above may be recorded on a computer-readable medium containing program instructions executable by various computing devices. The computer-readable medium may also contain program instructions, data files, data structures, or a combination thereof. The program instructions recorded on the medium may be specifically developed and configured for the embodiments of the present disclosure or may be partially known and available to those skilled in the art of computer software. The computer-readable medium may include hardware devices specifically configured to store and execute program instructions, such as magnetic media (e.g., a hard disk, a floppy disk, or magnetic tape), optical recording media (e.g., CD-ROM and DVD), magneto-optical media (e.g., a floppy disk), read-only memories (ROMs), random access memories (RAMs), and flash memory.Examples of computer programs include not only machine language codes created by a compiler, but also high-level language codes that can be executed by a computer with the help of an interpreter or similar.
[0107] The hardware device described above may be configured to function as one or more software modules to perform the operations of the exemplary embodiments of the present disclosure described above, or vice versa.
[0108] Although the embodiments are described with reference to limited drawings, it will be apparent to those skilled in the art that the embodiments can be changed or modified in various ways based on the above description. For example, appropriate effects can be achieved even if the above processes and methods are performed in a different order than described above, and / or the aforementioned elements, such as systems, structures, devices, or circuits, are combined or coupled in forms and modes other than those described above, or are replaced or exchanged with other components or equivalents.
[0109] Therefore, other devices, other embodiments, and equivalents to the claims may fall within the scope of the following claims.
[0110] Accordingly, the embodiments of the present disclosure are intended to illustrate, rather than limit, the technical ideas of the present disclosure, and the scope and spirit of the present disclosure are not necessarily limited by the above embodiments. The scope of the present disclosure may be interpreted by the appended claims, and all equivalents thereof may be construed to fall within the scope of the present disclosure.
[0111] In the following, descriptions will be given of a robot control device according to an embodiment of the present disclosure and a control method thereof.
[0112] According to at least one embodiment of the present disclosure, it may be possible to provide a user with personalized guidance and increase the user's convenience by providing a target service through a target vector determined from an input set of the user's requirements.
[0113] Furthermore, according to at least one embodiment of the present disclosure, it may be possible to increase the accuracy of a process of providing personalized guidance to the user by translating the language of an input sentence into a target language, wherein the language of the input sentence is not an available or predetermined target language.
[0114] Furthermore, according to at least one of the embodiments of the present disclosure, it may be possible to manage data through a standardized policy in a database by determining a candidate vector of a sentence containing a token based on a first frequency value of the token and a second frequency value of the token, which can be obtained from a corpus.
[0115] A variety of effects may be provided, directly or indirectly understood through this disclosure.
[0116] Although the present disclosure has been described above with reference to exemplary embodiments and the accompanying drawings, the present disclosure is not necessarily limited thereto, but may be variously modified and altered by those skilled in the art to which the present disclosure pertains without departing from the spirit and scope of the present disclosure as claimed in the following claims.
Claims
[1] Robot control device, comprising: at least one processor; and a storage medium storing computer-readable instructions that, when executed by the at least one processor, enable the at least one processor to: determine a feature vector for providing a target service to a user according to an input set, based on identifying the input set containing user requirements, to determine a candidate evaluation of a candidate vector based on the feature vector and the candidate vector stored in a database, and provide the target service paired with a target vector and containing a specific service according to the input sentence based on the target vector determined by the candidate value of the candidate vector. [2] The device of claim 1, wherein the instructions further enable the at least one processor to: to translate an input language of the input sentence by translating the input language of the input sentence into a target language in response to the input language of the input sentence not being the target language; to determine at least one input sentence keyword from the input sentence by removing a stop word of the input sentence; and to determine a target keyword of the input sentence from a first service table based on the at least one input sentence keyword and the first service table with respect to the synonym assignment. [3] The apparatus of claim 2, wherein the instructions further enable the at least one processor to: determine a lead set corresponding to the target keyword based on a second service table relating to the service mapping; and determine the feature vector by applying the guide sentence to a feature extraction model trained to extract a feature of a given sentence. [4] The apparatus of claim 1, wherein the instructions further enable the at least one processor to: to determine a token by performing word tokenization from a corpus containing documents with at least one sentence; determine a first frequency value of the token with respect to a term frequency with which the token is included in the corpus, based on the corpus; determine a second frequency value of the token with respect to an inverse document frequency with which the token is contained in the documents based on the corpus; determine a target weight of the token based on the first frequency value and the second frequency value; and to determine the candidate vector of a given sentence containing the token based on the target weight of the token. [5] The apparatus of claim 1, wherein the instructions further enable the at least one processor to determine the candidate score of the candidate vector by applying the feature vector and the candidate vector to a score calculation model, the score calculation model being trained to extract a similarity score related to the similarity based on the Euclidean dot product. [6] The device of claim 1, wherein the instructions further enable the at least one processor to: identify at least one database vector from the database in which the candidate vector is stored; to determine a database vector score of the at least one database vector based on the feature vector and the at least one database vector; and to determine the target vector based on the database vector score of the at least one database vector and a threshold score. [7] The apparatus of claim 6, wherein the instructions further enable the at least one processor to: to determine an output vector group that exceeds the threshold and contains the target vector by comparing the database vector value of the at least one database vector with the threshold; and provide a vector-related service paired with each vector contained in the output vector group. [8] The device of claim 1, wherein the instructions further enable the at least one processor to: determine an additional feature vector from an additional input set based on identifying the additional input set that contains additional requirements of the user after identifying the input set; determine the candidate score of the candidate vector based on the additional feature vector and the candidate vector; and provide a vector-related service paired with the target vector and corresponding to the additional input set based on the target vector determined by the candidate score of the candidate vector. [9] The apparatus of claim 1, wherein the instructions further enable the at least one processor to store a vector-related service paired with the feature vector and corresponding to the input set in the database by pairing the vector-related service with the feature vector according to the input set. [10] A method for controlling a robot, the method comprising: Determining a feature vector for providing a target service to a user according to an input set based on identifying the input set containing requirements of the user; Determining a candidate score of a candidate vector based on the feature vector and the candidate vector stored in a database; and Providing the target service paired with a target vector containing a specific service according to the input sentence based on the target vector determined by the candidate value of the candidate vector. [11] The method of claim 10, wherein determining the feature vector includes: Translating an input language of the input sentence by translating the input language of the input sentence into a target language in response to the input language of the input sentence not being the target language; Determining at least one input sentence keyword from the input sentence by removing a stop word of the input sentence; and Determining a target keyword of the input sentence from a first service table based on the at least one input sentence keyword and the first service table with respect to the synonym assignment. [12] The method of claim 11, wherein determining the feature vector includes: Determining a leader sentence corresponding to the target keyword based on a second service table relating to the service mapping; and Obtaining the feature vector by applying the guide sentence to a feature extraction model trained to extract a feature of a given sentence. [13] The method of claim 10, wherein determining the candidate score of the candidate vector includes: Determining a token by performing word tokenization from a corpus containing documents with at least one sentence; Determining a first frequency value of the token with respect to a term frequency with which the token is included in the corpus based on the corpus; Determining a second frequency value of the token with respect to an inverse document frequency with which the token is contained in the documents based on the corpus; Determining a target weight of the token based on the first frequency value and the second frequency value; and Determine the candidate vector of a given sentence containing the token based on the target weight of the token. [14] The method of claim 10, wherein determining the candidate score of the candidate vector comprises determining the candidate score of the candidate vector by applying the feature vector and the candidate vector to a score calculation model, the score calculation model being trained to extract a similarity score related to the similarity based on the Euclidean dot product. [15] The method of claim 10, wherein providing the target service includes: Identifying at least one database vector from the database in which the candidate vector is stored; Determining a database vector score of the at least one database vector based on the feature vector and the at least one database vector; and Determining the target vector based on the database vector score of the at least one database vector and a threshold score. [16] The method of claim 15, wherein providing the target service includes: Determining an output vector group that exceeds the threshold and that contains the target vector by comparing the database vector value of the at least one database vector with the threshold; and Provide a vector-related service paired with each vector contained in the output vector group. [17] The method of claim 10, wherein providing the target service includes: Determining an additional feature vector from an additional input set based on identifying the additional input set including additional user requirements after identifying the input set; Determining the candidate score of the candidate vector based on the additional feature vector and the candidate vector; and Providing a vector-related service paired with the target vector and corresponding to the additional input set based on the target vector determined by the candidate score of the candidate vector. [18] The method of claim 10, wherein providing the target service comprises storing a vector-related service paired with the feature vector and corresponding to the input set in the database by pairing the vector-related service according to the input set with the feature vector. [19] A method for controlling a robot, the method comprising: Translating an input language of an input sentence from a user by translating the input language of the input sentence into a target language in response to the input language of the input sentence not being the target language; Determining a feature vector for providing a target service to the user according to the input set, based on identifying the input set containing requirements of the user; Determining a candidate score of a candidate vector by applying the feature vector and the candidate vector to a score calculation model, wherein the score calculation model is trained to extract a similarity score related to the similarity based on the Euclidean dot product; and Providing the target service paired with a target vector containing a specific service according to the input sentence based on the target vector determined by the candidate value of the candidate vector. [20] The method of claim 19, wherein providing the target service includes: Identifying at least one database vector from the database in which the candidate vector is stored; Determining a database vector score of the at least one database vector based on the feature vector and the at least one database vector; Determining the target vector based on the database vector score of the at least one database vector and a threshold score; Determining an output vector group that exceeds the threshold and that contains the target vector by comparing the database vector value of the at least one database vector with the threshold; and Provide a vector-related service paired with each vector contained in the output vector group.