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.