Response inference method and device
By generating and verifying responses in the latent variable area space, the problem of insufficient diversity of responses generated by existing session models is solved, diversified and personalized responses to user input are achieved, and the reliability of responses is improved.
Patent Information
- Application Number
- CN202010392362.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-10-02
- Filing Date
- 2020-05-11
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2040-05-11
AI Technical Summary
Existing rules-based or search-based session models are difficult to generate diverse responses when processing user input, and the generated session models may generate limited responses for the same input after training.
The reliability of the output response is verified by generating latent variable vectors in the latent variable area space and decoding and comparison using verification vectors, thereby generating a diverse response. The method includes a neural network of an encoder and a decoder, divides the latent variable area space into multiple regions, generates an output response corresponding to the user input, and verifies the reliability of the output response through the verification response.
It realizes diversified and personalized responses to user input generation, improves the response diversity and reliability of the conversation model, and avoids the response problem of restricting the generation of the same input after training.
Smart Images

Figure CN112597270B_ABST
Abstract
Description
[0001] This application claims the benefit of Korean Patent Application No. 10-2019-0122021 filed on October 2, 2019, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety for all purposes by reference. Technical Field
[0002] The following description relates to response inference methods and apparatus. Background Art
[0003] Conversation or discourse models include goal-oriented conversation models and general conversation models. Goal-oriented conversation models generate a single response to discourse with a clear goal. General conversation models generate various responses to discourse without a specific goal (e.g., sequential greetings or expressions of emotion).
[0004] Models that generate responses to user utterances include rule-based conversation models, search-based conversation models, and generation-based conversation models. In one example, the rule-based conversation model uses a preconfigured template. In one example, the search-based conversation model searches for a suitable response in a database. In one example, the generation-based conversation model uses a pre-trained encoder and decoder to generate the best response. Summary of the invention
[0005] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[0006] In one general aspect, a processor-implemented response inference method includes: receiving an input; generating a latent variable vector in a latent variable region space including multiple regions corresponding to multiple responses by encoding the received input; generating a verification vector having a predetermined phase difference from the generated latent variable vector; generating an output response corresponding to the region of the latent variable vector by decoding the latent variable vector; generating a verification response corresponding to the region of the verification vector by decoding the verification vector; verifying the output response by comparing the output response with the verification response; and outputting an output response to the received input based on a result of the verification.
[0007] The step of generating the verification vector may include generating the verification vector such that the verification vector has a predetermined phase difference with the latent variable vector.
[0008] The step of generating the verification vector may include generating the verification vector such that the verification vector is inversely phased with the latent variable vector.
[0009] The verification vector may include a plurality of verification vectors, and wherein the step of generating the verification vector may include generating the verification vector such that the verification vector has a plurality of predetermined phase differences with the latent variable vector.
[0010] The latent variable vector may be a multi-dimensional vector that may include a plurality of latent information variables used to generate a response to a received input.
[0011] The step of generating the latent variable vector may include: generating a latent variable by encoding the received input; and generating a latent variable vector belonging to one of the plurality of regions included in the latent variable region space corresponding to the latent variable.
[0012] The step of generating the latent variable vector may include: sampling a plurality of vectors based on a probability distribution representing a latent variable region space; and generating the latent variable vector based on the sampled plurality of vectors.
[0013] The step of validating the output response may include: scoring the output response; scoring the validation response; and comparing the score of the output response to the score of the validation response.
[0014] The step of comparing may include determining whether a difference between the score of the output response and the score of the verification response is greater than a predetermined value.
[0015] The input may be an utterance of a user in a conversation that does not intend for a specific response, and each of the plurality of responses is a different response to the utterance.
[0016] The step of generating a latent variable vector may include encoding the received input with an encoder, and wherein a neural network of the encoder includes an input layer corresponding to the received input and an output layer corresponding to a mean and a variance of a probability distribution modeling the latent variable.
[0017] The step of generating an output response may include decoding a latent variable vector with a decoder, and the step of generating a verification response may include decoding a verification vector with the decoder, and wherein a neural network of the decoder may include an input layer corresponding to the latent variable vector and an output layer corresponding to the output response.
[0018] The neural network of the decoder may include an input layer corresponding to the verification vector and an output layer corresponding to the verification response.
[0019] In one general aspect, a processor-implemented training method includes: receiving a training input; receiving a training response from a plurality of training responses to the received training input; generating a latent variable by applying the received training input to an encoder to be trained; generating a training latent variable vector including a region in a latent variable region space corresponding to the latent variable; generating an output response by applying the training latent variable vector to a decoder to be trained; and training a neural network of the encoder and a neural network of the decoder based on the output response and the training response to generate a trained neural network.
[0020] The method may also include: generating a training verification vector having a predetermined phase difference with the training latent variable vector; generating a training verification response by applying the training verification vector to the decoder; training a discriminator, the discriminator being configured to operate to discriminate between an output response and the training verification response; and training a neural network of the encoder and a neural network of the decoder so that the discriminator cannot discriminate between the output response and the training verification response.
[0021] The training latent variable vector may be a multi-dimensional vector including a plurality of latent information variables for generating responses to training inputs.
[0022] The latent variable region space may include a plurality of regions corresponding to the plurality of training responses.
[0023] The step of generating a training latent variable vector may include: sampling multiple vectors based on a probability distribution representing a latent variable region space; generating an embedded control input by randomizing the control input; applying the embedded control input to the sampled multiple vectors; and generating a training latent variable vector by taking a weighted sum of the sampled multiple vectors to which the embedded control input is applied.
[0024] In one general aspect, a response inference device includes: a processor configured to: receive an input; generate a latent variable vector in a latent variable region space including multiple regions corresponding to multiple responses by encoding the received input; generate a verification vector having a predetermined phase difference from the generated latent variable vector; generate an output response corresponding to the region of the latent variable vector by decoding the latent variable vector; generate a verification response corresponding to the region of the verification vector by decoding the verification vector; verify the output response by comparing the output response with the verification response; and output the output response to the received input based on a result of the verification.
[0025] The device may also include: a memory, the memory including instructions, wherein, in response to the instructions being executed by the processor, the processor is controlled to perform processing of receiving input, processing of generating a latent variable vector in a latent variable region space, processing of generating a verification vector, processing of generating an output response, processing of generating a verification response, processing of verifying an output response, and processing of outputting an output response.
[0026] In one general aspect, a processor-implemented response inference method includes: receiving user input; generating a probability distribution with an encoder based on the received input; sampling multiple vectors based on the generated probability distribution; applying an embedded control input to each of the sampled multiple vectors; generating a latent variable vector from the probability distribution based on the control input; and generating an output response corresponding to a region of the latent variable vector by decoding the latent variable vector.
[0027] The control input may be a vector of the same dimension as the plurality of vectors of samples.
[0028] A probability distribution may be generated from a mean and variance generated from user input.
[0029] Other features and aspects will be apparent from the following detailed description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1 An example of a response inference method according to one or more embodiments is shown.
[0031] Figure 2A and Figure 2B An example of a response inference method according to one or more embodiments is shown.
[0032] Figure 3A and Figure 3B An example of a response inference method according to one or more embodiments is shown.
[0033] Figure 4A and Figure 4B Examples of operations performed using an encoder and a decoder according to one or more embodiments are shown.
[0034] Figure 5A and Figure 5B An example of generating a latent variable vector through multi-sampling according to one or more embodiments is shown.
[0035] Figure 6 Examples of generating output responses and validation responses in accordance with one or more embodiments are shown.
[0036] Figure 7An example of comparing an output response to a validation response is shown in accordance with one or more embodiments.
[0037] Figure 8 An example of a training method for response inference according to one or more embodiments is shown.
[0038] Fig. 9 An example of a training method for response inference according to one or more embodiments is shown.
[0039] Fig.10 An example of a training method for response inference according to one or more embodiments is shown.
[0040] Fig.11 An example of a configuration of a response inference device according to one or more embodiments is shown.
[0041] Throughout the drawings and detailed description, unless otherwise described or provided, the same figure reference numerals will be understood to refer to the same elements, features, and structures. The drawings may not be to scale, and the relative sizes, proportions, and depictions of the elements in the drawings may be exaggerated for clarity, illustration, and convenience. DETAILED DESCRIPTION
[0042] The following specific embodiments are provided to help the reader gain a comprehensive understanding of the methods, devices and / or systems described herein. However, various changes, modifications and equivalents of the methods, devices and / or systems described herein will be clear after understanding the disclosure of the present application. For example, the order of operations described herein is only an example and is not limited to the order set forth herein, but can be changed as will be clear after understanding the disclosure of the present application, except for operations that must occur in a specific order. In addition, for greater clarity and simplicity, the description of known features may be omitted.
[0043] The features described herein may be implemented in different forms and are not to be construed as being limited to the examples described herein. Rather, the examples described herein have been provided only to illustrate some of the many possible ways of implementing the methods, devices and / or systems described herein that will be clear after understanding the disclosure of the present application.
[0044] Although terms such as "first", "second" and "third" may be used herein to describe various members, components, regions, layers or parts, these members, components, regions, layers or parts are not limited by these terms. On the contrary, these terms are only used to distinguish one member, component, region, layer or part from another member, component, region, layer or part. Therefore, without departing from the teaching of the example, the first member, first component, first area, first layer or first part referred to in the example described herein may also be referred to as the second member, second component, second area, second layer or second part. For example, within the scope of the rights of the conception according to the present disclosure, the "first" component may be referred to as the "second" component, or similarly, the "second" component may be referred to as the "first" component.
[0045] It should be noted that if a first component is described as being “connected,” “coupled” or “engaged” to a second component, although the first component may be directly connected, coupled or engaged to the second component, a third component may be “connected,” “coupled” or “engaged” between the first and second components.
[0046] The terms used herein are only used to describe various examples and are not intended to limit the disclosure. Unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. It will also be understood that when the terms "comprise" and / or "include" are used herein, the description of the features, wholes, steps, operations, elements, components and / or their groups is present, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or their groups.
[0047] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as those generally understood by those skilled in the art to which the present disclosure belongs after understanding the present disclosure. Unless explicitly defined as such herein, terms (such as those defined in general dictionaries) should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and the present disclosure, and should not be interpreted in an idealized or overly formal manner.
[0048] The examples set forth below relate to techniques for generating responses using a generation-based conversation model. Rule-based or search-based conversation models may have difficulty recognizing various inputs and are limited to generating responses within expressions in a database, whereas generation-based conversation models recognize various inputs through training. Ordinary generation-based conversation models generate optimal responses based on training, and therefore, in some examples, ordinary generation-based conversation models may have limitations in generating various responses to the same input. However, the generation-based conversation model disclosed herein provides techniques for generating various responses to the same input.
[0049] Hereinafter, examples will be described in detail with reference to the accompanying drawings. In the accompanying drawings, the same reference numerals are used for the same elements.
[0050] Figure 1 An example of a response inference method is shown. Figure 1 The operations in the description may be performed in the order and manner shown, but the order of some operations may be changed or some operations may be omitted without departing from the spirit and scope of the illustrative examples described. Figure 1 Many of the operations shown may be performed in parallel or simultaneously. Figure 1 One or more blocks and combinations of blocks may be implemented by a computer based on special-purpose hardware that performs specific functions or a combination of special-purpose hardware and computer instructions.
[0051] Reference Figure 1 In operation 101, a response inference device obtains input from a user. The input may be an utterance, such as a natural language utterance of the user. In one example, the response inference device is a device that infers a response to an input from a user. In one example, the response inference device is implemented on a hardware component as described below. The user input includes information that can generate a response to the user input (such as, for example, a user utterance). For example, the user input includes a multidimensional vector suitable for processing by the response inference device.
[0052] Reference Figure 2A and Figure 2B , the response inference device 201 may generate multiple responses to the same user input. For example, in response to the user input of "Parenting is hard.", a first response of "It is, but you're doing very well." may be generated at a first time point, and a second response of "It definitely isn't easy. I'd like to pat you on the shoulder." may be generated at a second time point. Therefore, in the automatically generated responses that can be personalized in nature, the user can feel a sense of presence rather than boredom. Here, it should be noted that the use of the term "may" with respect to examples or embodiments (for example, with respect to what an example or embodiment may include or implement) means that there is at least one example or embodiment that includes or implements such a feature, and all examples and embodiments are not limited thereto.
[0053] Refer again Figure 1 In operation 102, the response inference device generates a latent variable vector in a latent variable region space including a plurality of regions corresponding to a plurality of responses by encoding the user input. As further described below, the response inference device generates a latent variable region space corresponding to the user input, and generates a different response for each region of the divided latent variable region space.
[0054] In one example, the response inference device encodes the user input using an encoder. In one example, the encoder is a neural network and generates latent variables by transforming the dimensions of the user input. For example, the encoder can be trained to generate latent variables from the user input, and the trained encoder can generate latent variables from the user input. In one example, the latent variables are modeled by probability distribution. For example, the latent variables are represented as a latent variable region space by a probability distribution including a mean and a variance.
[0055] In one example, the latent variable region space is a space representing latent variables generated by an encoder, and includes multiple regions corresponding to multiple responses obtained by training the encoder and the decoder. The latent variable region space is divided by multiple control inputs corresponding to the multiple responses. In one example, the control input is information that causes the generation of latent variable vectors in the regions of the latent variable region space. The control input is a vector of the same dimension as the dimension of the generated vector. The operation of using the control input to divide the latent variable region space during the training process will be further described below.
[0056] In the following, for ease of description, an example of dividing the latent variable region space into a plurality of regions corresponding to a plurality of responses included in the latent variable region space will be described. However, the example is not limited thereto. In some examples, the plurality of regions corresponding to the plurality of responses may not cover the entire latent variable region space. In addition, reference will be made to FIG. 3A to FIG. 10 An example in which a plurality of regions corresponding to a plurality of responses included in the latent variable region space are included in the latent variable region space is further described.
[0057] The response inference device generates a latent variable vector from a user input. The latent variable vector is a vector indicating a position within a latent variable domain space and belongs to any one of a plurality of regions. The response inference device generates a latent variable vector belonging to one of a plurality of regions divided into the latent variable region space based on a probability distribution.
[0058] The latent variable vector is a multidimensional vector containing multiple latent information variables used to generate a response corresponding to the user input. Figure 2A and Figure 2B As shown in the example of , the user input is a user utterance in a normal conversation that is not intended to obtain a specific answer, and the response to the user input is a response to the user utterance.
[0059] Refer again Figure 1In operation 103, the response inference device generates a verification vector having a predetermined phase difference with the latent variable vector. The verification vector indicates a position similar to the latent variable vector in the latent variable region space. The response inference device generates the verification vector so that the verification vector has a predetermined phase difference with the latent variable vector. The response inference device generates the verification vector so that the verification vector is inversely proportional to the latent variable vector.
[0060] The verification vector may include multiple verification vectors. In this example, the response inference device generates multiple verification vectors so that the multiple verification vectors and the latent variable vector have multiple predetermined phase differences. In one example, in a set of vectors including multiple verification vectors and latent variable vectors, the phase difference between the closest vectors is constant. In another example, the phase difference between the multiple verification vectors and the latent variable vector is randomly determined.
[0061] Refer again Figure 1 In operation 104, the response inference device generates an output response corresponding to the region to which the latent variable vector belongs by decoding the latent variable vector. Since the latent variable region space is divided into a plurality of regions corresponding to various responses, the response inference device infers various responses from the user input. The response inference device uses an encoder and a decoder implemented by a trained neural network, thereby identifying various user inputs and generating various responses suitable for or related to the identified user input.
[0062] Refer again Figure 1 In operation 105, the response inference device generates a verification response corresponding to the region of the verification vector by decoding the verification vector. In operation 106, with respect to the generated verification response and the generated output response, the response inference device verifies the output response by comparing the output response with the verification response. In detail, the response inference device scores the output response and the verification response, and compares the score of the output response with the score of the verification response. For example, the response inference device compares the reliability of the output response with the reliability of the verification response.
[0063] In one example, the response inference device verifies the output response by determining whether the difference between the score of the output response and the score of the verification response is greater than a predetermined value. For example, in response to the difference between the reliability of the output response and the reliability of the verification response being greater than a threshold, the response inference device determines that the verification of the output response has failed. In response to the difference being less than the threshold, the response inference device determines that the verification of the output response has succeeded. Figure 7 An example in which a response inference device verifies an output response is further described.
[0064] Refer again Figure 1 In operation 107, the response inference device outputs an output response to the user input based on the result of the verification. Figure 7 An example in which the response inference device outputs an output response based on the result of the verification is further described.
[0065] The response inference device performs a response inference method to verify the utterance generated by natural language generation based on a deep neural network. In addition, the response inference device performs the response inference method, whereby the performance of the response inference device is improved, which will be further described below.
[0066] Figure 3A and Figure 3B An example of a response inference method according to one or more embodiments is shown.
[0067] Reference Figure 3A and Figure 3B , the response inference device encodes the user input (X) to generate a probability distribution Q(Z|X) that models the latent variable. The latent variable region space corresponding to the latent variable Z <z>It is represented by a probability distribution.
[0068] exist Figure 3A In the latent variable region space <z>Includes multiple control inputs corresponding to various responses. Figure 3B In the latent variable region space <z>The response inference device generates a latent variable vector z from a probability distribution Q(Z|X). In one example, the response inference device randomly generates the latent variable vector z from the probability distribution. In one example, the response inference device generates the latent variable vector z using the control input.
[0069] Latent variable region space <z>like Figure 3A Examples including multiple control inputs corresponding to various responses as in the examples of may include examples using a conditional variational autoencoder (CVAE) model.
[0070] In one example, the latent variable vector z may belong to a latent variable region space <z>In the latent variable region space <z>In one example, the response inference device decodes the latent variable vector z to generate an output response P(Y=y_i|Z=z_i). For example, the response inference device decodes the latent variable vector z generated randomly. 1 Decode to generate the latent variable vector z 1 The output response y corresponding to the area 1 .
[0071] In one example, the response inference device generates a latent variable vector z from a probability distribution Q(Z|X) using the control input. The response inference device obtains a latent variable region space <z>The response inference device selects a control input corresponding to a response of an area or a setting in the output region, and causes the generation of a latent variable vector z corresponding to the area using the obtained control input. For example, the response inference device selects one of a plurality of control inputs corresponding to a plurality of responses, and causes the generation of a latent variable vector z corresponding to the selected control input. The response inference device generates an output response by decoding the generated latent variable vector z. For example, the response inference device generates an output response by decoding the latent variable vector z generated using the control input. 2 Decode to generate the output response y 2 As described above, the response inference device infers the response by implementing an encoder and a decoder. Figure 4A and Figure 4B Describes the operations performed by encoders and decoders.
[0072] Figure 4A and Figure 4B Examples of operations performed by an encoder and a decoder according to one or more embodiments are shown.
[0073] Reference Figure 4A , the response inference device generates an output response from a user input by implementing an encoder 401 and a decoder 402. The encoder 401 and the decoder 402 are pre-trained to perform encoding and decoding based on a latent variable region space divided into a plurality of regions. The encoder 401 and the decoder 402 can be trained to generate different output responses for a plurality of regions of the latent variable region space. The latent variable region space is divided into a plurality of regions by a plurality of control inputs during a training process.
[0074] The generation of output responses based on user inputs may be accomplished by a neural network model implemented as a processor of a dedicated computing architecture, which may provide a computationally intuitive mapping between input patterns and output patterns or pattern recognition of input patterns after extensive training. The training capability to generate such mappings or perform such pattern recognition may be referred to as the learning capability of the neural network. Such training capability may also enable the dedicated computing architecture to classify such input patterns or portions of input patterns as belonging to members of one or more predetermined groups. Furthermore, due to the specialized training, such a specialized trained neural network may have a generalization capability to generate relatively accurate or reliable outputs relative to, for example, input patterns for which the neural network may not have been trained.
[0075] In one example, the neural network of the encoder 401 includes an input layer 403 corresponding to the user input, a hidden layer 404, and an output layer 405 corresponding to the mean and variance of the probability distribution modeling the latent variable. The neural network of the decoder 402 includes an input layer 406 corresponding to the latent variable vector, a hidden layer 407, and an output layer 408 corresponding to the output response. In one example, although not shown in the drawings, the input layer 406 in the neural network of the decoder 402 corresponds to the verification vector, and the output layer 408 in the neural network of the decoder 402 corresponds to the verification response.
[0076] As a non-limiting example, a neural network may be configured to perform sound recognition, language recognition, and speech recognition by mapping input data or user utterances to output data in a non-linear relationship based on deep learning. As a non-limiting example, such deep learning indicates a processor-implemented machine learning solution for solving problems (such as problems associated with speech recognition from large data sets). Deep learning can be achieved by mapping input data and output data through supervised or unsupervised learning or training, so that when trained, the resulting machine learning model, engine, or example neural network can intuitively map further input data to output data with a desired accuracy or reliability.
[0077] The above structure of the neural network is provided only as an example. The nodes in the layer, the connection structure, and the aspects of the parameters can be modified differently to improve the efficiency and performance of training or inference.
[0078] As described above, in one example, the neural network of the encoder 401 and the neural network of the decoder 402 may have the architecture of a deep neural network (DNN) or the architecture of an n-layer neural network. The DNN or n-layer neural network may correspond to a convolutional neural network (CNN), a recurrent neural network (RNN), a deep belief network, a fully connected network, a bidirectional neural network, a restricted Boltzmann (Boltzman) machine, or may include different or overlapping neural network parts having full connections, convolutional connections, recurrent connections and / or bidirectional connections, respectively. For example, the neural networks of the encoder 401 and the decoder 402 may be implemented as CNNs. However, the neural networks of the encoder 401 and the decoder 402 are not limited thereto. In addition to the convolutional layer, the CNN as an example of the encoder 401 and the decoder 402 may include a downsampling layer, a pooling layer, a fully connected layer, and the like.
[0079] The neural network may be implemented as an architecture having a plurality of layers including input layers 403 and 406, feature maps, and output layers 405 and 408. In the neural network, a convolution operation between an input and a filter called a kernel is performed, and as a result of the convolution operation, a feature map is output.
[0080] In one example, the output feature map is the input feature map, and the convolution operation between the output feature map and the kernel is performed again, and as a result, a new feature map is output. Based on such repeated convolution operations, eventually, an output response corresponding to the region to which the latent variable vector 419 belongs is output.
[0081] The response inference device generates a probability distribution 411 based on the mean and variance generated from the user input using the encoder 401. As described above, the response inference device randomly generates a latent variable vector 413 belonging to one of the multiple regions of the latent variable region space 412 from the probability distribution 411, and uses the decoder 402 to generate an output response corresponding to the region to which the latent variable vector 413 belongs.
[0082] The response inference device can use the control input to cause the generation of the latent variable vector in the desired region. For example, the response inference device uses the control input C 1 416 Generate a latent variable vector z belonging to the first region of the latent variable region space 415 from the probability distribution 414 1 417, and uses the decoder 402 to generate the latent variable vector z 1 The output response corresponding to the area 417 belongs to. The response inference device uses the control input C 2 418 generates a latent variable vector z belonging to a second region among the multiple regions of the latent variable region space 415 from the probability distribution 414 2 419, and uses the decoder 402 to generate the latent variable vector z 2 The output response corresponding to the area to which 419 belongs.
[0083] Reference Figure 4B , an example of an operation of realizing generation of a latent variable vector from the output layer 405 of the encoder 401 is shown. The response inference device transforms the latent variable vector sampled from the normal distribution N with mean "0" and variance "1" to a latent variable vector z sampled from a probability distribution Z corresponding to the mean μ and variance σ of the output layer 405. For example, the response inference device generates the latent variable vector z by sampling ε from the normal distribution N and calculating μ+σ·ε from ε.
[0084] In one example, the neural network of the encoder 401 and the neural network of the decoder 402 are configured to process audio data in a voice entry or a user's speech to extract information about the voice entry for voice recognition of the voice entry, providing a response, or voice-to-text conversion. For example, the neural network performs convolution on one or more input feature maps corresponding to the voice entry to generate an output feature map. The neural network device generates a response to the voice recognition output or a response as a text conversion output based on the information in the output feature map. That is, the neural network of the encoder 401 and the neural network of the decoder 402 may explicitly or implicitly indicate the result of the voice recognition or voice-to-text conversion as a response. For example, the response to the recognized voice may be explicitly indicated by displaying in the form of text on a display of a response inference device or may be audibly fed back to the user or another user, or an implicit indication may be provided by additional operation or selective non-operation of the response inference device based on the result of the voice recognition. Compared with a typical neural network device, the neural network device of the encoder 401 and the neural network device of the decoder 402 can quickly and efficiently process convolution operations in the neural network to provide a response to a voice prompt. Thus, optimal usage of available hardware resources for performing the convolution is achieved.
[0085] Figure 5A and Figure 5B An example of generating a latent variable vector through multi-sampling according to one or more embodiments is shown.
[0086] Reference Figure 5A , the response inference device includes a component 502 configured to generate a latent variable vector 506 applied to a decoder 503 from a probability distribution (e.g., mean and variance) generated by an encoder 501. The response inference device samples a plurality of vectors 504 based on the probability distribution generated by the encoder 501. In one example, the response inference device randomly samples the plurality of vectors 504 from the probability distribution. In one example, the plurality of vectors 504 may include multi-dimensional variables.
[0087] In one example, the response inference device may generate a latent variable vector 506 that randomly selects any one of the multiple responses using the embedded control input 505. For example, the embedded control input 505 may be a vector of the same dimension as the sampled vector 504 and is randomly determined.
[0088] The response inference device applies the embedded control input 505 to each of the sampled vectors 504. The response inference device calculates the similarity by performing a dot product operation between the control input 505 and each of the sampled vectors 504.
[0089] In one example, the response inference device generates the latent variable vector 506 by implementing a similarity-based weighted sum of the sampled vectors to which the embedded control input 505 is applied. For example, as the directions of the vectors become relatively more similar to each other, the result of the dot product operation between the vectors may have a relatively larger value. Therefore, in one example, the response inference device generates the latent variable vector 506 by summing the results of the dot product operation between the control input 505 and each of the sampled vectors 504. In another example, the response inference device generates the latent variable vector 506 by summing the sampled vectors 504 using the soft maximum value (SoftMax value) of the results of the dot product operation between the control input 505 and each of the sampled vectors 504 as a weight.
[0090] As described above, latent variable vector 506 is a multidimensional vector representing a latent variable for inferring a response, and sampled vector 504 and control input 505 are vectors of the same dimension. Therefore, in one example, latent variable vector 506 is also generated with the same dimension as sampled vector 504 and control input 505. The response inference device generates an output response from latent variable vector 506 with decoder 503.
[0091] In this example, as referenced Figure 2A and Figure 2B As described, one of various responses to the same user input is randomly selected and output.
[0092] The response inference device causes a desired response based on a control input. The control input is a vector of the same dimension as the dimension of the sampled vector 504. In order to cause a specific response among various responses, the response inference device selects a control input from a plurality of control inputs. As described above, the control input is a vector that shifts the latent variable vector to a region among a plurality of regions into which the latent variable region space is divided.
[0093] In one example, the response inference device randomizes the control input. For example, the response inference device generates the embedded control input 505 by applying the random input to the control input.
[0094] As shown in Table 1 below, the response inference device generates an output response from the user input using the control input corresponding to the keyword.
[0095] Table 1:
[0096]
[0097] As shown in Table 2 below, the response inference device generates an output response from the user input using the control input corresponding to the emotion.
[0098] Table 2:
[0099]
[0100] In addition to the above examples, as indicated in Table 3 and Table 4 below, the control input may be set based on attitude and indication or user guidance, and various schemes may be adopted and applied according to design intention.
[0101] Table 3:
[0102]
[0103] Table 4:
[0104]
[0105] Figure 5A The control inputs used in the example are the same as those used for the training process, which will be described later.
[0106] Reference Figure 5B , an example of implementing a multi-sampling operation is shown. The response inference device transforms the latent variable vector N multi-sampled from a normal distribution with mean "0" and variance "1", thereby generating a latent variable vector z sampled from a probability distribution Z corresponding to a mean μ and a variance σ i , where i = 1, 2, ..., n, and n is a positive integer greater than 2. For example, the response inference device calculates the distribution of ε from the normal distribution N i Perform multisampling and extract from ε i Calculate μ+σ·ε i , to generate the latent variable vector z i 504.
[0107] In one example, the encoder 501 and the decoder 503 are trained simultaneously by implementing an operation of multisampling the latent variable vector between the encoder 501 and the decoder 503 using nodes of a neural network, which will be described later. In this way, the example can be implemented using an end-to-end neural network.
[0108] Figure 6 Examples of generating output responses and validation responses in accordance with one or more embodiments are shown.
[0109] Reference Figure 6 In operation 601, the response inference device obtains user input. The response inference device encodes the obtained user input in operation 602, and thus generates a latent variable vector in operation 603. In one example, the response inference device samples a plurality of vectors based on a probability distribution representing a latent variable region space, and generates a latent variable vector based on the sampled vectors. The response inference device decodes the latent variable vector in operation 604, and thus generates an output response in operation 605.
[0110] In operation 606, the response inference device generates a verification vector by additional sampling. In one example, the verification vector is generated so that the verification vector and the latent variable vector are inverted. In another example, the verification vector is generated so that the verification vector and the latent variable vector have a predetermined phase difference. In yet another example, the verification vector is generated so that the verification vector and the latent variable vector have a random phase difference. The response inference device decodes the verification vector in operation 607, and thus generates a verification response in operation 608. The decoding of operation 604 and the decoding of operation 607 may be performed by the same decoder. In one example, the decoding of operation 604 and the decoding of operation 607 may be performed by separate decoders.
[0111] The response inference device verifies the output response generated in operation 605 based on the verification response generated in operation 608. Figure 7 Examples of validation output responses are further described.
[0112] In one example, multiple verification vectors may be additionally sampled. In this example, the response inference device generates multiple verification responses by decoding the multiple verification vectors. The response inference device may verify the output response based on at least one verification response of the multiple verification responses. For example, the response inference device may select a verification response that is most similar to the output response from the multiple verification responses, and verify the output response based on the selected verification response.
[0113] Figure 7 An example of comparing the output response to the verification response is shown.
[0114] Reference Figure 7 The response inference device applies the score to the output response and the verification response to compare the output response with the verification response. In operation 700, the response inference device verifies the output response by determining whether a difference between the score of the output response and the score of the verification response is greater than or equal to a predetermined value α.
[0115] In one example, the score of the output response and the score of the verification response may correspond to a likelihood score. The likelihood score is determined by considering the correlation between the multiple words that make up the response to be scored. The likelihood score reflects the naturalness of the sentence and the consistency of the meaning of the sentence.
[0116] Based on the result of the verification, the response inference device outputs an output response to the user input. In response to a difference between the score of the output response and the score of the verification response being less than a predetermined value α, the response inference device outputs an output response.
[0117] In response to the difference between the score of the output response and the score of the verification response being greater than or equal to the predetermined value α, the response inference device does not output the output response. The response inference device may search for new response candidates by performing sampling again, and verify the newly found response candidates by performing additional sampling again.
[0118] In another example, the response inference device may receive another user input. For example, the response inference device may provide guidance to the user to induce input again.
[0119] Figure 8 An example of a training method for response inference according to one or more embodiments is shown. Figure 8 The operations in the description may be performed in the order and manner shown, but the order of some operations may be changed or some operations may be omitted without departing from the spirit and scope of the illustrative examples described. Figure 8 Many of the operations shown in FIG. 1 may be performed in parallel or simultaneously. Figure 8 One or more blocks and combinations of blocks may be implemented by a computer based on dedicated hardware or a combination of dedicated hardware and computer instructions that perform specific functions. Figure 8 In addition to the description, Figures 1 to 7 The description also applies to Figure 8 , and are incorporated herein by reference. Therefore, the above description may not be repeated here.
[0120] Reference Figure 8 In operation 801, a training device for response inference (hereinafter, training device) obtains a training input. The training device is a device for training an encoder and / or a decoder to infer a response, and can be implemented on a hardware component.
[0121] In operation 802, a training device obtains a training response among a plurality of training responses to a training input. The training response is a response suitable for the training input and corresponds to a ground truth value.
[0122] In operation 803, the training device obtains a control input corresponding to the obtained training response among a plurality of control inputs corresponding to a plurality of training responses. For example, the training response to the training input "I like listening to jazz these days." may include but is not limited to "So do I!", "I like it, too." and "Yeah, we clicked.", and the plurality of control inputs correspond to the plurality of training responses respectively.
[0123] In one example, the control input is a feature vector generated by encoding the training response. Figure 2B In the example of , the first control input is generated by encoding “So do I!”, the second control input is generated by encoding “I like it, too.”, the third control input is generated by encoding “Yeah, we clicked.”, and the fourth control input is generated by encoding “Wow, we clicked.” The first to fourth control inputs are multidimensional vectors indicating different positions in the multidimensional space.
[0124] When the latent variable region space is determined based on user input, the latent variable region space is divided into a plurality of regions using various control inputs corresponding to various responses. In this example, a neural network is trained to output a response corresponding to each divided region. In addition, the training device generates an embedded control input by adding a random input to the control input, and divides the latent variable region space using the embedded control signal, thereby increasing the proportion of each region in the latent variable region space.
[0125] In another example, the control input is a feature vector generated by encoding information such as keywords or emotions as shown in Tables 1 and 2 above. For example, referring to Table 1, the first control input is generated by encoding the keyword "movie", and the second control input is generated by encoding the keyword "book".
[0126] In one example, the training device selects a control input corresponding to a training response to be used for training from among a plurality of control inputs.
[0127] In operation 804, the training device generates latent variables by applying training inputs to the encoder to be trained. As described above, probability distribution is a way of representing a latent variable region space corresponding to the latent variable, and the encoder is designed to output a mean and a variance.
[0128] In operation 805, the training device generates a training latent variable vector for a region included in the latent variable region space based on the probability distribution and the obtained control input. In one example, the training device generates a training latent variable vector for a region corresponding to the obtained control input in the latent variable region space. As described above, the control input causes the generation of a latent variable vector in a region of the latent variable region space, and therefore, the training device generates a training latent variable vector corresponding to the control input.
[0129] In operation 806, the training device generates an output response by applying the training latent variable vector to the decoder to be trained. As described above, the decoder is designed to output a response from the latent variable vector.
[0130] In operation 807, the training device trains the neural networks of the encoder and decoder based on the output response and the training response. The neural network is trained using various schemes. The training device optimizes the neural networks of the encoder and decoder and divides the latent variable region space so that different output responses are generated for the region corresponding to the control input. The response inference device generates various output responses using the latent variable region space divided by training.
[0131] Fig. 9 An example of a training method for response inference according to one or more embodiments is shown.
[0132] Reference Fig. 9 , the training device applies the training input to the encoder 901, and applies the encoding vector output from the encoder 901 to the sampler 902. The sampler 902 is implemented to perform Figure 6 Operation 603 and operation 606.
[0133] The decoder 903 generates an output response or a training verification response based on the output from the sampler 902. For example, if the training latent variable vector is generated by the sampler 902 in operation 603, the decoder 903 generates an output response. If the training verification vector is generated by the sampler 902 in operation 606, the decoder 903 generates a training verification response.
[0134] The discriminator 904 and the decoder 903 can operate competitively. The decoder 903 generates data that is as similar as possible to real data, and the discriminator 904 discriminates between real data and data that is not real data (hereinafter, false data). In one example, the real data corresponds to the output of the decoder 903 generated in operation 603, and the false data corresponds to the output of the decoder 903 generated in operation 606.
[0135] In one example, for the competitive operation between the discriminator 904 and the decoder 903, training is performed as follows: The training device uses back-propagation learning to train the decoder 903 and / or the encoder 901. The training device trains the encoder 901 and the decoder 903 simultaneously, thereby generating an end-to-end response inference engine.
[0136] For example, if the output response is generated by the decoder 903, the training device trains the discriminator 904 to generate an output corresponding to the real data. In addition, the training device trains the decoder 903 and / or the encoder 901 based on a loss function (e.g., reconstruction loss), which is defined as the difference between the output response and the training response corresponding to the ground truth. The neural network is trained by minimizing the loss function.
[0137] If the training verification response is generated by the decoder 903, the training device trains the discriminator 904 to generate an output corresponding to the fake data. The training device trains the decoder 903 and / or the encoder 901 based on a loss function (e.g., a discrimination loss) defined for the decoder 903 to appropriately deceive the discriminator 904. For example, the training device trains the neural network of the encoder 901 and / or the neural network of the decoder 903 so that the discriminator 904 cannot discriminate between real data and fake data. In one example, the discrimination loss is defined so that the discriminator 904 generates an output corresponding to the real data in response to the training verification response of the decoder 903.
[0138] The training of the decoder 903 and / or the encoder 901 and the training of the discriminator 904 may be competitively performed, and thus the performance of the network including the encoder 901 and the decoder 903 may be improved.
[0139] Fig.10 An example of a training method for response inference according to one or more embodiments is shown.
[0140] Reference Fig.10 , the control input c corresponding to various responses in the latent variable region space 1001 1 、c 2 and c 3 The latent variable region space 1001 is represented by the control input c 1 、c 2 and c 3 In this example, the training device is based on the control input c 1 、c 2 and c 3 , multiple training inputs, training responses, and output responses are used to train the encoder and decoder, and the latent variable region space 1001 is divided into two regions respectively corresponding to the control input c 1 、c 2 and c 3 For ease of description, an example is shown in which the divided regions of the latent variable region space 1001 cover the entire latent variable region space 1001. According to the latent variable region space 1001, the divided regions only cover a portion of the latent variable region space 1001. If a vector not covered by the divided regions is obtained during the sampling process or the additional sampling process, it is determined that the verification has failed.
[0141] In another example, the latent variable region space 1001 is implemented in a form including a plurality of regions 1002, rather than being divided. Similarly, the plurality of regions only cover a portion of the latent variable region space 1001. If a vector that is not covered by the plurality of regions is obtained during the sampling process or the additional sampling process, it is determined that the verification has failed.
[0142] Hereinafter, an example in which the latent variable region space 1001 is implemented in a divided form 1003 will be described.
[0143] In one example, a plurality of regions of the latent variable region space 1001 are different from each other to respectively correspond to control inputs. When a control input is input, the region of the latent variable region space 1001 indicated by the control input may not be known.
[0144] Although not shown in the drawings, the latent variable region space 1001 may be softly partitioned. For example, a plurality of regions of the latent variable region space 1001 may overlap with each other, or an empty region may exist in the latent variable region space 1001. In this example, the latent variable vector may belong to an overlapping region or an empty region of at least two regions.
[0145] Although not shown in the drawings, a response inference engine configured to generate responses taking into account the results of training for different user inputs may be generated.
[0146] Table 5:
[0147]
[0148]
[0149] In one example, referring to Table 5, the output responses a1, a2, and a3 are used for training with respect to the user input A. In addition, the output responses b1 and a2' are used for training with respect to the user input A'.
[0150] The user input A and the user input A′ are similar to each other. In this example, the first latent variable region space generated by the user input A and the second latent variable region space generated by the user input A′ are similar to each other.
[0151] In addition, the output response a2 and the output response a2' are similar to each other. In this example, the first region selected by the feature vector of the output response a2 and the second region selected by the feature vector of the output response a2' are similar to each other.
[0152] The first region of the first latent variable region space and the second region of the second latent variable region space have similar distributions, and the other output responses a1, a3, and b1 are distributed in regions different from the first region and the second region.
[0153] As a result, the response inference engine trained as shown in Table 5 generates b1 and a1, a2, and a3 in response to user input A during the inference process. In addition, the response inference engine also generates a1 and a3 and b1 and a2' in response to user input A'.
[0154] Fig.11 An example of a configuration of a response inference device according to one or more embodiments is shown.
[0155] Reference Fig.11 , the response inference device 1101 includes a processor 1102 and a memory 1103. The response inference device 1101 is the response inference device or training device described above. The processor 1102 includes the above reference Figures 1 to 10 At least one of the multiple devices described above, or performing the above reference Figures 1 to 10 At least one of the multiple methods described above. Further details of processor 1102 are provided below. Memory 1103 stores information related to the response inference method or training method described above, or stores a program for implementing the response inference method or training method described above. Memory 1103 is a volatile memory or a non-volatile memory. Further details of memory 1103 are provided below.
[0156] Processor 1102 executes a program and controls response inference apparatus 1101. Program codes to be executed by processor 1102 are stored in memory 1103. Response inference apparatus 1101 is connected to an external device (e.g., a personal computer or a network) through an input device and an output device (not shown), and exchanges data with the external device.
[0157] In this regard Figures 1 to 11 The response inference device, training device, response inference device 201, encoder 401, decoder 402, encoder 501, component 502, decoder 503, encoder 901, sampler 902, decoder 903, response inference device 1101 described and performing the operations described in this application are implemented as hardware components and implemented by hardware components. Examples of hardware components that can be used to perform the operations described in this application include, where appropriate: controllers, sensors, generators, drivers, memories, comparators, arithmetic logic units, adders, subtractors, multipliers, dividers, integrators, and any other electronic components configured to perform the operations described in this application. In other examples, one or more of the hardware components that perform the operations described in this application are implemented by computing hardware (e.g., by one or more processors or computers). The processor or computer can be implemented by one or more processing elements (such as logic gate arrays, controllers and arithmetic logic units, digital signal processors, microcomputers, programmable logic controllers, field programmable gate arrays, programmable logic arrays, microprocessors or any other devices or combinations of devices configured to respond and execute instructions in a limited manner to achieve the desired result). In one example, the processor or computer includes or is connected to one or more memories storing instructions or software executed by the processor or computer. The hardware components implemented by the processor or computer can execute instructions or software (such as operating systems (OS) and one or more software applications running on OS) for performing the operations described in this application. The hardware components can also access, manipulate, process, create and store data in response to the execution of instructions or software. For simplicity, the singular term "processor" or "computer" can be used in the description of the examples described in this application, but in other examples, multiple processors or computers can be used, or the processor or computer can include multiple processing elements or multiple types of processing elements or both. For example, a single hardware component or two or more hardware components can be implemented by a single processor, or two or more processors, or a processor and a controller. One or more hardware components may be implemented by one or more processors, or a processor and a controller, and one or more other hardware components may be implemented by one or more other processors, or another processor and another controller. One or more processors, or a processor and a controller may implement a single hardware component or two or more hardware components. The hardware components may have any one or more of different processing configurations, examples of which include: a single processor, an independent processor, a parallel processor, a single instruction single data (SISD) multiprocessing, a single instruction multiple data (SIMD) multiprocessing, multiple instructions single data (MISD) multiprocessing, and multiple instructions multiple data (MIMD) multiprocessing.
[0158] Figures 1 to 10 The method for performing the operations described in the present application shown in the embodiment is performed by computing hardware (e.g., by one or more processors or computers), which is implemented as instructions or software as described above to perform the operations performed by the method described in the present application. For example, a single operation or two or more operations may be performed by a single processor, or two or more processors, or a processor and a controller. One or more operations may be performed by one or more processors, or a processor and a controller, and one or more other operations may be performed by one or more other processors, or another processor and another controller. One or more processors, or a processor and a controller may perform a single operation or two or more operations.
[0159] The instructions or software for controlling a processor or computer to implement a hardware component and perform the method as described above are written as a computer program, a code segment, an instruction, or any combination thereof, to individually or collectively instruct or configure a processor or computer to operate as a machine or a special-purpose computer to perform operations performed by the hardware components and methods as described above. In one example, the instructions or software include machine code (such as machine code generated by a compiler) directly executed by a processor or computer. In another example, the instructions or software include high-level code executed by a processor or computer using an interpreter. Instructions or software can be written in any programming language based on the block diagrams and flow charts shown in the accompanying drawings and the corresponding descriptions in the specification, wherein the block diagrams and flow charts shown in the accompanying drawings and the corresponding descriptions in the specification disclose algorithms for performing operations performed by the hardware components and methods as described above.
[0160] Instructions or software for controlling computing hardware (e.g., one or more processors or computers) to implement hardware components and perform the methods described above, as well as any associated data, data files, and data structures, may be recorded, stored, or fixed in or on one or more non-transitory computer-readable storage media. Examples of non-transitory computer-readable storage media include: read-only memory (ROM), random access programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile memory, CD-ROM, CD-R, CD+R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-RLTH, BD-RE, Blu-ray, etc. Optical or optical disk storage device, hard disk drive (HDD), solid state drive (SSD), card memory (such as, multimedia card or micro card (for example, secure digital (SD) or extreme digital (XD))), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid state disk, and any other device, wherein any other device is configured to store instructions or software and any associated data, data files and data structures in a non-transitory manner and provide the instructions or software and any associated data, data files and data structures to one or more processors or computers so that the one or more processors and computers can execute the instructions. In one example, the instructions or software and any associated data, data files and data structures are distributed on a networked computer system so that the instructions and software and any associated data, data files and data structures are stored, accessed and executed in a distributed manner by one or more processors or computers.
[0161] Although the present disclosure includes specific examples, it will be clear after understanding the disclosure of the present application that various changes in form and detail can be made in these examples without departing from the spirit and scope of the claims and their equivalents. The examples described herein will be considered to be merely descriptive and not for limiting purposes. The description of the features or aspects in each example should be considered to be applicable to similar features or aspects in other examples. If the described techniques are performed in a different order, and / or if the components in the described systems, architectures, devices, or circuits are combined in different ways, and / or replaced or supplemented by other components or their equivalents, suitable results can be achieved. Therefore, the scope of the disclosure is not limited by a specific embodiment, but by the claims and their equivalents, and all changes within the scope of the claims and their equivalents should be interpreted as included in the disclosure.< / z> < / z> < / z> < / z> < / z> < / z> < / z>
Claims
1. A response inference method, comprising: Receive input; generating a latent variable vector in a latent variable region space including a plurality of regions corresponding to a plurality of responses by encoding the received input; generating a verification vector having a predetermined phase difference with the generated latent variable vector; By decoding the latent variable vector, an output response corresponding to the region of the latent variable vector is generated; By decoding the verification vector, generating a verification response corresponding to the region of the verification vector; verifying the output response by comparing the output response to the verification response; and Outputting an output response to the received input based on the result of the verification, The step of generating a verification vector includes: generating a verification vector such that the verification vector has a predetermined phase difference with the latent variable vector.
2. The response inference method according to claim 1, wherein: The step of generating a verification vector includes: generating the verification vector so that the verification vector is inversely proportional to the latent variable vector.
3. The response inference method according to claim 1, wherein: The verification vector includes a plurality of verification vectors, and The step of generating a verification vector includes: generating the verification vector so that the verification vector and the latent variable vector have a plurality of predetermined phase differences.
4. The response inference method according to claim 1, wherein: The latent variable vector is a multi-dimensional vector including a plurality of latent information variables used to generate a response to a received input.
5. The response inference method according to claim 1, wherein: The steps to generate the latent variable vector include: Generate latent variables by encoding the received input; and A latent variable vector belonging to one of the plurality of regions included in the latent variable region space corresponding to the latent variable is generated.
6. The response inference method according to claim 5, wherein: The steps to generate the latent variable vector include: sampling a plurality of vectors based on a probability distribution representing a latent variable region space; and A latent variable vector is generated based on the sampled multiple vectors.
7. The response inference method according to claim 1, wherein: The steps to verify the output response are: scoring the output responses; Scoring validation responses; and Compare the score of the output response to the score of the validation response.
8. The response inference method according to claim 7, wherein: The step of comparing includes determining whether a difference between the score of the output response and the score of the verification response is greater than or equal to a predetermined value.
9. The response inference method according to claim 1, wherein: The input is an utterance by the user in a conversation that does not intend for a specific response, and Each response of the plurality of responses is a different response to the utterance.
10. The response inference method according to claim 1, wherein: The step of generating the latent variable vector comprises: encoding the received input with an encoder, and The neural network of the encoder includes an input layer corresponding to the received input and an output layer corresponding to the mean and variance of the probability distribution modeling the latent variable.
11. The response inference method according to claim 1, wherein: The steps of generating an output response include: decoding the latent variable vector with a decoder, and The step of generating a verification response comprises: decoding the verification vector with the decoder, and The neural network of the decoder includes an input layer corresponding to the latent variable vector and an output layer corresponding to the output response.
12. The response inference method according to claim 11, wherein: The neural network of the decoder includes an input layer corresponding to the verification vector and an output layer corresponding to the verification response.
13. A non-transitory computer-readable storage medium storing instructions, wherein when the instructions are executed by a processor, the processor is caused to perform the response inference method of claim 1.
14. A training method comprising: receiving training input; receiving a training response from a plurality of training responses to the received training input; generating latent variables by applying the received training input to the encoder to be trained; generating a training latent variable vector including a region in a latent variable region space corresponding to the latent variable; Generate an output response by applying the training latent variable vector to the decoder to be trained; Training the neural network of the encoder and the neural network of the decoder based on the output response and the training response to generate a trained neural network; generating a training validation vector having a predetermined phase difference with the training latent variable vector; generating a training validation response by applying a training validation vector to the decoder; training a discriminator configured to operate to discriminate between an output response and a training validation response; and The neural network of the encoder and the neural network of the decoder are trained such that the discriminator cannot discriminate between an output response and a training verification response.
15. The training method according to claim 14, wherein: The training latent variable vector is a multi-dimensional vector including a plurality of latent information variables used to generate responses to training inputs.
16. The training method according to claim 14, wherein: The latent variable region space includes a plurality of regions corresponding to the plurality of training responses.
17. The training method according to claim 14, wherein: The steps to generate the training latent variable vector include: Sampling a plurality of vectors based on a probability distribution representing a latent variable region space; generating embedded control inputs by randomizing the control inputs; applying an embedded control input to the sampled multiple vectors; and The training latent variable vector is generated by applying a weighted sum of multiple vectors of samples of the embedded control input.
18. A response inference device comprising: The processor is configured as: Receive input; generating a latent variable vector in a latent variable region space including a plurality of regions corresponding to a plurality of responses by encoding the received input; generating a verification vector such that the verification vector has a predetermined phase difference with the generated latent variable vector; By decoding the latent variable vector, an output response corresponding to the region of the latent variable vector is generated; By decoding the verification vector, generating a verification response corresponding to the region of the verification vector; verifying the output response by comparing the output response to the verification response; and An output response to the received input is output based on the result of the verification.
19. The response inference device of claim 18, further comprising: Memory, including instructions, Wherein, in response to the instruction being executed by the processor, the processor is controlled to perform processing of receiving input, processing of generating a latent variable vector in a latent variable region space, processing of generating a verification vector, processing of generating an output response, processing of generating a verification response, processing of verifying an output response, and processing of outputting an output response.
20. A response inference method, comprising: Receive user input; Based on the received input, generate a probability distribution using an encoder; sampling multiple vectors based on the generated probability distribution; applying an embedded control input to each of the sampled plurality of vectors; generating a latent variable vector from a probability distribution based on an embedded control input; generating an output response corresponding to a region of the latent variable vector by decoding the latent variable vector; generating a verification vector having a predetermined phase difference with the generated latent variable vector; By decoding the verification vector, generating a verification response corresponding to the region of the verification vector; verifying the output response by comparing the output response to the verification response; and An output response to the received input is output based on the result of the verification.
21. The response inference method according to claim 20, wherein: The embedded control input is a vector of the same dimension as the dimension of the sampled multiple vectors.
22. The response inference method according to claim 20, wherein: The probability distribution is generated from the mean and variance generated from the user input.
