Intelligent assistant with intent-based information resolution

US10496905B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10496905-B2
Application numberUS-201715657031-A
CountryUS
Kind codeB2
Filing dateJul 21, 2017
Priority dateFeb 14, 2017
Publication dateDec 3, 2019
Grant dateDec 3, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

The invention claimed is: 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. 2. The method of claim 1 , wherein 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, and the query selection criteria include at least one criteria 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. 3. The method of claim 1 , wherein 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. 4. The method of claim 3 , wherein the slots have an information type selected from the group consisting of not required, required and implicitly missing, required and explicitly missing, required and available but unresolved, and required and available and not requiring resolution. 5. The method of claim 1 , wherein the intent template is a first intent template, and wherein the first intent template is selected from among a plurality of candidate intent templates when it is determined, the method further comprising: determining that a second intent template of the plurality of 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; changing the first intent template to the second intent template with slots for information; populating the second intent template based on the user input and the user response to the query; and re-performing resolution on the populated second intent template. 6. The method of claim 1 , further comprising, based on information collected by the system, determining that slot information occupies incorrect slots, and moving slot information to correct slots. 7. The method of claim 1 , further comprising, based on information collected by the system, extracting new information and replacing existing slot information with the new information. 8. The method of claim 1 , wherein implicit knowledge is derived by the system via the processor from data selected from the group consisting of user preferences, past usage of the user, identification of an entity, identification of an environment, placement of the entity in the environment, activities of the entity, placement of other entities in the environment, activities of the other entities, and crowd behavior. 9. The method of claim 1 , wherein performing resolution via the system includes executing lookup resolvers that translate identifiers in the user input into internal representation data. 10. The method of claim 1 , wherein performing resolution via the system includes executing anaphoric resolvers that resolve information based on antecedent or postcedent expression in a context of user input. 11. The method of claim 1 , wherein performing resolution via the system includes executing deixis resolvers that resolve information for words that cannot be interpreted without additional contextual information. 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. 13. The computing system of claim 12 , wherein 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, and the query selection criteria are at least on

Assignees

Inventors

Classifications

  • Discourse or dialogue representation · CPC title

  • Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars · CPC title

  • in combination with an identity check · CPC title

  • the pass enabling tracking or indicating presence · CPC title

  • where the recognised objects include parts of the human body · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10496905B2 cover?
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, popula…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/017. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 03 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).