Intelligent assistant with intent-based information resolution
First Claim
1. A method executed by a computing system of one or more computing devices, the method comprising:
- receiving user input via an interface of the computing device, the user input including natural language user input;
performing the following actions in a loop with respect to a first intent template defining a set of slots until the set of slots are both filled and resolved, wherein the first intent template is selected from among a plurality of candidate intent templates;
populating one or more slots of the set of slots of the first intent template with information based on the user input,if the first intent template is partially resolved in which a subject slot of the set of slots is not both filled and resolved, performing the following additional actions as part of the loop;
determining a state of the subject slot as at least one of unfilled or unresolved,presenting a query for a user to fill or resolve the subject slot based on query selection criteria,receiving a user response to the query,altering the state of the subject slot based on the user response to the query, andre-executing the loop with the user response to the query being incorporated into the user input, wherein an iteration of the loop during re-execution of the loop includes;
determining that a second intent template of the plurality candidate intent templates is a closer match to the user input and the user response to the query, based on slots filled and resolved within the loop; and
responsive to determining that the second intent template is the closer match, exiting the loop prior to the subject slot of the set of slots being both filled and resolved;
populating one or more slots defined by the second intent template based on the user input and the user response to the query; and
performing an action that is based on the second intent template following populating the one or more slots of the second intent template.
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.
50 Citations
18 Claims
-
1. A method executed by a computing system of one or more computing devices, the method comprising:
-
receiving user input via an interface of the computing device, the user input including natural language user input; performing the following actions in a loop with respect to a first intent template defining a set of slots until the set of slots are both filled and resolved, wherein the first intent template is selected from among a plurality of candidate intent templates; populating one or more slots of the set of slots of the first intent template with information based on the user input, if the first intent template is partially resolved in which a subject slot of the set of slots is not both filled and resolved, performing the following additional actions as part of the loop; determining a state of the subject slot as at least one of unfilled or unresolved, presenting a query for a user to fill or resolve the subject slot based on query selection criteria, receiving a user response to the query, altering the state of the subject slot based on the user response to the query, and re-executing the loop with the user response to the query being incorporated into the user input, wherein an iteration of the loop during re-execution of the loop includes; determining that a second intent template of the plurality candidate intent templates is a closer match to the user input and the user response to the query, based on slots filled and resolved within the loop; and responsive to determining that the second intent template is the closer match, exiting the loop prior to the subject slot of the set of slots being both filled and resolved; populating one or more slots defined by the second intent template based on the user input and the user response to the query; and performing an action that is based on the second intent template following populating the one or more slots of the second intent template. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computing system, comprising:
-
one or more processor devices; a storage device having instructions stored thereon executable by the one or more processors devices to; receive user input via an interface of the computing system, the user input including natural language user input; perform the following actions in a loop with respect to a first intent template defining a set of slots until the set of slots are both filled and resolved, wherein the first intent template is selected from among a plurality of candidate intent templates; populate one or more slots of the set of slots of the first intent template with information based on the user input, if the first intent template is partially resolved in which a subject slot of the set of slots is not both filled and resolved, perform the following additional actions as part of the loop; determine a state of the subject slot as at least one of unfilled or unresolved, present a query for a user to fill or resolve the subject slot based on query selection criteria, receive a user response to the query, alter the state of the subject slot based on the user response to the query, and re-execute the loop with the user response to the query being incorporated into the user input, wherein an iteration of the loop during re-execution of the loop includes; determining that a second intent template of the plurality candidate intent templates is a closer match to the user input and the user response to the query, based on slots filled and resolved within the loop; and responsive to determining that the second intent template is the closer match, exiting the loop prior to the subject slot of the set of slots being both filled and resolved; populate one or more slots defined by the second intent template based on the user input and the user response to the query; and perform an action that is based on the second intent template following populating the one or more slots of the second intent template. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method executed by a computing system of one or more computing devices, the method comprising:
-
receiving user input via an interface of the computing device, the user input including natural language user input; performing the following actions in a loop with respect to a first intent template defining a set of slots until the set of slots are both filled and resolved, wherein the first intent template is selected from among a plurality of candidate intent templates; populating one or more slots of the set of slots of the first intent template with information based on the user input, if the first intent template is partially resolved in which a subject slot of the set of slots is not both filled and resolved, performing the following additional actions as part of the loop; determining a state of the subject slot as at least one of unfilled or unresolved, presenting a query for a user to fill or resolve the subject slot based on query selection criteria, receiving a user response to the query, altering the state of the subject slot based on the user response to the query, and re-executing the loop with the user response to the query being incorporated into the user input, wherein an iteration of the loop during re-execution of the loop includes; determining that a second intent template of the plurality candidate intent templates is a closer match to the user input and the user response to the query, based on slots filled and resolved within the loop; and responsive to determining that the second intent template is the closer match, exiting the loop prior to the subject slot of the set of slots being both filled and resolved; populating a set of one or more slots defined by the second intent template based on the user input and the user response to the query; generating a rule based upon the set of slots of the second intent template being both filled and resolved, the rule being to perform an action defined by the second intent template upon an occurrence of a trigger condition defined by the intent template; and performing the action that is based on the second intent template following populating the one or more slots of the second intent template, wherein the set of one or more slots defined by the second intent template is a subset of a superset of slots defined by the second intent template in which one or more slots of the superset that are not included in the subset initially has an information type that includes;
not required or not requiring resolution.
-
Specification