Using dynamic memory networks to track digital conversation states and generate responses
Through the dynamic memory network architecture and gating mechanism of the neural network, the flexibility and accuracy problems of the traditional dialogue state tracking system are solved, and more efficient dialogue state tracking and response generation are achieved.
Patent Information
- Application Number
- CN201910552285.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-09-19
- Filing Date
- 2019-06-21
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2039-06-21
AI Technical Summary
Traditional dialogue state tracking systems lack flexibility, accuracy, and efficiency. They find it difficult to effectively track and generate digital dialogue states based on all relevant information, resulting in inflexible, inaccurate, and inefficient responses.
A neural network based on a dynamic memory network architecture is used, with multiple memory slots and gating mechanisms (reset gates and update gates) to generate digital dialogue states. The values of the memory slots are updated through cross-slot interactions to generate flexible and accurate digital responses.
This improves the flexibility and accuracy of the dialogue state tracking system, reduces the need for user interaction, improves computational efficiency, and enables more accurate response generation.
Smart Images

Figure CN110929114B_ABST
Abstract
Description
Background Art
[0001] Recent years have seen significant improvements in hardware and software platforms that use artificial intelligence to facilitate conversations between devices and users. For example, many modern devices offer virtual assistants that allow users to participate by asking questions or performing search queries. Many of these conversation platforms employ systems that intelligently track the state of a conversation at any given point in order to determine a response relevant to a particular conversation segment (e.g., a statement or question) based on the surrounding context. For example, a conversation state tracking system can determine the current conversation state based on the current conversation segment and its surrounding context. The system can then use the current conversation state to provide a response to the current conversation segment.
[0002] While these conventional systems can track digital conversation states to provide digital responses, such systems suffer from several technical drawbacks that result in inflexible, inaccurate, and inefficient operation. For example, conventional conversation state tracking systems are often inflexible in that they rigidly determine the current conversation state corresponding to the current conversation segment without considering related conversation segments that may be related to the current state. Specifically, many conventional systems employ conversation state tracking models (e.g., neural network architectures such as LSTMs and GRUs) that fail to maintain relevant information about previous segments of the conversation. For example, as the models process new segments of the conversation, they may continuously update their data stores with new data corresponding to each segment. Consequently, these models tend to discard (i.e., “forget”) old, previously stored data, even if the data is still relevant. Consequently, when a user provides a new segment of conversation with context clearly informed by previous segments of the conversation preceding the new segment, these models may not consider these previous segments.
[0003] Despite flexibility considerations, traditional conversation state tracking systems are also inaccurate. For example, traditional systems often struggle to accurately determine the digital conversation state. Specifically, because traditional systems often employ models that struggle to retain relevant information about older segments of a conversation (even when relevant to the current conversation state), such systems are unable to generate a digital conversation state based on all relevant information. Consequently, traditional systems may generate digital conversation state predictions that do not accurately reflect the true current conversation state.
[0004] In addition to issues with flexibility and accuracy, conventional dialog state tracking systems are also inefficient. Specifically, because conventional systems often inaccurately determine the digital dialog state, such systems typically provide responses that are unhelpful to the dialog segment, thereby requiring additional user interaction to elicit the correct response. For example, conventional systems may require the user to rephrase a statement or ask different questions (often multiple times) before providing the correct response. Due to the increased interaction, such conventional systems often require additional computing resources (e.g., processing power and memory) to provide an appropriate response.
[0005] These and additional issues and challenges exist with traditional dialog state tracking systems. Summary of the Invention
[0006] One or more embodiments described herein utilize systems, methods, and non-transitory computer-readable storage media for generating responses based on a digital conversation state generated by a neural network having a dynamic memory network architecture to provide benefits and / or address one or more of the aforementioned or other problems in the art. For example, in one or more embodiments, the disclosed system provides a digital conversation having one or more segments (e.g., statements, questions, etc.) to a conversation state tracking neural network trained to generate digital conversation states. Specifically, the conversation state tracking neural network can include a dynamic memory network architecture having multiple memory slots, each of the multiple memory slots encoding a latent representation corresponding to an important topic of the conversation (e.g., a topic, an action to be taken, etc.). In one or more embodiments, the conversation state tracking neural network processes each segment of the conversation to modify the value of one or more memory slots using a gating mechanism (e.g., a reset gate and an update gate). In some embodiments, the gating mechanism utilizes reset gates and update gates to modify the value of a memory slot based on cross-slot interactions between the memory slots and other memory slots. After processing each segment of the digital conversation, the conversation state tracking neural network determines a digital conversation state based on the final slot value, and the disclosed system generates a digital response to the segment based on the determined state. In this manner, the disclosed system can flexibly, accurately, and efficiently generate a digital response based on all relevant information.
[0007] To illustrate, in one or more embodiments, a system may identify a digital conversation that includes a first segment and a second segment (e.g., two parts of a conversation). The system may then provide the digital conversation to a conversation state tracking neural network that includes a dynamic memory network having a plurality of memory slots and a plurality of corresponding reset gates. The system may utilize the conversation state tracking neural network to generate a value for the memory slot based on the first segment and then utilize the reset gate associated with the memory slot to generate a new value for the memory slot based on the second segment. In some embodiments, the system also utilizes an update gate associated with the memory slot to generate the new value. In other embodiments, the system reset gate and update gate are cross-slot interaction gates that function based on cross-slot interactions identified between the memory slots in the dynamic memory network. After generating the new value, the system may generate a digital conversation state corresponding to the second segment based on the new value of the memory slot. The system may then generate a digital response to the second segment based on the digital conversation state.
[0008] Additional features and advantages of one or more embodiments of the present disclosure are summarized in the description which follows, and in part will be apparent from the description, or may be learned by practice of such example embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] DETAILED DESCRIPTION One or more embodiments are described with additional specificity and detail through the use of the drawings as briefly described below.
[0010] Figure 1 illustrates a block diagram of a conversation state tracking system for generating responses to digital conversation segments according to one or more embodiments;
[0011] Figure 2 illustrates an example exchange of conversation segments and responses according to one or more embodiments;
[0012] Figure 3 illustrates a schematic diagram of a dynamic memory network architecture of a dialog state tracking neural network trained to generate digital dialog states according to one or more embodiments;
[0013] Figures 4A-4C illustrates a schematic diagram of a dynamic memory cell with a single update gate according to one or more embodiments;
[0014] Figures 5A-5D illustrates a schematic diagram of a dynamic memory cell having an update gate and a reset gate according to one or more embodiments;
[0015] Figure 6 illustrates a schematic diagram of a dynamic memory cell with cross-slot interactive gates according to one or more embodiments;
[0016] Figure 7illustrates a block diagram of a conversation state tracking system for generating a response based on a digital conversation state according to one or more embodiments;
[0017] Figure 8 illustrates a block diagram of training a dialog state tracking neural network to generate digital dialog states in accordance with one or more embodiments;
[0018] Figure 9 A table illustrating experimental results regarding the effectiveness of a dialog state tracking system according to one or more embodiments;
[0019] Figure 10 illustrates an example environment in which a dialog state tracking system may operate according to one or more embodiments;
[0020] Figure 11 An example schematic diagram of a conversation state tracking system according to one or more embodiments is illustrated;
[0021] Figure 12 A flow chart illustrating a series of actions for generating a response to a digital conversation segment based on a digital conversation state according to one or more embodiments; and
[0022] Figure 13 A block diagram of an exemplary computing device is illustrated in accordance with one or more embodiments. DETAILED DESCRIPTION
[0023] One or more embodiments described herein include a conversation state tracking system that generates responses based on a digital conversation state generated by a neural network having a dynamic memory network architecture. For example, the conversation state tracking system may utilize a conversation state tracking neural network that generates digital conversation states based on values stored in a plurality of memory slots, each of which encodes a latent representation corresponding to an important topic of the conversation. The conversation state tracking neural network may generate the memory slot values by processing digital conversation segments. In some embodiments, the conversation state tracking neural network generates the memory slot values using a gating mechanism (e.g., a reset gate and an update gate) that determines the influence of the current segment of the conversation or previous segments of the conversation. In some embodiments, the gating mechanism also generates values based on associations between memory slots. The conversation state tracking neural network uses the memory slot values to generate digital conversation states, and the conversation state tracking system then uses those states to generate digital responses to the segments of the conversation.
[0024] To provide an example, in one or more embodiments, a conversation state tracking system provides a digital conversation to a conversation state tracking neural network having a dynamic memory architecture including a plurality of memory slots and a reset gate. The conversation state tracking system uses the neural network to generate a first value for the memory slot based on a first segment of the digital conversation. Subsequently, the conversation state tracking neural network utilizes the reset gate associated with the memory slot to generate a second value for the memory slot based on a second segment of the digital conversation. In some embodiments, the conversation state tracking neural network generates the second value for the memory slot by further utilizing an update gate associated with the first memory slot. In some embodiments, the conversation state tracking neural network utilizes the reset gate and the update gate to generate the second value based on cross-slot interactions between the memory slot and other memory slots in the dynamic memory architecture. The conversation state tracking neural network generates a digital conversation state corresponding to the second segment of the digital conversation based on the second value of the memory slot. Using the digital conversation state, the conversation state tracking system can generate a digital response to the second segment.
[0025] As just mentioned, in one or more embodiments, the dialog state tracking system utilizes a dialog state tracking neural network having a dynamic memory network architecture to generate a digital dialog state. Specifically, the dynamic memory network architecture provides a plurality of memory slots, wherein each memory slot stores a value indicative of a characteristic of the digital dialog state (i.e., encoding a latent representation of an important topic of the conversation). The dialog state tracking neural network utilizes the values of the plurality of memory slots to generate a digital dialog value. When the dialog state tracking neural network processes a digital dialog segment, it generates new values for one or more of the memory slots to generate a new digital dialog state corresponding to the segment.
[0026] Additionally, as mentioned above, the conversation state tracking neural network utilizes multiple reset gates associated with multiple memory slots to generate values for those memory slots. In one or more embodiments, the conversation state tracking neural network utilizes the reset gates associated with a memory slot to modify the effect of a previous segment of a digital conversation on the current value generated for that memory slot. For example, the conversation state tracking neural network can utilize the reset gates to disregard previous segments of a digital conversation in determining the memory slot value for a subsequent segment of a digital conversation. In some embodiments, the conversation state tracking neural network utilizes the reset gates by determining a reset value and then applying the reset value to modify the effect of the previous segment of the conversation.
[0027] In one or more embodiments, the conversation state tracking neural network further includes a plurality of update gates associated with the plurality of memory slots and the plurality of reset gates. Specifically, the conversation state tracking neural network can utilize the plurality of update gates in generating values for corresponding memory slots. For example, the conversation state tracking neural network can utilize an update gate associated with a memory slot to modify the effect of a current segment of a digital conversation on a current value generated for that memory slot. In some embodiments, the conversation state tracking neural network utilizes the update gates by determining an update value and applying the update value to modify the effect on the current segment of the digital conversation.
[0028] As further mentioned above, in one or more embodiments, a gate associated with each memory slot is used to further determine the impact of a (current or previous) segment of a digital conversation based on a cross-slot interaction. Specifically, a cross-slot interaction can include an association between one memory slot and another memory slot (e.g., when one memory slot changes, the other memory slot also changes). The conversation state tracking system can learn cross-slot interactions in a training conversation state tracking neural network and then generate a value for the memory slot based on the interaction between the memory slot and each other available memory slot. For example, a reset gate can include a cross-slot interaction reset gate for applying a cross-slot interaction reset value to modify the impact of a previous segment of a digital conversation on a current value generated for a memory slot. Additionally, an update gate can include a cross-slot interaction update gate for applying a cross-slot interaction update value to modify the impact of a current segment of a digital conversation on a current value generated for a memory slot.
[0029] The conversation state tracking system offers several advantages over traditional systems. For example, the conversation state tracking system improves the flexibility of considering relevant data when generating digital conversation states. Specifically, by implementing a conversation state tracking neural network with a dynamic memory network architecture containing multiple memory slots, the conversation state tracking system can generate digital conversation states based on all relevant previous segments of a conversation. Specifically, the dynamic memory network architecture allows relevant data stored in the memory slots to be maintained for a long period of time while also emphasizing relevant newly acquired data from the digital conversation. Therefore, if those previous segments are relevant to the current state, the conversation state tracking system can generate the current digital conversation state based on previous segments of the digital conversation that significantly preceded the current segment. To illustrate, a virtual assistant helping a user plan a trip to a specific location can store data related to the name of the location mentioned at the beginning of the conversation so that when the user requests a hotel recommendation a few minutes later, they specifically want recommendations related to that location. Furthermore, by using cross-slot interaction update and reset gates, the conversation state tracking system can flexibly account for associations between memory slots so that relevant changes to the data in one memory slot can affect the new value generated for another memory slot.
[0030] In addition, the conversation state tracking system improves accuracy. Specifically, by utilizing a conversation state tracking neural network with a dynamic memory network architecture containing multiple memory slots that can store relevant data for a long period of time, the conversation state tracking system can consider all relevant information when determining the digital conversation state. Additionally, by utilizing update gates and reset gates and generating new values based on cross-slot interactions between memory slots, the conversation state tracking system can more accurately determine the conversation state and generate responses. To illustrate, the virtual assistant can more accurately follow the conversation with the user (e.g., what the conversation is currently about) because the virtual assistant can "remember" information it has determined to be still relevant and "forget" information it has determined to be irrelevant. Therefore, the virtual assistant only considers relevant information when determining the state of the conversation.
[0031] Additionally, by more accurately generating digital conversation states, the conversation state tracking system operates more efficiently. Specifically, because the conversation state tracking system more accurately determines the digital conversation state, the system can further generate digital responses that more accurately respond to the digital conversation segments. This reduces the need for additional interactions between the conversation state tracking system and the user before the system can provide an appropriate response. Due to this reduced need for additional interactions, the conversation state tracking system improves the efficiency of the implemented computer system by requiring less processing power and memory during operation. As an example, a virtual assistant can more accurately identify that a request for a hotel recommendation is related to a specific location previously mentioned in the conversation. Therefore, the virtual assistant can provide the user with a recommendation for the specific location without requiring the user to resubmit the request or rephrase the request to include the name of the specific location. Therefore, by providing an accurate answer the first time, the virtual assistant avoids using processing power that would be required to perform subsequent work.
[0032] As illustrated by the foregoing discussion, the present disclosure utilizes various terms to describe the features and benefits of a conversation state tracking system. Additional details regarding the meaning of these terms are now provided. For example, as used herein, the term "digital conversation" refers to data reflecting an exchange. Specifically, a digital conversation may include digital data representing an exchange between two or more systems or entities. For illustration, a digital conversation may represent an exchange between a user (e.g., a person) and a device, or an exchange between two devices. More specifically, a digital conversation may reflect an audio conversation (e.g., a conversation between a human using a telephone device and an artificial intelligence response system), a text conversation (e.g., a chat or text message communication between a client device and an artificial intelligence response system), or another conversation. Additionally, as used herein, the terms "segment," "conversation segment," "digital conversation segment," or "digital conversation segment" refer to a portion of a digital conversation. Specifically, a segment may refer to a subset of a digital conversation that comprises the entirety of a digital conversation or less than the entirety of a digital conversation. For illustration, a segment may include statements or questions from a conversation.
[0033] Additionally, as used herein, the term "digital conversation state" or "conversation state" refers to a description of a conversation. Specifically, a digital conversation state can refer to a description of the characteristics of a conversation at a given point in time. For example, the digital conversation state can describe the current topic of the conversation, the type of conversation (e.g., the type of request), the subject or goal (e.g., the goal of the request), specific actions to be taken based on instructions given by the conversation, or the location (e.g., the location for the request) or entity described by the conversation.
[0034] Additionally, as used herein, the term "neural network" refers to a machine learning model that can be tuned (e.g., trained) to approximate an unknown function based on an input. Specifically, the term neural network can include a model of interconnected neurons that communicate and learn to approximate complex functions and generate outputs based on multiple inputs provided to the model. For example, the term neural network includes one or more machine learning algorithms. In addition, a neural network is an algorithm (or a set of algorithms) that implements a deep learning technique that models a high level of abstraction in data using a set of algorithms. The term neural network can include a dynamic memory network. As used herein, the term "dynamic memory network" refers to a recursive neural network that utilizes multiple dynamic memory units and an attention mechanism in a specific stage of an analysis sequence. As described in more detail below, a dynamic memory unit can include a gating mechanism (e.g., a reset gate and / or an update gate), a memory slot, and an algorithm for updating the value of a memory slot based on input data at different stages of a sequence of events (e.g., a content-based operation).
[0035] As used herein, the term "memory slot" refers to a potential representation of a subject, topic, and / or characteristic of a digital conversation. Specifically, the term memory slot includes a memory mechanism within a dynamic memory network that reflects a subject (e.g., via a latent feature vector). Multiple memory slots within a dynamic memory network can collectively represent a potential conversation state. A memory slot can refer to a specific location in memory (e.g., a location in a hardware storage device) or a specific reference to a value stored in memory (e.g., any memory location that stores a value for a specific conversation characteristic).
[0036] Additionally, as used herein, the term "reset gate" or "update gate" refers to a gating mechanism for generating a value for a memory slot. Specifically, the term reset gate may refer to a gating mechanism that modifies the effect of previous data (e.g., a previous memory slot value) on the generation of new data (e.g., the current memory slot value for the current segment of a conversation). For illustration, a reset gate may include a gating mechanism corresponding to a memory slot that modifies the effect of previous input on the current value to be stored in the memory slot. Similarly, as used herein, the term "update gate" may refer to a gating mechanism that modifies the effect of new data on the generation of a new value. For illustration, an update gate may include a gating mechanism corresponding to a memory slot that modifies the effect of current input (e.g., the current conversation feature representation) on the current value to be stored in the memory slot.
[0037] In addition, as used herein, the term "cross-slot interaction" refers to a mechanism for modifying a memory slot value based on other memory slot values (e.g., in the same time step or item of a sequence). Specifically, a cross-slot interaction includes an association between a memory slot and another memory slot that is part of a dynamic memory network. For example, a cross-slot interaction reset gate modifies the effect of a previous input on the current value generated for a memory slot based on the association between the memory slot and each other memory slot. Similarly, a cross-slot interaction update gate modifies the effect of a current input on the current value generated for a memory slot based on such an association.
[0038] Additionally, as used herein, the term "conversation feature representation" refers to a set of numerical values representing a digital conversation or conversation segment. Specifically, the term conversation feature representation includes feature vectors generated using a convolutional neural network that reflect the underlying characteristics and / or novelty of a conversation or conversation segment. In one or more embodiments, the conversation feature representation is a multidimensional dataset (e.g., a matrix or vector) representing characteristics of a conversation. In one or more embodiments, the conversation feature representation is a set of numerical values learned by a machine learning algorithm, such as a convolutional layer of a conversation state tracking neural network.
[0039] Additionally, as used herein, the term "response" or "digital response" refers to a reaction to a digital conversation segment. Specifically, the term response includes a communicative reply or action taken after receiving a digital conversation segment. For illustration, a response can include an answer to a question, a statement made in response to another statement, or an action taken in response to a request or instruction provided by one or more segments of the conversation. A response can take the form of digital text, digital audio, or an action performed (e.g., cropping an image).
[0040] Additional details about the dialog state tracking system will now be provided with reference to the accompanying drawings. For example, Figure 1 A block diagram for generating a digital response to a digital conversation segment is illustrated in accordance with one or more embodiments. Figure 1As shown, the conversation state tracking system 102 uses a digital conversation 104 that includes one or more segments to generate a plurality of digital responses 108. It should be noted that the digital conversation 104 can include any number of segments, and the conversation state tracking system 102 can generate any suitable number of corresponding digital responses as part of the plurality of digital responses 108. In one or more embodiments, the conversation state tracking system generates a digital response for each segment of the digital conversation 104 (or all segments from a particular individual or source).
[0041] As an illustration, Figure 1 The conversation state tracking system 102 is shown obtaining a segment 106 of a digital conversation 104. In one or more embodiments, the segment 106 is audibly provided to the conversation state tracking system 102 (e.g., a user speaks the segment 106 or a device renders an audio representation of the segment 106). In some embodiments, the segment 106 is rendered via a written submission (e.g., a user submits a typed representation of the segment 106 using a computing device implementing the conversation state tracking system 102). In other embodiments, the conversation state tracking system 102 identifies the digital conversation 104 and included segments in other ways (e.g., accessing a record or transcript stored on a database). Figure 1 As shown, segment 106 poses a question requesting recommendations for places to visit while traveling in Singapore.
[0042] like Figure 1 As can be seen in FIG, the dialog state tracking system 102 uses the segment 106 of the digital dialog 104 to generate a digital response 110 to the segment 106. Specifically, Figure 1 The dialog state tracking system 102 is shown employing a dialog state tracking neural network 112 in generating a digital response 110. More specifically, the dialog state tracking neural network 112 generates a digital dialog state that is used by the dialog state tracking system 102 to generate a digital response as will be discussed in more detail below. Figure 1 As shown, digital response 110 is an answer to the question posed by segment 106 of digital dialogue 104, providing the requested place recommendation.
[0043] Figure 2 Figures illustrate example exchanges of conversation segments and digital responses, and corresponding digital conversation states, according to one or more embodiments. Specifically, the figures illustrate a conversation between a user (e.g., a person), referred to as a "user," and a conversation state tracking system, referred to herein as an "assistant." More specifically, the conversation includes a request by the user to have a photo edited and posted to a social media account.
[0044] like Figure 2 As shown, in one or more embodiments, the dialog state tracking system cooperates with another system to execute user requests, to retrieve answers to user questions, etc. For example, Figure 2 As shown, a conversation state tracking system can collaborate with a photo editing system to edit photos as requested by a user. For illustration, a user can provide a segment of a conversation requesting the photo editing system to crop a selected photo. The conversation state tracking system can receive the segment of the conversation and determine the current digital conversation state. The photo editing system can then crop the selected photo based on the digital conversation state, and the conversation state tracking system can subsequently generate a digital response notifying the user that the action has been taken.
[0045] like Figure 2 As can be seen in Figure 2, as the digital conversation continues (i.e., as the user provides consecutive segments of the conversation), the conversation state tracking system continuously determines the current digital conversation state. For example, when the user requests that the top of the photo be cropped, the conversation state tracking system determines that the digital conversation state 202 includes a topic ("crop") and a location ("top"). Subsequently, when the user requests that the photo be changed to a black and white version, the conversation state tracking system determines that the digital conversation state 204 includes a new topic ("adjust") and type ("black and white").
[0046] like Figure 2 As shown, in some embodiments, a particular digital conversation state remains in effect even after a new segment of a digital conversation (e.g., the conversation state tracking system generates a digital conversation state that is the same as a previous digital conversation state). For example, the conversation state tracking system maintains digital conversation states 202, 206, and 208 across multiple segments of a digital conversation received from a user. However, the conversation state tracking system can change the digital conversation state for each new segment of the digital conversation as needed. For example, once the user provides a next segment requesting a change to the contrast of a photo, the conversation state tracking system changes the digital conversation state from digital conversation state 204 to digital conversation state 206.
[0047] As mentioned above, in some embodiments, the dialog state tracking system utilizes a dialog state tracking neural network to generate a digital dialog state, which is used in generating a digital response. Specifically, in one or more embodiments, the dialog state tracking neural network includes a dynamic memory network architecture. Figure 3 A schematic diagram illustrating a dynamic memory network architecture of a dialog state tracking neural network 300 used by one or more embodiments of a dialog state tracking system to generate digital dialog states is shown. Figure 3 A broad overview of the dialog state tracking neural network 300 is provided, but reference will be made below to Figure 4A-6 Provides more details about the network and its architecture.
[0048] like Figure 3 As shown, the dialogue state tracking neural network 300 can obtain the t-w+1 to u tAs input 302 at time step t, a sequence of digital dialogue segments (e.g., utterances) of u is used, where w represents the history window. In other words, u t Indicates the current segment of a digital conversation and starts from u t-w+1 to u t The sequence of represents the previous segments of the digital conversation within the selected time window used by the dynamic memory network in determining the current digital conversation state (i.e., the digital conversation state at time t). In one or more embodiments, the segment u is obtained. t-w+1 to u t-1 Part of the sequence of input 302 includes processing the segments and storing the resulting values in one or more of the memory slots before time t (e.g., processing the segment u at time t-1 t-1 And store the obtained value in the corresponding memory slot, etc.). Figure 3 As can be seen in , and as will be discussed in more detail below, the value of a memory slot at time t-1 can be used in generating a new value for the memory slot at time t. In other words, the value generated by processing a previous segment of the digital conversation can affect the current value obtained by processing the current segment of the digital conversation. Thus, a segment (e.g., utterance) u t-w+1 to u t-1 The sequence of becomes part of the input 302 for generating the value for the memory slot at time t (and hence for generating the digital dialog state).
[0049] Specifically, the dialog state tracking neural network 300 utilizes an embedded convolutional neural network to generate a dialog feature representation for the current dialog segment. In one or more embodiments, the dialog state tracking neural network 300 utilizes an embedded convolutional neural network to generate the dialog feature representation, as described by Y. Kim, “Convolutional Neural Networks for Sentence Classification,” EMNLP, 2014, which is incorporated herein by reference in its entirety. The dialog state tracking neural network 300 then analyzes the dialog feature representation along with the value from the previous memory slot (e.g., latent feature vector) to generate a new value for the memory slot. The memory slot is then used to generate a state prediction for the current dialog segment.
[0050] More specifically, regarding Figure 3 In an embodiment, the dialog state tracking neural network 300 represents a digital dialog segment having n words as an n×k input matrix by concatenating vectors, each of which is a k-dimensional word embedding representing the i-th word in the segment. Using convolutional layers (e.g., convolutional layer 304), the dialogue state tracking neural network 300 will have filters with the same width k as the input matrix and a given height m Applied to the input matrix to generate the following convolutional features at the i-th position:
[0051]
[0052] In Equation 1, represents the subregion from row i to row j in the input matrix, is a bias term, and σ represents a nonlinear activation function (e.g., a rectified linear unit). When using Equation 1, a series of convolution operations when sliding from the first row to the (n–m+1)th row of the input matrix produces a filter Convolutional feature map of Then, the largest element c ′ = max(c) is selected from each convolutional feature map and is considered the most important feature for that specific filter in the corresponding max pooling layer (e.g., max pooling layer 306).
[0053] Using a max pooling layer (e.g., max pooling layer 306), the dialog state tracking neural network 300 generates a dialog feature representation (e.g., a feature vector) It is an l-dimensional vector representation of the corresponding segment of the digital dialogue, where l is the total number of filters used in the convolutional layer. The dialogue state tracking neural network 300 then represents the dialogue feature Provided to a dynamic memory layer (e.g., dynamic memory layer 308), which uses one or more dynamic memory units to generate a latent feature vector h for each memory slot j j The following will refer to Figure 4A-6 Let’s discuss the dynamic memory unit in more detail. Each memory slot j transforms the latent feature vector h j One or more values are stored to encode a potential representation corresponding to an important topic of the digital conversation. For example, a first memory slot may store a value corresponding to the topic of the digital conversation and a second memory slot may store a value corresponding to an action to be taken according to an instruction provided by the digital conversation.
[0054] When processing the current segment of a digital conversation, the conversation state tracking neural network 300 will previously hold the The value in is routed to the corresponding dynamic memory unit, which can generate the current potential feature vector to be stored in this memory slot The previously held value of this memory slot is used in the digitized conversation (along with the current segment and the corresponding key vector w j Generated dialogue feature representation By routing the previously held value of each memory slot to the corresponding dynamic memory unit for generating the current value, the dialog state tracking neural network 300 enables the previous segment of the digital dialog to influence the current digital dialog state. In other words, the previous segment of the digital dialog ut-w+1 to u t-1 The effect on the current digital conversation state is provided as a previous value held by the memory slot for use in determining a current value for the memory slot. In one or more embodiments, generating the current value for the memory slot includes overwriting the previous value of the memory slot in a memory location designated for the memory slot. In some embodiments, generating the current value includes storing the current value in a different memory location and designating the new memory location as the memory slot.
[0055] like Figure 3 As can be seen in FIG, after generating the current value for each memory slot, the dialog state tracking neural network 300 uses the prediction layer 310 to generate the current digital dialog state. Specifically, the dialog state tracking neural network 300 converts the current value of each memory slot, (by processing the current segment u of the digital dialog through the convolution layer 304) into t Generated) current dialogue feature representation and (by processing the previous segment u of the digital conversation through the convolutional layer 304 t-1 Generated) previous dialogue feature representation Provided to the prediction layer 310 to generate the digital dialogue state. In one or more embodiments, the prediction layer 310 includes a softmax classifier.
[0056] As mentioned, the dialog state tracking neural network 300 uses a dynamic memory unit corresponding to each memory slot to generate a current value (ie, a latent feature vector) for that memory slot. Figure 4A-6 More details are provided regarding the dynamic memory cells utilized by one or more embodiments. Specifically, Figure 4A-6 As can be seen in FIG, the dialogue state tracking neural network 300 uses a memory unit including a gating mechanism to determine what data used to generate a latent feature vector to be stored as a value in a corresponding memory slot.
[0057] Figure 4A 4 shows a dynamic memory cell 400 with an update gate 402 according to one or more embodiments. Figure 4A The inputs and functions used by the dynamic memory unit 400 in generating the value for the jth memory slot at the i-th time step are illustrated. Specifically, θ represents one or more (update) functions 404 having a set of analysis inputs as trainable parameters that are part of the dynamic memory unit 400. For example, with respect to FIG4 , θ may represent the function used to generate the update value 2 and / or trainable parameters. In one or more embodiments, the dialog state tracking system 102 generates update (or reset) values using an update (or reset) function as described in Tracking the World State With Recurrent Entity Networks (ICLR 2017, CoRR abs / 1612.03969. http: / / arxiv.org / abs / 1612.03969) by M. Henaff, J. Weston, A. Szlam, A. Bordes, and Y. LeCun, which is incorporated herein by reference in its entirety.
[0058] It should be noted that arrow 406 indicates h j is provided as part of the set that is input when generating a value for the memory slot in the next time step (i.e., after receiving the next segment of the digital dialogue). In other words, when generating a value for the jth memory slot at the i-th time step, arrow 406 represents the previous value is provided as input to function 404 .
[0059] The dynamic memory unit 400 generates the value for the jth memory slot at the i-th time step using the following equation:
[0060]
[0061] In the above equation, Indicates the updated value, w j is the trainable key vector, represents the candidate value, and the parameters U, V, W are shared across all memory slots. It should be noted that as shown in Equation 2, the updated value Depends on two items and They represent the updated values Represented by conversation features With the key vector w j and the previous value of the memory slot In other words, the previous value and the key vector w j Serves as an activation signal, thereby controlling the segment of the dialog that "activates" the jth memory slot (ie, determines to what extent the memory slot will be updated with new information or will be updated with new information).
[0062] The updated value is generated using Equation 2 After that, the dynamic memory unit 400 applies the update value to the update gate 402. Specifically, the update gate 402 controls the candidate value Affect current value As can be seen in Equation 4, since the candidate value Including through Figure 3 The dialogue feature representation generated by processing the current segment of the digital dialogue shown So the update gate 402 controls the current segment of the digital dialogue affecting the current value In other words, the update value The application modifies the current segment of the digital dialogue to the current value impact.
[0063] Figures 4B-4C Each diagram shows when the update gate 402 is updated according to the update value The schematic diagram of the dynamic memory unit corresponding to the dynamic memory unit 400 when positioning. For example, Figure 4B Illustrate when updating the value 402 corresponds to the memory cell 410 positioned at the update gate 402. Figure 4B As shown and as can be seen from Equation 4, when When the memory unit 410 is completely based on the previous value of the memory slot To generate the current value In other words, when , the simplified memory unit 410 does not update the value of the memory slot with new information obtained from the current segment of the digital conversation.
[0064] Similarly, Figure 4C Illustrate when updating the value 402 corresponds to the memory cell 420 that updates the positioning of the gate 402. Figure 4C And from Equation 4, we can see that when When the simplified memory unit 420 is completely based on the candidate value To generate the current value Because the candidate value Contains the set of inputs 422, so the simplified memory unit 420 is based on the previous value of the memory slot The key vector w corresponding to the memory slot j , and a conversation feature representation generated by processing the current segment of the digital conversation To update the value of the memory slot.
[0065] It should be noted that Figures 4B-4C The diagram shows the updated value corresponding to The position of the update gate 402 of the available extreme value. However, as shown by Equation 2, can have any value between 0 and 1. Therefore, the dialog state tracking system 102 applies the update gate 402 so that the current value of the memory slot The memory slot may be based at least in part on the previous value of the and candidate values Both to generate.
[0066] As mentioned above, the dialog state tracking system 102 may also utilize a dynamic memory cell with a reset gate. Figure 5A FIG2 illustrates a dynamic memory cell 500 having an update gate 502 and a reset gate 504 according to one or more embodiments. Specifically, Figure 5A 1 illustrates the inputs and functions used by the dynamic memory unit 500 in generating the value for the jth memory slot at the i-th time step. Specifically, θ represents one or more update / reset functions 506 (e.g., Equation 2 discussed above and / or Equation 5 discussed below) having a set of analytical inputs 506 as trainable parameters of part of the dynamic memory unit 500.
[0067] It should be noted that Figure 4A Like arrow 406 of the dynamic memory unit 400 shown in FIG, arrow 508 indicates may be provided as part of the set of inputs 506 when generating a value for the jth memory slot at the i-th time step; however, there is a key difference, namely, that the reset gate 504 controls the previous value Whether or not (and to what extent) part of the set is used as input 506 .
[0068] The dynamic memory unit 500 uses the following additional equation to generate the value for the jth memory slot at the i-th time step
[0069]
[0070] In the above formula, represents the reset value r i j And Equation 6 modifies Equation 3 to include the reset value to the candidate value In. With the updated value in Equation 2 Same, reset value r i j Depends on two items and They represent the reset value r i j Represented by conversation features With the key vector w j and the previous value of the memory slot In addition, W r and U r are trainable transformation parameters.
[0071] The updated value is generated using Equation 2 And the reset value r is generated using Equation 5 ij After that, the dynamic memory unit 500 applies the updated value at the update gate 502 and applying a reset value r at reset gate 504 i j Specifically, reset gate 504 controls the previous value of the memory slot. Impact candidate value As can be seen in Equation 6, since the previous value Contains data obtained from the previous segment of the digital dialogue and the candidate value Can affect the current value (As shown in Equation 5, it depends on the update value ), so the reset gate 504 position control digital dialogue previous segment affects the current value In other words, the reset value r i j Apply the Modify Number dialog of the previous paragraph to the current value 's effect (ie, reset gate 504 can "reset" a memory slot by disregarding the previous value of that memory slot).
[0072] Figures 5B-5D Each diagram shows the update value To apply the update gate 502 and based on the reset value r i j Schematic diagram of a dynamic memory unit corresponding to the dynamic memory unit 500 when the reset gate 504 is applied. For example, Figure 5B Illustrate when updating the value 510 corresponds to the simplified memory unit 510 of the update gate 502. Figure 5B As shown and as can be seen from Equation 4, when 0, the simplified memory unit 510 is completely based on the previous value of the memory slot To generate the current value In other words, when , the simplified memory unit 510 does not update the value of the memory slot with new information obtained from the current segment of the digital conversation.
[0073] Figure 5C Illustrate when updating the value When the gate 502 is updated and the reset value r i j = 0 for the simplified memory cell 520 of the reset gate 504. Figure 5C And from Equation 6, we can see that when r i j =0, candidate value Does not contain previous value Therefore, for generating candidate values The set of inputs 522 includes key vectors w corresponding to memory slots j and the conversation feature representation generated by processing the current segment of the digital conversation In other words, the memory slot is "reset" (ie, it does not take into account the previous value ).
[0074] Figure 5D Illustrate when updating the value corresponds to updating the positioning of the gate and when the reset value r i j =1 corresponds to the simplified memory cell 530 of the reset gate 504. Figure 5D And from Equation 6, we can see that when r i j =1, candidate value Contains previous value Therefore, for generating candidate values The set of inputs 532 includes the previous values of the memory slots The key vector w corresponding to the memory slot j and the conversation feature representation generated by processing the current segment of the digital conversation
[0075] It should be noted that Figures 5B-5D The diagram shows the updated values for and reset value r i j The update gate 502 and reset gate 504 are associated with the extreme value of . However, as shown by the equation, and r i j can have any value between 0 and 1. Thus, the update gate 502 and the reset gate 504 can be positioned so that the current value of the memory slot Can be based in part on the previous value of a memory slot and candidate values Both to generate.
[0076] As discussed above, the dialog state tracking system 102 can also utilize a dynamic memory unit that considers cross-slot interactions. For example, the dialog state tracking system 102 can utilize a cross-slot interaction reset gate and a cross-slot interaction update gate that consider interactions between memory slots in applying corresponding gating mechanisms. Figure 6 A dynamic memory cell 600 with a cross-slot interactive update gate 602 and a cross-slot interactive reset gate 604 is illustrated according to one or more embodiments. Figure 65 , except that Equation 2 and Equation 5, respectively, are modified as shown below.
[0077]
[0078] As shown in Equation 7, represents the cross-slot interaction update value that controls the cross-slot interaction update gate 602. Similarly, as shown in Equation 8, r i j Represents the cross slot interaction reset value that controls the cross slot interaction reset gate 604. Coefficient and is a parameter that can be trained to provide an association between the jth memory slot and the ith memory slot. As shown by Equations 7-8 and Figure 6 As shown, the key vector [w 1 ...w m ] and hidden state [h 1 ...h m ] contributes to the current value of the jth memory slot Generation.
[0079] As discussed above, after generating the current value for each memory slot, the dialog state tracking neural network generates a digital dialog state. Thus, the dialog state tracking system can utilize the dialog state tracking neural network to generate a digital dialog state corresponding to a digital dialog segment. Figure 3-6 The described algorithms and actions are used to perform corresponding structures for the steps of generating digital dialogue states for dialogue segments using a dialogue state tracking neural network including a dynamic memory network. Figure 3-6 The described neural network architecture and dynamic memory unit architecture may include corresponding structure for performing steps for generating digital dialog states for dialog segments using a dialog state tracking neural network including a dynamic memory network.
[0080] Using the generated digital conversation state, the conversation state tracking system can generate a digital response to the current segment of the digital conversation. Figure 7 FIGURE 1 illustrates a block diagram of a conversation state tracking system generating a digital response to a current segment of a digital conversation. Figure 7As shown, the dialog state tracking system provides a digital dialog segment 702 to a trained dialog state tracking neural network 704. Specifically, the digital dialog segment 702 includes a sentence followed by an action request. After receiving the digital dialog segment 702, the trained dialog state tracking neural network 704 generates a digital dialog state 706. Specifically, Figure 7 The digital conversation state 706 shown in Figure 7 represents the current topic, type, and goal of the digital conversation. The conversation state tracking system then provides the digital conversation state 706 to the digital response generator 708, which provides the digital response 710. For example, the digital response generator 708 can use natural language generation (e.g., a data text generator) to determine the content, organization, and vocabulary representation of the digital response 710. In addition, the digital response generator 708 can use text-to-speech synthesis (e.g., concatenation synthesis or formant synthesis) to produce an audio representation of the digital response 710. Specifically, the digital response 710 includes a statement that the action requested by the digital conversation segment has been performed. In one or more embodiments, the digital response includes an audio response.
[0081] As mentioned above, the dialog state tracking system utilizes a trained dialog state tracking neural network when generating digital dialog states. Figure 8 FIG. 1 illustrates a block diagram of a dialog state tracking system for training a dialog state tracking neural network according to one or more embodiments. Figure 8 As shown, the dialog state tracking system uses training digital dialogs 802 to train a dialog state tracking neural network 804. Specifically, each dialog in the training digital dialogs 802 includes a set of training segments. For example, the training digital dialog may include a first training segment and a second training segment.
[0082] In addition, if Figure 8 As shown, the dialogue state tracking neural network 804 includes a dynamic memory network architecture, such as the reference Figure 3-6 The dynamic memory network architecture described. The dialogue state tracking system provides the training digital dialogue 802 to the dialogue state tracking neural network 804 and the dialogue state tracking neural network 804 generates a predicted dialogue state 806. Specifically, the dialogue state tracking system provides a training segment of the training digital dialogue and the dialogue state tracking neural network generates a predicted dialogue state corresponding to the specific training segment. For example, the dialogue state tracking system can provide a first training segment and the dialogue state tracking neural network 804 can generate a first predicted dialogue state corresponding to the first training segment. Subsequently, the dialogue state tracking system can provide a second training segment and the dialogue state tracking neural network 804 can generate a second predicted dialogue state corresponding to the second training segment. When generating the predicted dialogue state 806, the dialogue state tracking neural network 804 generates a predicted dialogue state 806 according to the above reference. Figure 3-6 Discuss the process to approach each training segment.
[0083] like Figure 8 As shown, the dialog state tracking system then compares the predicted dialog state 806 to the ground truth dialog state 808. Specifically, the ground truth dialog state 808 provides the true dialog state for the particular training digital dialog after the particular training digital dialog was most recently processed by the dialog state tracking neural network 804. For example, the ground truth dialog state 808 may include annotations (i.e., annotations made by an administrator of the dialog state tracking system) that provide a predetermined state of the training digital dialog after a particular training segment.
[0084] like Figure 8 As shown, the dialog state tracking system compares the predicted dialog state 806 with the ground truth dialog state 808 by applying a loss function 810. The loss function 810 determines the cost (i.e., error) obtained from the dialog state tracking neural network 804 based on the difference between the estimated value (i.e., predicted dialog state 806) and the true value (i.e., ground truth dialog state 808). The dialog state tracking system can utilize various loss functions, including a mean square error loss function, a 0-1 indicator function, a cross entropy loss function, or an L2 loss function.
[0085] The dialog state tracking system can train the dialog state tracking neural network 804 based on the determined loss. For example, in one or more embodiments, the dialog state tracking system propagates the determined loss to the dialog state tracking neural network (as indicated by dashed line 812) to modify its parameters. In one or more embodiments, the dialog state tracking system modifies the parameters of each layer of the dialog state tracking neural network 804 (e.g., trainable parameters corresponding to update gates and / or reset gates, such as W r 、W r 、 as well as ). Thus, with each iteration of training, the image restart system gradually increases the accuracy of the dialog state tracking neural network 804 (e.g., through gradient ascent or gradient descent). As shown, the dialog state tracking system can thus generate a trained dialog state tracking neural network 814.
[0086] In one or more embodiments, the dialog state tracking system can train the embedded convolutional neural network separately. Specifically, the dialog state tracking system can train the embedded convolutional neural network before training the dialog state tracking neural network 804 in a supervised or unsupervised manner. For illustration, the dialog state tracking system can train the convolutional neural network to encode digital dialog based on ground truth data or by utilizing an unsupervised training method (e.g., an autoencoder or an adversarial neural network).
[0087] Therefore, the dialog state tracking system can train a dialog state tracking neural network to generate digital dialog states corresponding to digital dialog segments. Figure 3-6 and Figure 8 The described algorithms and actions may include corresponding structure for performing the steps for training a dialog state tracking neural network including a dynamic memory network to generate digital dialog states. Additionally, with respect to Figure 3-6 The described neural network architecture and dynamic memory unit architecture may include corresponding structures for performing steps for training a dialog state tracking neural network including a dynamic memory network to generate a digital dialog state.
[0088] As mentioned above, using a dialog state tracking neural network with a dynamic memory network architecture, the dialog state tracking system more accurately and efficiently generates digital dialog states, which leads to better digital responses to segments of the dialog. Researchers have conducted studies to determine the accuracy and efficiency of one or more embodiments of the dialog state tracking system.
[0089] The researchers evaluated six neural network models. Specifically, the researchers evaluated three different embodiments of the dialog state tracking system (i.e., an embodiment of a dynamic memory unit with a single gate, an embodiment of a dynamic memory unit with both a reset gate and an update gate, and an embodiment of a dynamic memory unit with a cross-slot interaction gate) as well as three neural network models using other neural network architectures (i.e., CNN, RCNN, and RCNN with GRU). The embodiment of the dialog state tracking system with a single gate and the embodiment with both a reset gate and an update gate were trained with five memory slots each. The embodiment with a cross-slot interaction gate was trained with ten memory slots.
[0090] Figure 9 A table illustrating the results of the reaction study is shown. Higher precision (P), recall (R), and F-measure scores indicate better topic predictions, while lower Pk and WindowDiff values indicate more accurate segmentation. The best score for each metric is highlighted in bold. Figure 9 As shown, various embodiments of the dialogue state tracking system outperform other neural network models in both topic prediction and segmentation. In particular, each of the improvements to the F-measure metric achieved by various embodiments of the dialogue state tracking system is statistically significant (p < 0.001). Additionally, the improvement in segmentation is also statistically significant (p < 0.05), in addition to the improvement over the CNN model.
[0091] As from Figure 9As can be seen in the table, all tested embodiments of the dialogue state tracking system achieved improvements in topic prediction and segmentation accuracy. Specifically, the embodiment of the dialogue state tracking system with the cross-slot interaction gate achieved the most improved score. This embodiment performed better than the other tested models on every metric except recall. Specifically, the improvement in F-measure passed the statistically significant test at p=0.05 from the other embodiments of the dialogue state tracking system and p=0.001 from the CNN and RCNN baselines. The difference in segmentation performance was also significant on both metrics (p<0.001). Therefore, Figure 9 The table illustrates the improved accuracy of the dialog state tracking system.
[0092] Now go to Figure 10 , will provide further information on the implementation of the dialogue state tracking system. Specifically, Figure 10 A schematic diagram of an exemplary system environment ("environment") 1000 is shown in which the dialog state tracking system 102 may be implemented. Figure 10 As shown, environment 1000 may include server(s) 1002 , network 1008 , client devices 1010 a - 1010 n , and users 1014 a - 1014 n .
[0093] although Figure 10 A particular number of client devices are illustrated, but it will be appreciated that environment 1000 may include any number of computing devices (fewer or greater than shown). Figure 10 A particular arrangement of server(s) 1002 , client devices 1010a - 1010n , and users 1014a - 1014n is illustrated, but various additional arrangements are possible.
[0094] The server(s) 1002, client devices 1010a-1010n, and users 1014a-1014n may communicate directly or indirectly (e.g., via the following description of Figure 13 Furthermore, the server(s) 1002 and the client devices 1010a-1010n may be any type of computing device (including those described below with respect to Figure 13 One or more computing devices discussed in more detail).
[0095] As mentioned above, environment 1000 includes server(s) 1002. Server(s) 1002 can generate, store, receive, and / or transmit any type of data, including digital conversations and digital responses. For example, server(s) 1002 can receive digital conversation segments from client device 1010a and transmit digital responses back to client device 1010a. In one or more embodiments, server(s) 1002 comprise data servers. Server(s) 1002 can also comprise communication servers or web hosting servers.
[0096] like Figure 10 As shown, server(s) 1002 may include an artificial intelligence communication system 1004. Specifically, artificial intelligence communication system 1004 may perform digital communication functions. For example, artificial intelligence communication system 1004 may receive digital conversation segments from user 1014a via client device 1010a. Artificial intelligence communication system 1004 may then provide the digital conversation segments to conversation state tracking system 102 and prepare the resulting digital responses for transmission back to user 1014a. Specifically, artificial intelligence communication system 1004 may employ natural language generation and text-to-speech synthesis functions in preparing the digital responses for transmission.
[0097] Additionally, the server(s) 1002 may include the conversation state tracking system 102. Specifically, in one or more embodiments, the conversation state tracking system 102 generates digital responses to digital conversation segments using the server(s) 1002. For example, the conversation state tracking system 102 may use the server(s) 1002 to receive digital conversation segments and then generate digital responses.
[0098] For example, in one or more embodiments, server(s) 1002 may receive a digital conversation comprising various segments of a digital conversation. Server(s) 1002 may process a first segment of the digital conversation to generate a first digital conversation state and then generate a digital response to the first segment based on the first digital conversation state. Server(s) 1002 may then process a second segment of the digital conversation to generate a second digital conversation state and then generate a digital response to the second segment based on the second digital conversation state. Specifically, server(s) 1002 may use a conversation state tracking neural network having a dynamic memory network architecture with a plurality of memory slots and corresponding update gates and reset gates to process each segment of the digital conversation to generate a corresponding digital conversation state.
[0099] As illustrated by the previous example embodiments, the dialog state tracking system 102 may be implemented in whole or in part by various elements of the environment 1000. Figure 10The dialog state tracking system 102 is illustrated as being implemented with reference to server(s) 1002, but it will be appreciated that the dialog state tracking system 102 may be implemented in any of the components of the environment 1000. Figure 11 The components of the dialog state tracking system 102 are discussed in more detail.
[0100] In one or more embodiments, client devices 1010a-1010n include computer devices that allow users of the devices (e.g., users 1014a-1014n) to send and receive digital communications. For example, client devices 1010a-1010n may include smartphones, tablet computers, desktop computers, laptop computers, or other electronic devices. Client devices 1010a-1010n may include one or more applications (e.g., conversation state tracking application 1012) that allow users 1014a-1014n to send and receive digital communications. For example, conversation state tracking system 1012 may include a software application installed on client devices 1010a-1010n. Additionally or alternatively, conversation state tracking system 1012 may include a software application hosted on server(s) 1002 that can be accessed by client devices 1010a-1010n via another application, such as a web browser.
[0101] Now go to Figure 11 , will provide additional details about the various components and capabilities of the dialog state tracking system 102. Specifically, Figure 11 The diagram illustrates a system that is provided by a computing device 1102 (eg, server(s) 1002 and / or as described above with reference to Figure 10 10. The client devices 1010a-1010n discussed above may be configured to implement a dialog state tracking system 102. Additionally, the dialog state tracking system 102 is also part of the artificial intelligence communication system 1004. As shown, the dialog state tracking system 102 may include, but is not limited to, a neural network training engine 1104, a neural network application manager 1106, a digital response generator 1108, and a data storage device 1110 (which includes a trained digital dialog 1112 and a neural network 1114).
[0102] As just mentioned, and as Figure 11 As shown, the dialog state tracking system 102 includes a neural network training engine 1104. Specifically, the neural network training engine 1104 trains the dialog state tracking neural network to generate digital dialog states for use in generating digital responses to digital dialog segments. For example, the neural network training engine 1104 uses the neural network training engine 1104 as shown in FIG. Figure 8 The discussion trains digital dialogue 802 to train a dialogue state tracking neural network 804.
[0103] like Figure 11 As shown, the dialog state tracking system 102 further includes a neural network application manager 1106. Specifically, the neural network application manager 1106 uses the dialog state tracking neural network trained by the neural network training engine 1104. For example, the neural network application manager 1106 applies the digital dialog to the trained dialog state tracking neural network to generate a digital dialog state for each segment of the digital dialog for further generating digital responses to those segments.
[0104] Additionally, if Figure 11 As shown, the dialog state tracking system 102 includes a digital response generator 1108. Specifically, the digital response generator 1108 generates digital responses in response to digital dialog segments. For example, the digital response generator 1108 can use the digital dialog states generated by the neural network application manager 1106 to generate a digital response for each segment of the corresponding digital dialog. For example, the digital response generator 1108 can use the first digital dialog state generated by processing the first segment of the digital dialog to generate a first digital response. The digital response generator 1108 can then use the second digital dialog state generated by processing the second segment of the digital dialog to generate a second digital response.
[0105] In addition, if Figure 11 As shown, dialog state tracking system 102 includes data storage device 1110. Specifically, data storage device 1110 includes training digital dialogs 1112 and neural network 1114. Training digital dialogs 1112 stores a plurality of training digital dialogs, including a set of training segments. Neural network training engine 1104 can obtain the plurality of training digital dialogs from training digital dialogs 1112 when training a dialog state tracking neural network. Neural network 1114 stores the dialog state tracking neural network trained by neural network training engine 1104 and applied by neural network application manager 1106 to generate digital dialog states by processing digital dialog segments.
[0106] Components 1104-1114 and their corresponding elements may include software, hardware, or both. For example, components 1104-1114 and their corresponding elements may include one or more instructions stored on a computer-readable storage medium and executable by a processor of one or more computing devices. Components 1104-1114 and their corresponding elements may include hardware, such as a dedicated processing device, to perform a specific function or a set of functions. Additionally or alternatively, components 1104-1114 and their corresponding elements may include a combination of computer-executable instructions and hardware.
[0107] In addition, the components 1104-1114 of the conversation state tracking system 102 can be implemented as one or more standalone applications, as one or more modules of an application, as one or more plug-ins, as one or more library functions or functions that can be called by other applications, and / or as a cloud computing model. Therefore, the components 1104-1114 of the conversation state tracking system 102 can be implemented as standalone applications, such as desktop or mobile applications. In addition, the components 1104-1114 of the conversation state tracking system 102 can be implemented as one or more web-based applications hosted on a remote server. Alternatively or additionally, the components 1104-1114 of the conversation state tracking system 102 can be implemented as a set of mobile device applications or "apps". For example, in one or more embodiments, the conversation state tracking system 102 can include a system such as or "ADOBE", "SENSEI" and "PHOTOSHOP" are registered trademarks or trademarks of Adobe Systems Incorporated in the United States and / or other countries.
[0108] Figure 1-11 , corresponding text and examples provide many different methods, systems, devices, and non-transitory computer readable media for a conversation state tracking system. In addition to the foregoing, one or more embodiments may also be based on the following Figure 12 The diagrams are described as flow diagrams comprising actions for accomplishing certain results. Figure 12 More or fewer actions can be utilized to perform. In addition, actions can be performed in different orders. Additionally, the actions described herein can be repeated or performed in parallel with each other or with different instances of the same or similar actions.
[0109] As mentioned, Figure 12 A flow diagram illustrating a series 1200 of actions for generating a digital response to a digital conversation segment based on a digital conversation state in accordance with one or more embodiments. Figure 12 The diagram illustrates actions according to one embodiment, but alternative embodiments may Figure 12 Any of the actions shown in the examples may be omitted, added, reordered and / or modified. Figure 12 Alternatively, a non-transitory computer readable medium may include a program that, when executed by one or more processors, causes a computing device to perform Figure 12 In some embodiments, a system may execute Figure 12 action.
[0110] Series of actions 1200 includes an action 1202 of providing a digital conversation segment to a conversation state tracking neural network. For example, action 1202 involves providing the digital conversation segment to a conversation state tracking neural network comprising a dynamic memory network having a plurality of memory slots and a plurality of reset gates. In one or more embodiments, the dynamic memory network further comprises a plurality of update gates corresponding to the plurality of reset gates and the plurality of memory slots. One or more embodiments also involve previously identifying the digital conversation segment by receiving an audio representation of the digital conversation segment.
[0111] Series of actions 1200 includes an action 1204 of generating a value for a first memory slot using a reset gate. For example, action 1204 involves generating a digital conversation state corresponding to a digital conversation segment by using a reset gate associated with a first memory slot of the dynamic memory network to generate a value for the first memory slot based on the digital conversation segment. The value replaces a previous value generated for the first memory slot based on a previous digital conversation segment. In one or more embodiments, generating the value using the reset gate associated with the first memory slot includes determining a reset value and applying the reset value to modify the effect of the previous digital conversation segment on the value. In one or more embodiments, the reset gate includes a cross-slot interaction reset gate (i.e., the conversation state tracking neural network includes multiple cross-slot interaction reset gates). In such embodiments, the conversation state tracking system generates a second value using the reset gate associated with the first memory slot by comparing the values of the multiple memory slots to determine a cross-slot interaction reset gate corresponding to the first memory slot and applying the cross-slot interaction reset value to modify the effect of the previous digital conversation segment on the value.
[0112] Some embodiments further involve utilizing an update gate associated with a first memory slot to determine an update value and applying the update value to modify the effect of the digital conversation segment on a value. Additionally, in some embodiments, the update gate comprises a cross-slot interaction update gate (i.e., the dialog state tracking neural network further comprises a plurality of cross-slot interaction update gates). In such embodiments, the dialog state tracking system utilizes the update gate associated with the first memory slot to generate the value by comparing the values of the plurality of memory slots to determine the cross-slot interaction update gate corresponding to the first memory slot and applying the cross-slot interaction update value to modify the effect of the digital conversation segment on the value.
[0113] The series of actions 1200 also includes an action of generating a digital conversation state 1206. For example, action 1208 involves utilizing a conversation state tracking neural network to generate a digital conversation state corresponding to the digital conversation segment by generating the digital conversation state based on the value of the first memory slot. In some embodiments, the digital conversation state includes at least one of the following: a conversation topic, a location, an entity, or an action.
[0114] In one or more embodiments, generating a digital conversation state corresponding to the digital conversation segment includes determining that the digital conversation segment corresponds to a key vector associated with a first memory slot. In such embodiments, utilizing a reset gate associated with the first memory slot to generate a value includes utilizing the reset gate to generate a value for the first memory slot based further on determining that the digital conversation segment corresponds to the key vector associated with the first memory slot.
[0115] In some embodiments, generating a digital conversation state corresponding to a digital conversation segment includes processing a previous digital conversation segment using one or more convolutional layers of a conversation state tracking neural network to generate a first conversation feature representation, and processing the digital conversation segment using one or more convolutional layers of the conversation state tracking neural network to generate a second conversation feature representation. In such embodiments, generating the digital conversation state includes generating the digital conversation state based on the first conversation feature representation, the second conversation feature representation, and the value of the first memory slot. In other embodiments, the conversation state tracking system utilizes the conversation state tracking neural network to generate the digital conversation state corresponding to the digital conversation segment by utilizing the second conversation feature representation to generate a latent feature vector corresponding to the first memory slot, and further generates the value of the first memory slot based on the latent feature vector.
[0116] Additionally, the series of actions 1200 includes an action of generating a digital response 1208. For example, action 1208 involves generating a digital response to the digital conversation segment based on the digital conversation state. In one or more embodiments, the digital response to the digital conversation segment includes an audio response.
[0117] In one or more embodiments, the series of actions 1200 also includes actions for training a dialog state tracking neural network to generate digital dialog states for use in generating digital responses to segments in a digital conversation. For example, in one or more embodiments, the dialog state tracking system trains a dialog state tracking neural network comprising a dynamic memory network having a set of memory slots and a corresponding set of cross-slot interaction reset gates to generate digital dialog states for use in generating digital responses to segments in a digital conversation by: generating a first set of values for the set of memory slots based on a first training segment of the training digital conversation; applying the cross-slot interaction reset gates to generate a second set of values for the set of memory slots based on a comparison of the first set of values for the set of memory slots; and generating a predicted dialog state for comparison with a ground truth dialog state based on the second set of values for the set of memory slots.
[0118] Embodiments of the present disclosure may include or utilize a special-purpose computer or a general-purpose computer including computer hardware, such as one or more processors and system memory, as discussed in more detail below. Embodiments within the scope of the present disclosure also include physical media and other computer-readable media for carrying or storing computer-executable instructions and / or data structures. Specifically, one or more of the processes described herein may be implemented at least in part as instructions implemented in a non-transient computer-readable medium and executed by one or more computing devices (e.g., any of the media content access devices described herein). In general, a processor (e.g., a microprocessor) receives instructions from a non-transient computer-readable medium (e.g., a memory, etc.) and executes those instructions, thereby performing one or more processes, including one or more of the processes described herein.
[0119] Computer-readable media can be any available medium that can be accessed by a general-purpose computer system or a special-purpose computer system. A computer-readable medium that stores computer-executable instructions is a non-transitory computer-readable storage medium (device). A computer-readable medium that carries computer-executable instructions is a transmission medium. Therefore, by way of example and not limitation, embodiments of the present disclosure can include at least two distinct types of computer-readable media: a non-transitory computer-readable storage medium (device) and a transmission medium.
[0120] Non-transitory computer-readable storage media (devices) include RAM, ROM, EEPROM, CD-ROM, solid-state drives ("SSD") (e.g., RAM-based), flash memory, phase-change memory ("PCM"), other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code means in the form of computer-executable instructions or data structures and that can be accessed by a general purpose or special purpose computer.
[0121] "Network" is defined as one or more data links that enable the transmission of electronic data between computer systems and / or modules and / or other electronic devices. When information is transmitted or provided to a computer via a network or other communication connection (hardwired, wireless, or a combination of hardwired or wireless), the computer properly regards the connection as a transmission medium. Transmission media can include networks and / or data links that can be used to carry desired program code units in the form of computer-executable instructions or data structures and can be accessed by general-purpose computers or special-purpose computers. The above combinations should also be included in the scope of computer-readable media.
[0122] In addition, upon reaching various computer system components, program code units in the form of computer-executable instructions or data structures can be automatically transferred from the transmission medium to a non-transitory computer-readable storage medium (device) (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a "NIC") and then ultimately transferred to the computer system RAM and / or to a non-volatile computer storage medium (device) at the computer system. Therefore, it should be understood that a non-transitory computer-readable storage medium (device) can be included in a computer system component that also (or even primarily) utilizes a transmission medium.
[0123] Computer executable instructions include instructions and data that, for example, enable a general-purpose computer, a special-purpose computer, or a special-purpose processing device for performing a specific function or group of functions when run by a processor. In some embodiments, computer executable instructions are run on a general-purpose computer to convert the general-purpose computer into a special-purpose computer that implements the elements of the present disclosure. Computer executable instructions can be, for example, binary, intermediate format instructions such as assembly language, or even source code. Although this subject matter has been described in language specific to structural features and / or method actions, it should be understood that the subject matter defined in the claims is not necessarily limited to the described features or the actions described above. On the contrary, the described features and actions are disclosed as example forms for implementing the claims.
[0124] Those skilled in the art will recognize that the present disclosure can be practiced in a network computing environment with many types of computer system configurations, including personal computers, desktop computers, laptop computers, message processors, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, PDAs, pagers, routers, switches, and the like. The present disclosure can also be practiced in a distributed system environment in which local and remote computer systems linked by a network (by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) both perform tasks. In a distributed system environment, program modules can be located in both local and remote memory storage devices.
[0125] Embodiments of the present disclosure can also be implemented in a cloud computing environment. In this specification, "cloud computing" is defined as a model for enabling on-demand network access to a shared pool of configurable computing resources. For example, cloud computing can be adopted in the market to provide ubiquitous and convenient on-demand access to a shared pool of configurable computing resources. This shared pool of configurable computing resources can be rapidly provisioned via virtualization and released with minimal management effort or service provider interaction, and then scaled accordingly.
[0126] The cloud computing model can include various features, such as on-demand self-service, broad network access, resource pooling, rapid elasticity, measured services, and the like. The cloud computing model can also exhibit various service models, such as software as a service ("SaaS"), platform as a service ("PaaS"), and infrastructure as a service ("IaaS"). The cloud computing model can also be deployed using different deployment models, such as private cloud, community cloud, public cloud, hybrid cloud, and the like. In this specification and in the claims, a "cloud computing environment" is an environment in which cloud computing is employed.
[0127] Figure 13 A block diagram of an example computing device 1300 that can be configured to perform one or more of the processes described above is illustrated. It will be appreciated that one or more computing devices, such as computing device 1300, can represent the computing devices described above (e.g., computing device 1102, server(s) 1002, and client devices 1010a-1010n). In one or more embodiments, computing device 1300 can be a mobile device (e.g., a mobile phone, smartphone, PDA, tablet computer, laptop computer, camera, tracker, watch, wearable device, etc.). In some embodiments, computing device 1300 can be a non-mobile device (e.g., a desktop computer or another type of client device). Additionally, computing device 1300 can be a server device that includes a cloud-based processor and storage capabilities.
[0128] like Figure 13 As shown, computing device 1300 can include one or more processors 1302, memory 1304, storage device 1306, input / output interface 1308 (or "I / O interface 1308"), and communication interface 1310, which can be communicatively coupled via a communication infrastructure (e.g., bus 1312). Although computing device 1300 is shown in FIG. Figure 13 In, but Figure 13 The components illustrated in FIG. 1 are not intended to be limiting. Additional or alternative components may be used in other embodiments. In addition, in some embodiments, the computing device 1300 includes more than Figure 13The components shown in FIG. are fewer than those in FIG. 1 . Figure 13 Components of computing device 1300 are shown in FIG.
[0129] In particular embodiments, processor(s) 1302 include hardware for executing instructions, such as those comprising a computer program. As an example and not by way of limitation, to execute instructions, processor(s) 1302 may retrieve (or fetch) instructions from internal registers, internal cache, memory 1304, or storage device 1306 and decode and execute them.
[0130] Computing device 1300 includes memory 1304, which is coupled to processor(s) 1302. Memory 1304 can be used to store data, metadata, and programs for execution by processor(s). Memory 1304 can include one or more of volatile and non-volatile memory, such as random access memory ("RAM"), read-only memory ("ROM"), a solid-state drive ("SSD"), flash memory, phase change memory ("PCM"), or other types of data storage. Memory 1304 can be internal memory or distributed memory.
[0131] Computing device 1300 includes storage device 1306, which includes storage for storing data or instructions. As an example and not by way of limitation, storage device 1306 can include the non-transitory storage media described above. Storage device 1306 can include a hard disk drive (HDD), flash memory, a universal serial bus (USB) drive, or a combination of these or other storage devices.
[0132] As shown, computing device 1300 includes one or more I / O interfaces 1308, which are provided to allow a user to provide input (e.g., user strokes) to computing device 1300, receive output from computing device 1600, and otherwise transfer data to and from computing device 1600. These I / O interfaces 1308 may include a mouse, a keyboard or keypad, a touch screen, a camera, an optical scanner, a network interface, a modem, other known I / O devices, or a combination of such I / O interfaces 1308. A touch screen may be activated using a stylus or a finger.
[0133] I / O interface 1308 may include one or more devices for presenting output to the user, including but not limited to a graphics engine, a display (e.g., a display screen), one or more output drivers (e.g., a display driver), one or more audio speakers, and one or more audio drivers. In certain embodiments, I / O interface 1308 is configured to provide graphic data to the display for presentation to the user. Graphics data can represent one or more graphical user interfaces and / or any other graphic content as may be used as a specific implementation.
[0134] The computing device 1300 can also include a communication interface 1310. The communication interface 1310 can include hardware, software, or both. The communication interface 1310 provides one or more interfaces for communication (e.g., packet-based communication) between the computing device and one or more other computing devices or one or more networks. As an example and not by way of limitation, the communication interface 1310 can include a network interface controller (NIC) or a network adapter for communicating with an Ethernet or other cable-based network or a wireless NIC (WNIC) or a wireless adapter for communicating with a wireless network such as WI-FI. The computing device 1300 can also include a bus 1312. The bus 1312 can include hardware, software, or both that connect the components of the computing device 1300 to each other.
[0135] In the foregoing description, the present disclosure has been described with reference to specific exemplary embodiments of the present invention. Various embodiments and aspects of the present invention are described with reference to the details discussed herein, and the accompanying drawings illustrate various embodiments. The above description and drawings are illustrative of the present invention and should not be construed as limiting the present invention. Numerous specific details are described to provide a thorough understanding of the various embodiments of the present invention.
[0136] The present invention can be implemented in other specific forms without departing from its spirit or essential characteristics. The described embodiments should be considered in all aspects as merely illustrative and not restrictive. For example, the methods described herein can be performed with fewer or more steps / actions or the steps / actions can be performed in a different order. Additionally, the steps / actions described herein can be repeated or performed in parallel with each other or with different instances of the same or similar steps / actions. The scope of the present invention is therefore indicated by the claims rather than by the foregoing description. All changes that occur within the meaning and scope of the equivalence of the claims should be included within their scope.
Claims
1. A non-transitory computer-readable storage medium comprising instructions that, when executed by at least one processor, cause a computing device to: providing the digital dialogue segment to a dialogue state tracking neural network, the dialogue state tracking neural network comprising a dynamic memory network having a plurality of memory slots and a plurality of reset gates, wherein each memory slot of the plurality of memory slots corresponds to a specified dialogue state characteristic; The dialogue state tracking neural network is used to generate a digital dialogue state corresponding to the digital dialogue segment by performing the following operations: utilizing a reset gate associated with a first memory slot of the dynamic memory network to generate a value corresponding to a first specified conversation state characteristic for the first memory slot based on the digital conversation segment, wherein the value replaces a previous value generated for the first memory slot based on a previous segment of the digital conversation; as well as generating the digital conversation state based on the value of the first memory slot corresponding to the first specified conversation state characteristic; as well as A digital response to the digital conversation segment is generated based on the digital conversation state. 2 . The non-transitory computer-readable storage medium of claim 1 , wherein the dynamic memory network further comprises a plurality of update gates corresponding to the plurality of reset gates and the plurality of memory slots.
3. The non-transitory computer-readable storage medium of claim 2 , further comprising instructions that, when executed by the at least one processor, cause the computing device to: further utilize the conversation state tracking neural network to generate the digital conversation state corresponding to the digital conversation segment by utilizing an update gate associated with the first memory slot to determine an update value and applying the update value to modify an effect of the digital conversation segment on the value.
4. The non-transitory computer-readable storage medium of claim 2, wherein utilizing the reset gate associated with the first memory slot to generate the value comprises determining a reset value and applying the reset value to modify an effect of a previous segment of the digital conversation on the value.
5. The non-transitory computer-readable storage medium of claim 1 , wherein: The reset gate includes a cross-slot interactive reset gate, and Utilizing the reset gate associated with the first memory slot to generate the value includes: comparing the values of the plurality of memory slots to determine a cross-slot interaction reset value corresponding to the first memory slot; and The cross-slot interaction reset value is applied to modify the effect of a previous segment of the digital conversation on the value.
6. The non-transitory computer-readable storage medium of claim 1 , further comprising instructions that, when executed by the at least one processor, cause the computing device to: further utilize the conversation state tracking neural network to generate the digital conversation state corresponding to the digital conversation segment by determining that the digital conversation segment corresponds to a key vector associated with the first memory slot, and Wherein utilizing the reset gate associated with the first memory slot to generate the value includes utilizing the reset gate to generate the value of the first memory slot further based on determining that the digital conversation segment corresponds to the key vector associated with the first memory slot.
7. The non-transitory computer-readable storage medium according to claim 1, further comprising instructions that, when executed by the at least one processor, cause the computing device to identify the digital conversation segment by receiving an audio representation of the digital conversation segment, and Wherein said digital response to said digital conversation segment comprises an audio response.
8. The non-transitory computer-readable storage medium according to claim 1, Also included are instructions that, when executed by the at least one processor, cause the computing device to further utilize the conversation state tracking neural network to generate the digital conversation state corresponding to the digital conversation segment by: generating a first conversation feature representation by processing the previous segment of the digital conversation using one or more convolutional layers of a conversation state tracking neural network; as well as generating a second conversation feature representation by processing the digital conversation segment using one or more convolutional layers of the conversation state tracking neural network; and Generating the digital conversation state includes generating the digital conversation state based on the first conversation feature representation, the second conversation feature representation, and the value of the first memory slot.
9. The non-transitory computer-readable storage medium of claim 8, further comprising instructions that, when executed by the at least one processor, cause the computing device to: generating the digital conversation state corresponding to the digital conversation segment using the conversation state tracking neural network by generating a latent feature vector corresponding to the first memory slot using the second conversation feature representation; and The value of the first memory slot is further generated based on the latent feature vector.
10. The non-transitory computer-readable storage medium of claim 1, wherein the first specified conversation state characteristic comprises one of: a conversation topic; a location; an entity; or an action.
11. A computer system comprising: at least one processor; as well as at least one non-transitory computer-readable storage medium storing instructions that, when executed by the at least one processor, cause the system to: Training a dialog state tracking neural network comprising a dynamic memory network having a set of memory slots and a set of cross-slot interaction reset gates corresponding to associations between memory slots from the set of memory slots to generate a digital dialog state for use in generating a digital response to a segment in a digital dialog by: generating a first set of values for the set of memory slots based on a first training segment of a training digital conversation; applying a cross-slot interaction reset gate corresponding to the first memory slot from the set of memory slots based on a cross-slot interaction between the first memory slot and other memory slots from the set of memory slots to generate a second set of values to replace the first set of values for the set of memory slots; as well as A predicted dialog state is generated based on the second set of values for the set of memory slots for comparison with a ground truth dialog state.
12. The system of claim 11, wherein the dynamic memory network further comprises a set of cross-slot interactive update gates corresponding to the set of cross-slot interactive reset gates and the set of memory slots.
13. The system of claim 12 , further comprising instructions that, when executed by the at least one processor, cause the system to: further train the dialog state tracking neural network to generate the digital dialog state by utilizing a cross-slot interaction update gate to determine a cross-slot interaction update value and applying the cross-slot interaction update value to modify an effect of a second training segment on the second set of values.
14. The system of claim 11, further comprising instructions that, when executed by the at least one processor, cause the system to further train the dialog state tracking neural network to generate the digital dialog state by determining that a second training segment corresponds to a key vector associated with the set of memory slots, and Wherein applying the cross-slot interaction reset gate comprises applying the cross-slot interaction reset gate based further on determining that the second training segment corresponds to the key vector associated with the set of memory slots.
15. The system according to claim 11, Also included are instructions that, when executed by the at least one processor, cause the system to generate the digital conversation state by further training the conversation state tracking neural network by: generating a first dialogue feature representation by processing the first training segment using one or more convolutional layers of a dialogue state tracking neural network; as well as generating a second dialogue feature representation by processing the second training segment using one or more convolutional layers of the dialogue state tracking neural network; and Generating the predicted dialogue state includes generating the predicted dialogue state based on the first dialogue feature representation, the second dialogue feature representation, and the second set of values for the memory slots.
16. The system of claim 15, further comprising instructions that, when executed by the at least one processor, cause the system to: further training the dialog state tracking neural network to generate the digital dialog state by generating latent feature vectors corresponding to the set of memory slots using the second dialog feature representation; and The second set of values for the set of memory slots is generated based on the latent feature vector.
17. The system according to claim 11, wherein: The predicted dialogue state includes at least one of the following: dialogue topic; location; entity; or action.
Citation Information
Patent Citations
Intelligent man-machine conversation system in closed domain
CN108415923A