Intelligent assistant with intent-based information resolution
First Claim
1. A method executed by a computing device, comprising:
- at a processor;
executing one or more programs of an intelligent digital assistant system to present a user interface to a user;
receiving natural language user input from the user via the user interface;
parsing the user input at an intent handler of the system to determine an intent template with slots for information;
performing the following actions in a loop executed for the intent template until all slots required by the intent template are both filled and resolved;
populating the slots in the intent template with collected information from the user input;
performing resolution on the intent template to at least partially resolve unresolved information, thereby resulting in an at least partially resolved intent template;
filling implicitly missing slot information where possible with implicit knowledge derived from previously filled slots and other context information available to the system;
if, in the at least partially resolved intent template, not all slots required by the intent template are both filled and resolved, then performing the following actions for each slot required by the intent template;
determining a state of each slot that is not both filled and resolved;
presenting a query to the user to fill or resolve a selected slot that is not both filled and resolved based on query selection criteria;
receiving a user response to the query;
based on the user response to the query, altering the state of the selected slot; and
re-executing the loop with the user input and the user response to the query;
exiting the loop upon a determination that all slots required by the intent template are both filled and resolved;
generating a rule based upon the intent template with all required information being available and resolved; and
performing a defined action that applies the generated rule.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for use with a computing device is provided. The method may include executing one or more programs of an intelligent digital assistant system at a processor and presenting a user interface to a user. At the processor, the method may include receiving natural language user input from the user, parsing the user input at an intent handler to determine an intent template with slots, populating the slots in the intent template with information from user input, and performing resolution on the intent template to partially resolve unresolved information. If a slot with missing slot information exists in the partially resolved intent template, a loop may be executed at the processor to fill the slots. The method may include, at the processor, determining that all required information is available and resolved and generating a rule based upon the intent template with all required information being available and resolved.
-
Citations
20 Claims
-
1. A method executed by a computing device, comprising:
at a processor; executing one or more programs of an intelligent digital assistant system to present a user interface to a user; receiving natural language user input from the user via the user interface; parsing the user input at an intent handler of the system to determine an intent template with slots for information; performing the following actions in a loop executed for the intent template until all slots required by the intent template are both filled and resolved; populating the slots in the intent template with collected information from the user input; performing resolution on the intent template to at least partially resolve unresolved information, thereby resulting in an at least partially resolved intent template; filling implicitly missing slot information where possible with implicit knowledge derived from previously filled slots and other context information available to the system; if, in the at least partially resolved intent template, not all slots required by the intent template are both filled and resolved, then performing the following actions for each slot required by the intent template; determining a state of each slot that is not both filled and resolved; presenting a query to the user to fill or resolve a selected slot that is not both filled and resolved based on query selection criteria; receiving a user response to the query; based on the user response to the query, altering the state of the selected slot; and re-executing the loop with the user input and the user response to the query; exiting the loop upon a determination that all slots required by the intent template are both filled and resolved; generating a rule based upon the intent template with all required information being available and resolved; and performing a defined action that applies the generated rule. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. A computing system, comprising:
-
at least a processor configured to execute one or more programs of an intelligent digital assistant system, to; receive natural language user input from a user via a user interface; at an intent handler of the system, parse the user input to determine an intent template with slots for information; perform the following actions in a loop executed for the intent template until all slots required by the intent template are both filled and resolved; populate the slots in the intent template with collected information from the user input; perform resolution on the intent template to at least partially resolve unresolved information, thereby resulting in an at least partially resolved intent template; fill implicitly missing slot information where possible with implicit knowledge derived from previously filled slots and other context information available to the system; if, in the at least partially resolved intent template, not all slots required by the intent template are both filled and resolved, then perform the following actions for each slot required by the intent template; determine a state of each slot that is not both filled and resolved; present a query to the user to fill or resolve a selected slot that is not both filled and resolved based on query selection criteria; receive a user response to the query; based on the user response to the query, alter the state of the selected slot; and re-execute the loop with the user input and the user response to the query; exit the loop upon a determination that all slots required by the intent template are both filled and resolved; generate a rule based upon the intent template with all required information being available and resolved; and perform a defined action that applies the generated rule. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A method executed by a computing device, comprising:
-
at a processor; executing one or more programs of an intelligent digital assistant system to present a user interface to a user; receiving natural language user input from the user via the user interface; parsing the user input at an intent handler of the system to determine an intent template with slots for information; performing the following actions in a loop executed for the intent template until all slots required by the intent template are both filled and resolved; populating the slots in the intent template with collected information from the user input; performing resolution on the intent template to at least partially resolve unresolved information, thereby resulting in an at least partially resolved intent template; filling implicitly missing slot information where possible with implicit knowledge derived from previously filled slots and other context information available to the system; if, in the at least partially resolved intent template, not all slots required by the intent template are both filled and resolved, then performing the following actions for each slot required by the intent template; determining a state of each slot that is not both filled and resolved, the state of each slot that is not both filled and resolved selected from the group consisting of implicitly missing slot information, explicitly missing slot information, and available and unresolved slot information; presenting a query to the user to fill or resolve a selected slot that is not both filled and resolved based on query selection criteria; receiving a user response to the query; based on the user response to the query, altering the state of the selected slot; and re-executing the loop with the user input and user response to the query; exiting the loop upon a determination that all slots required by the intent template are both filled and resolved; generating a rule based upon the intent template with all required information being available and resolved; and performing a defined action that applies the generated rule;
whereinthe query selection criteria are at least one selected from the group consisting of random selection of missing or unresolved slot information, an internal order of explicitly missing slot information that is required to be filled, a greatest potential to fill and resolve a highest number of slots, an estimation of a user expected query, and a selection criteria calculated by the one or more programs; and the intent template includes a trigger condition definition and an action definition, one or more of the slots being included in each of the trigger condition definition and the action definition, each slot configured to contain information to define the trigger condition or action, respectively, and wherein the rule that is generated is a rule to perform an action defined by the action definition upon an occurrence of a trigger defined by the trigger condition definition.
-
Specification