IP Library › Granted Patent US 11,195,523
Granted Patent B2
US 11,195,523 · App. 16/520,229 · Granted Dec 7, 2021

Ambiguity resolution with dialogue search history

Inventors: David Leo Wright Hall (Berkeley, CA); David Ernesto Heekin Burkett (Berkeley, CA); Jesse Daniel Eskes Rusak (Somerville, MA); Jayant Sivarama Krishnamurthy (Berkeley, CA); Jason Andrew Wolfe (Berkeley, CA); Adam David Pauls (San Francisco, CA); Alan Xinyu Guo (Boston, MA); Jacob Daniel Andreas (San Francisco, CA); Daniel Louis Klein (Orinda, CA)
Assignee: Microsoft Technology Licensing, LLC
G10L15/197G06F9/54G06F16/635G06F40/295G10L15/1815G10L15/22
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,195,523
App. No.
16/520,229
Filed
Jul 23, 2019
Granted
Dec 7, 2021
Kind
B2
Examiner
AZAD, ABUL K
Art Unit
2656
USPC
704/257
Abstract

A method comprising recognizing a user utterance including an ambiguity. The method further comprises using a previously-trained code-generation machine to produce, from the user utterance, a data-flow program including a search-history function. The search-history function is configured to select a highest-confidence disambiguating concept from one or more candidate concepts stored in a context-specific dialogue history.

Claims (38)

1. A method, comprising:

recognizing a user utterance including an ambiguity;

using a previously-trained code-generation machine to produce, from the user utterance, a data-flow program including a search-history function;

wherein the search-history function is configured to select a highest-confidence disambiguating concept from one or more candidate concepts stored in a context-specific dialogue history.

2. The method of claim 1 , further comprising recognizing a constraint related to the ambiguity, wherein the search-history function is configured to search, in the context-specific dialogue history, for a subset of the one or more candidate concepts satisfying the constraint related to the ambiguity, and wherein the highest-confidence disambiguating concept is one of the subset of candidate concepts.

3. The method of claim 2 , wherein the constraint indicates an ambiguous entity and an entity property of the ambiguous entity, and wherein the subset of the one or more candidate concepts includes candidate entities from the context-specific dialogue history having the entity property.

4. The method of claim 2 , wherein the constraint indicates an ambiguous reference to an action performed by an automated assistant and a constraining property related to the action, and wherein the subset of the one or more candidate concepts includes a plurality of candidate actions having the constraining property, wherein each candidate action is defined by a candidate data-flow program fragment.

5. The method of claim 1 , further comprising recognizing a constraint related to the ambiguity, wherein the search-history function is configured to use a previously-trained relevance detection machine to select a disambiguating data-flow program fragment corresponding to the disambiguating concept from the context-specific dialogue history based on such recognized constraint.

6. The method of claim 5 , wherein the previously-trained relevance detection machine is trained via supervised training on a plurality of annotated dialogue histories, wherein an annotated dialogue history includes an unresolved search-history function labeled with a disambiguating concept that would resolve the unresolved search-history function.

7. The method of claim 6 , wherein the disambiguating concept that would resolve the unresolved search-history function is selected by a human demonstrator from the context-specific dialogue history.

8. The method of claim 6 , wherein the exemplary disambiguating concept for the exemplary search-history function includes an exemplary program fragment received from a human demonstrator.

9. The method of claim 1 , wherein the data-flow program is configured for unconditional evaluation of one or more data values including a return value, and the method further comprises executing the data-flow program and, responsive to reaching any error condition while execution the data-flow program:

suspending execution of the data-flow program;

using the previously-trained code-generation machine to generate an error-handling data-flow program based on the suspended execution of the data-flow program; and

resuming execution with the error-handling data-flow program.

10. The method of claim 1 , wherein the previously-trained code generation machine is configured to add any of a plurality of pre-defined composable functions to the data-flow program based on the user utterance including the ambiguity.

11. The method of claim 10 , wherein the plurality of pre-defined composable functions includes an intelligent decision function, wherein the intelligent decision function is configured to use a previously-trained machine learning model to perform a calculation.

12. The method of claim 10 , wherein the plurality of pre-defined composable functions includes a user-customized function configured to access a user customization setting and to perform a calculation based on the user customization setting.

13. The method of claim 10 , wherein the plurality of pre-defined composable functions includes a foreign function configured to invoke a foreign application programming interface (API).

14. The method of claim 13 , wherein the plurality of pre-defined composable functions includes an inference function configured to perform a calculation with regard to a result of the foreign function.

15. The method of claim 10 , wherein the plurality of pre-defined composable functions includes a macro function, wherein the macro function includes a plurality of other pre-defined composable functions and wherein the macro function is configured to execute the plurality of other pre-defined composable functions.

16. The method of claim 10 , wherein the plurality of pre-defined composable functions includes a program rewriting function, parametrized by a designated concept stored in the context-specific dialogue history, and configured to generate a new data-flow program fragment related to the designated concept.

17. The method of claim 16 , wherein the designated concept stored in the context-specific dialogue history includes a target sub-concept, wherein the program rewriting function is further parametrized by a replacing sub-concept, and wherein the new data-flow program fragment corresponds to the designated concept with the target sub-concept being replaced by the replacing sub-concept.

18. The method of claim 1 , wherein the previously-trained code generation machine is trained via supervised training on a plurality of annotated dialogue histories, wherein an annotated dialogue history includes an exemplary user utterance and an exemplary data-flow program including the search-history function.

19. A computer system, comprising:

a microphone;

a logic device; and

a storage device holding instructions executable by the logic device to:

receive speech sounds from the microphone;

recognize, in the speech sounds, a user utterance including an ambiguity; and

use a previously-trained code-generation machine to produce, from the user utterance, a data-flow program including a search-history function, wherein the search-history function is configured to select a highest-confidence disambiguating concept from one or more candidate concepts stored in a context-specific dialogue history.

20. A method, comprising:

recognizing a user utterance including an ambiguity;

recognizing a constraint related to the ambiguity;

using a previously-trained code-generation machine to produce, from the user utterance, a data-flow program including a search-history function, wherein the search-history function is configured to:

search one or more candidate concepts stored in a context-specific dialogue history for a subset of the one or more candidate concepts satisfying the constraint related to the ambiguity;

use a previously-trained relevance detection machine to select a highest-disambiguating concept from the subset of the one or more candidate concepts; and

select a disambiguating data-flow program fragment corresponding to the disambiguating concept.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2019
From: HALL, DAVID LEO WRIGHT; BURKETT, DAVID ERNESTO HEEKIN; RUSAK, JESSE DANIEL ESKES; KRISHNAMURTHY, JAYANT SIVARAMA; WOLFE, JASON ANDREW; PAULS, ADAM DAVID; GUO, ALAN XINYU; ANDREAS, JACOB DANIEL; KLEIN, DANIEL LOUIS
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 049839/0122 →
Continuity (1)
Related Publication 20210027771A1 · Jan 28, 2021