Intelligent assistant with intent-based information resolution

US11017765B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11017765-B2
Application numberUS-201916700308-A
CountryUS
Kind codeB2
Filing dateDec 2, 2019
Priority dateFeb 14, 2017
Publication dateMay 25, 2021
Grant dateMay 25, 2021

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 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. 2. The method of claim 1 , further comprising: parsing the user input to determine the first intent template defining the set of slots; and further performing in the loop: filling implicitly missing slot information of the subject slot with implicit knowledge derived from one or more previously filled slots of the set of slots. 3. The method of claim 2 , wherein the implicit knowledge is further derived from data that includes at least one of: user preferences, past usage, 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, crowd behavior. 4. The method of claim 1 , wherein the query selection criteria includes at least one 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, a programmatically calculated selection criteria. 5. The method of claim 1 , wherein: the second intent template includes a trigger condition definition and an action definition; one or more slots of the set of slots are included in the trigger condition definition; one or more slots of the set of slots are included in the action definition; and each slot of the set of slots is configured to contain information to define a trigger condition defined by the trigger condition definition or the action defined by the action definition. 6. The method of claim 5 , further comprising generating a rule based upon the set of slots of the second intent template being both filled and resolved, the rule being to perform the action defined by the action definition upon an occurrence of the trigger condition defined by the trigger condition definition. 7. The method of claim 1 , wherein the set of slots is a subset of a superset of slots defined by the first intent template; each slot of the superset of slots initially has an information type that includes one of the following: not required, required and implicitly missing, required and explicitly missing, required and available but unresolved, required and available and not requiring resolution; and wherein each slot of the set of slots initially has an information type that includes one of the following: required and implicitly missing, required and explicitly missing, required and available but unresolved. 8. The method of claim 1 , further comprising: based on the user response, moving information populating a slot of the set of slots to a different slot of the set of slots. 9. The method of claim 1 , further comprising: based on the user response, replacing information populating a slot of the set of slots with new information contained in the user response. 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. 11. The computing system of claim 10 , wherein the instructions are further executable by the one or more processor devices to: parse the user input to determine the first intent template defining the set of slots; and further perform in the loop: fill implicitly missing slot information of the subject slot with implicit knowledge derived from one or more previously filled slots of the set of slots. 12. The computing system of claim 10 , wherein the implicit knowledge is further derived from data that includes at least one of: user preferences, past usage, 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, crowd behavior. 13. The computing system

Assignees

Inventors

Classifications

  • of input or preprocessed data · CPC title

  • Interactive pattern learning with a human teacher · CPC title

  • Graphical models, e.g. Bayesian networks · CPC title

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

  • Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries · 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 US11017765B2 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 G10L15/1822. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 25 2021 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).