IP Library Granted Patent US 10,540,967
Granted Patent B2
US 10,540,967 · App. 15/350,269 · Granted Jan 21, 2020

Machine reading method for dialog state tracking

Inventor: Julien Perez (Grenoble, FR)
Assignee: Xerox Corporation
G10L15/22G10L15/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,540,967
App. No.
15/350,269
Granted
Jan 21, 2020
Kind
B2
Abstract

A method for dialog state tracking uses a neural network model, such as an MemN2N model, which has been trained to receive a representation of a question and a representation of a subpart of a dialog and to output an answer to the question. For at least one iteration, a subpart of a dialog is received. A representation of the subpart of the dialog is generated. The representation of the subpart of the input dialog and representation of a question are input to the trained neural network model. An answer is output by the neural network model, based on the representation of the question and the representation of the subpart of the input dialog. A dialog state for the dialog is updated, based on the answer to the question. The dialog state includes a set of variables. The updating includes predicting a value for at least one of the variables.

Claims (58)

1. A method for dialog state tracking during a dialog between a user and an agent, the method comprising:

a) providing a recurrent neural network model which has been trained to receive a representation of one of a set of questions and a representation of an input subpart of a dialog, and to output an answer to the question based on the representation of the subpart of the dialog, the training of the neural network including:

i) providing training dialogs, each training dialog being associated with at least one of the set of questions and a respective ground truth answer to the associated question, each of the questions being related to a respective one of a plurality of slots of a dialog state tracker,

ii) for each of the set of questions, generating a respective question representation,

iii) inputting a representation of one of the training dialogs into the neural network model,

iv) inputting the question representation of one of the questions associated with the respective training dialog into the neural network model,

v) receiving a predicted answer from the model, and

vi) updating parameters of the model to reduce an error between the predicted answer and the ground truth answer;

b) for at least one iteration of a dialog between a user and an agent:

i) receiving an input subpart of the dialog between the user and the agent;

ii) generating a representation of the subpart of the dialog;

iii) inputting the representation of the subpart of the input dialog to the trained neural network model;

iv) inputting one of the question representations of one of the set of questions to the trained neural network model; and

v) receiving an answer output by the neural network model based on the input question representation and the input representation of the subpart of the input dialog; and

c) for at least one of the at least one iteration of the dialog between the user and the agent:

i) with the dialog state tracker, updating a dialog state for the dialog based on the output answer to the question, the dialog state including a set of variables, the updating including predicting a value for at least one of the variables,

ii) generating a dialog act of the agent, based on the updated dialog state, and

iii) outputting the dialog act to the user in a human recognizable form;

wherein the representations of the questions and the representations of the dialog subparts are each multidimensional vectors, elements of each vector representing a respective word or multi-word expression in a predefined vocabulary, the predefined vocabulary having been generated by ranking words and multi-word expressions in the training dialogs and optionally also in the associated questions, and selecting top-ranking ones for the vocabulary;

wherein at least one of the generating a representation of the subpart of the dialog, inputting the representation of the subpart of the dialog to the trained neural network model, receiving an answer to the question output by the model, and updating a dialog state is performed with a processor.

2. The method of claim 1 , wherein the training the neural network model further comprises generating a modified set of training dialogs from the set of training dialogs and training the neural network model with at least one of:

questions where the answer is one of yes and no;

indefinite knowledge questions where the answer is unknown; and

questions for which the answer is a number or a list of values.

3. The method of claim 1 , wherein for at least some of the training dialogs, the training dialog includes a plurality of utterances, the plurality of utterances including an agent utterance and a user utterance and wherein the respective answer to the represented question is linked to the entire dialog and is not specifically linked to a specific one of the plurality of utterances.

4. The method of claim 1 , wherein the multidimensional vectors representing the question and the input dialog subpart each have a same number of dimensions.

5. The method of claim 1 , wherein the neural network model includes a question embedding matrix which embeds the question into an embedding space and at least one dialog embedding matrix which embeds the representation of the subpart of the dialog into the same embedding space.

6. The method of claim 5 , wherein the neural network model includes memories which store embeddings of a set of dialog representations, the set of dialog representations including the representation of the subpart of the dialog.

7. The method of claim 1 , wherein the neural network model comprises a plurality of hops, each subsequent hop receiving as input the output of a prior hop, the output including a question embedding and a response vector, the response vector being a weighted sum of an output set of memory vectors generated by embedding the dialog representations, wherein the output memory vectors are each weighted by a respective probability vector for the embedded question computed with respect to a respective one of an input set of memory vectors generated by embedding the dialog representations.

8. The method of claim 1 , wherein the neural network model comprises a plurality of neural network models, each of the neural network models corresponding to a respective one of the variables in the dialog state.

9. The method of claim 1 , wherein the neural network model is a memory-enhanced neural network.

10. The method of claim 1 , wherein the dialog includes user utterances and agent utterances.

11. The method of claim 1 , wherein the representation of the subpart of the input dialog comprises a representation of at least one of:

a user utterance in a natural language; and

an agent utterance in the natural language.

12. The method of claim 1 , further comprising executing a task based on the updated dialog state of at least one of the iterations.

13. The method of claim 1 , further comprising generating an agent dialog act based on the updated dialog state.

14. A computer program product comprising non-transitory memory storing instructions which, when executed by a computer, perform the method of claim 1 .

15. A system for dialog state tracking comprising:

memory which stores a neural network model which has been trained to receive a representation of one of a set of questions and a representation of an input subpart of a dialog and to output an answer to the question based on the representation of the subpart of the dialog,

the neural network model including input and output memories which store embeddings of dialog representations embedded with first and second embedding matrices, respectively, and a third embedding matrix which generates an embedding of the question of the same number of dimensions as the embeddings of the dialog representations;

a dialog representation generator which generates a representation of an input subpart of a dialog;

a prediction component which inputs the representation of the subpart of the dialog and a representation of one of the set of questions used in the training to the trained neural network model and receives an answer output by the neural network model based on the representation of the question and the representation of the subpart of the dialog;

an update component which updates a dialog state for the dialog, based on the answer to the question, the dialog state including a set of variables, the updating including predicting a value for at least one of the variables;

an output component which outputs a dialog act in the form of speech, text, or information for generation of the speech or text, based on the updated dialog state for the dialog; and

a hardware processor which implements the dialog representation generator, prediction component, update component and output component;

wherein the representations of the questions and the representations of the input subpart are each multidimensional vectors, elements of the multi-dimensional vectors representing a respective word or multi-word expression in a predefined vocabulary, the predefined vocabulary having been generated by ranking words and multi-word expressions in the training dialogs and optionally also in the associated questions, and selecting top-ranking ones for the vocabulary.

16. The system of claim 15 , further comprising a learning component which trains the neural network model on representations of training dialogs, representations of questions, and a respective answer to at least one of the questions for the respective dialog representation, each of the training dialog representations comprising a representation of at least a subpart of a training dialog in a set of training dialogs.

17. A method for training a dialog state tracking system of a dialog system, comprising:

providing a set of triples, each of the triples including a dialog subpart, one of a set of natural language questions, and a ground truth answer to the natural language question, the ground truth answer having been provided by an annotator based on the dialog subpart, each of the questions being related to a respective one of a plurality of slots of a dialog state tracker;

providing a representation generator for generating representations of the dialog subparts, and the questions, the representations of the questions and the representations of the input subpart each being multidimensional vectors, elements of the multi-dimensional vectors representing a respective word or multi-word expression in a predefined vocabulary, the predefined vocabulary having been generated by ranking words and multi-word expressions in the dialog subparts, and optionally also the questions, in the triples, and selecting top-ranking ones for the vocabulary;

training a memory end-to-end neural network model comprising, for a plurality of iterations, with a processor:

inputting a representation of the dialog subpart and a representation of the question of at least one of the triples to the memory end-to-end neural network model;

outputting a predicted answer from the model based on the dialog subpart and question; and

updating parameters of the model to reduce a computed error between the predicted answer and the ground truth answer for the at least one of the triples;

storing the trained model with updated parameters of at least one of the iterations in memory;

providing a dialog state tracker with an update component in memory, whereby, when a new dialog subpart is received, a representation of the dialog subpart and a representation of one of the set of questions are able to be input to the stored model for predicting an answer to the question, the update component updating the respective slot of the dialog state based on the answer; and

providing an output component which outputs a dialog act in in the form of speech, text, or information for generation of the speech or text, based on the updated dialog state for the dialog.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2025
From: XEROX CORPORATION
To: GENESEE VALLEY INNOVATIONS, LLC
Reel/Frame 073562/0677 →
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 062740/0214 Recorded May 18, 2023
From: CITIBANK, N.A., AS AGENT
To: XEROX CORPORATION
Reel/Frame 063694/0122 →
SECURITY INTEREST Recorded Nov 10, 2022
From: XEROX CORPORATION
To: CITIBANK, N.A., AS AGENT
Reel/Frame 062740/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2016
From: PEREZ, JULIEN
To: XEROX CORPORATION
Reel/Frame 040396/0453 →
Continuity (1)
Related Publication 20180137854A1 · May 17, 2018
Cited By (4)
US 12,555,579 US 12,573,401 US 12,585,885 US 12,632,664