Dialog management system
AssigneeAmazon Technologies, Inc.
InventorsWilliam Tunstall-Pedoe, Andrew Graham Fenn, Robert Peter Stacey, Adam John Philip Wood
Life of this patent
Estimating the term…
Abstract
Techniques for facilitating transactions are described in which the system facilitating the transaction engages in natural language dialog with the user to achieve the desired result. Instead of treating successive input independently, the system maintains a dialog context in which information generated in response to recent input may be used to inform responses to further input.
Claims22
A computer program product for responding to natural language input using a knowledge base including structured data, the computer program product comprising one or more non-transitory computer-readable media having computer program instructions stored therein, the computer program instructions being configured such that, when executed, the computer program instructions cause one or more computing devices to:
- receive a natural language question entered as input by a user;
- generate a plurality of queries from the natural language question, the queries including a guard query, first fallback query, and a second fallback query, the guard query being configured to determine unknown information represented by a first variable of the guard query using a first information source other than the user, the first fallback query being configured to determine the unknown information represented by the first variable using a second information source other than the user, and the second fallback query being configured to determine the unknown information represented by the first variable by generating a natural language request to the user if the guard query and the first fallback query fail;
- execute the guard query thereby generating a value for a second variable of the guard query;
- determine that the unknown information represented by the first variable cannot be retrieved from the first information source based on a failure to resolve the first variable of the guard query;
- substitute the value generated by execution of the guard query into the first fallback query;
- determine by executing the first fallback query, that the unknown information represented by the first variable cannot be retrieved from the second information source;
- generate, by executing the second fallback query, the natural language request for presentation to the user requesting the unknown information represented by the first variable;
- receive responsive information corresponding to the natural language request;
- determine the unknown information represented by the first variable from the responsive information;
- and
- generate a definitive answer to the natural language question.
A computer-implemented method for facilitating a transaction, comprising:
- receiving input initiating the transaction;
- generating one or more queries from the input, each of the queries including one or more variables representing unknown information required for the transaction to proceed, the one or more variables of the one or more queries including a first variable, a second variable, and a third variable;
- for each variable in each query, determining whether the unknown information represented by the variable can be obtained from a first information source, the first information source comprising a knowledge base including structured data having a format compatible with the one or more queries;
- for each variable for which the unknown information cannot be obtained from the first information source, determining whether the unknown information represented by the variable can be obtained from one or more of a plurality of alternate information sources, the alternate information sources including a user by whom the input was entered, and a remote information source that is remote from and independent of the knowledge base;
- transmitting a first request for information to the remote information source;
- receiving a response to the first request;
- transmitting a second request for information to the device associated with the user;
- receiving a response to the second request from the device, the response to the second request including input from the user;
- determining the unknown information represented by each variable, including determining the unknown information represented by the first variable using the response to the first request, determining the unknown information represented by the second variable using the response to the second request, and determining the unknown information represented by the third variable using the knowledge base;
- and
- proceeding with the transaction.
A computing system for facilitating a transaction, comprising:
- a first information source comprising one or more data stores;
- and
- one or more computing devices configured to:
- receive input initiating the transaction;
- generate one or more queries from the input, each of the queries including one or more variables representing unknown information required for the transaction to proceed;
- for each variable in each query, determine whether the unknown information represented by the variable can be obtained from the first information source;
- for each variable for which the unknown information cannot be obtained from the first information source, determine whether the unknown information represented by the variable can be retrieved from one or more alternate information sources;
- receive first responsive information corresponding to a first variable from a first alternate information source;
- identify alternate interpretations of the first responsive information using an ontology associated with the first information source, the ontology representing knowledge stored in the data stores of the first information source using classes and relationships among the classes;
- and
- identify a correct one of the alternate interpretations as the unknown information represented by the first variable using contextual information generated during a current interaction with the user;
- determine the unknown information represented by each variable other than the first variable with further responsive information from the first information source or the one or more alternate information sources;
- and
- proceed with the transaction.
Dependencies are inferred from the claim text.