IP Library › Granted Patent US 11,410,643
Granted Patent B2
US 11,410,643 · App. 16/657,675 · Granted Aug 9, 2022

Response generation for conversational computing interface

Inventors: Jacob Daniel Andreas (San Francisco, CA); Jayant Sivarama Krishnamurthy (Berkeley, CA); Alan Xinyu Guo (Boston, MA); Andrei Vorobev (Bellevue, WA); John Philip Bufe, III (Somerville, MA); Jesse Daniel Eskes Rusak (Somerville, MA); Yuchen Zhang (Fremont, CA)
Assignee: Microsoft Technology Licensing, LLC
G10L15/1815G06F9/54G06F40/211G06N7/005G06N20/00G10L15/22G06F40/253G06F40/295G10L2015/223
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,410,643
App. No.
16/657,675
Granted
Aug 9, 2022
Kind
B2
Abstract

A computer-implemented method of responding to a conversational event. The method comprises enacting, by a conversational computing interface, an initial computer-executable plan based on a conversational event received by the conversational computing interface, wherein the initial computer-executable plan is configured to output an initial value based on the conversational event. The method further comprises selecting, by the conversational computing interface, an extended computer-executable plan based on determining that the initial value is insufficient for generating an extended description responsive to the conversational event. The method further comprises enacting, by the conversational computing interface, the extended computer-executable plan to output additional information beyond what the initial computer-executable plan is configured to output, the additional information sufficient for generating the extended description responsive to the conversational event. The method further comprises outputting, via the conversational computing interface, a response to the conversational event including the extended description.

Claims (41)

1. A computer-implemented method of responding to a conversational event, comprising:

enacting, by a conversational computing interface, an initial computer-executable plan based on a conversational event received by the conversational computing interface, wherein the initial computer-executable plan is configured to output an initial value based on the conversational event;

selecting, by the conversational computing interface based on the initial value, a description template that requires additional information not output by the initial computer-executable plan;

selecting, by the conversational computing interface based on the initial value, an extended computer-executable plan configured to output the additional information;

enacting, by the conversational computing interface, the extended computer-executable plan to fill in the description template with the additional information;

outputting a plurality of candidate responses to the conversational event based on a plurality of different description templates, each different description template filled with additional information from a corresponding extended computer-executable plan; and

outputting, via the conversational computing interface, a response to the conversational event based on one of the different description templates filled in with additional information.

2. The computer-implemented method of claim 1 , wherein the initial value is a result of an application programming interface (API) call issued by the initial computer-executable plan, the additional information includes an answer to a further API call, and the extended computer-executable plan is configured to issue the further API call to retrieve the answer to the further API call.

3. The computer-implemented method of claim 1 , further comprising recursively enacting further-extended computer-executable plans to recursively output further-additional information and further fill the description template with the further-additional information.

4. The computer-implemented method of claim 1 , wherein selecting the description template and selecting the extended computer-executable plan are based on selecting an applicable generation rule of a plurality of generation rules, wherein the applicable generation rule defines the description template and the extended computer-executable plan.

5. The computer-implemented method of claim 4 , wherein selecting the generation rule of the plurality of generation rules includes recognizing a syntactic symbol indicating a syntactic role of the response to the conversational event, and filtering the plurality of generation rules to select the applicable generation rule from a subset of generation rules having a matching syntactic symbol.

6. The computer-implemented method of claim 4 , wherein selecting the applicable generation rule of the plurality of generation rules includes assessing, for each candidate generation rule of the plurality of generation rules, a correspondence between the initial value output by the initial computer-executable plan and a plan matcher of the candidate generation rule.

7. The computer-implemented method of claim 6 , wherein the plan matcher is configured to match any value that satisfies a computer-executable predicate function defined for values of a predefined data type.

8. The computer-implemented method of claim 6 , wherein the plan matcher is configured to match one or more structural features of the initial computer-executable plan.

9. The computer-implemented method of claim 6 , wherein the plan matcher is configured to match a specific value.

10. The computer-implemented method of claim 1 , further comprising assessing a score for each different candidate response and outputting the response having a highest score of the plurality of candidate responses.

11. The computer-implemented method of claim 1 , further comprising assessing, for each different candidate response, a score of a description template associated with the response and outputting the response having a highest aggregate score of one or more associated description templates.

12. A computer-implemented method of responding to a conversational event, comprising:

enacting, by a conversational computing interface, an initial computer-executable plan based on a conversational event received by the conversational computing interface, wherein the initial computer-executable plan is configured to output an initial value based on the conversational event;

selecting, by the conversational computing interface, an extended computer-executable plan based on determining that the initial value is insufficient for generating an extended description responsive to the conversational event;

enacting, by the conversational computing interface, the extended computer-executable plan to output additional information beyond what the initial computer-executable plan is configured to output, the additional information sufficient for generating the extended description responsive to the conversational event;

outputting a plurality of candidate responses to the conversational event based on filling in a plurality of different description templates, wherein each different description template is filled in with information from a corresponding extended computer-executable plan; and

outputting, via the conversational computing interface, a response to the conversational event including the extended description based on one of the different description templates filled in with the additional information.

13. The computer-implemented method of claim 12 , further comprising selecting, based on the initial value, a description template that requires the additional information, wherein the response to the conversational event is based on the description template filled in with the additional information.

14. The computer-implemented method of claim 12 , wherein the initial value is a result of an application programming interface (API) call issued by the initial computer-executable plan, the additional information includes an answer to a further API call, and the extended computer-executable plan is configured to issue the further API call to retrieve the answer to the further API call.

15. The computer-implemented method of claim 12 , further comprising:

filling a description template with the additional information;

recursively enacting further-extended computer-executable plans to recursively output further-additional information; and

filling the description template with the further-additional information.

16. The computer-implemented method of claim 12 , wherein selecting the extended computer-executable plan includes:

recognizing a syntactic symbol indicating a syntactic role of the response to the conversational event; and

filtering a plurality of generation rules to select an applicable generation rule from a subset of generation rules having a matching syntactic symbol, wherein the applicable generation rule defines the extended computer-executable plan.

17. The computer-implemented method of claim 12 , wherein selecting the extended computer-executable plan includes assessing, for each candidate generation rule of a plurality of generation rules, a correspondence between the initial value and a plan matcher of the candidate generation rule, wherein an applicable generation rule defines the extended computer-executable plan.

18. A conversational computing interface system, comprising:

a logic device; and

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

instantiate a conversational computing interface;

enact, by the conversational computing interface, an initial computer-executable plan based on a conversational event received by the conversational computing interface, wherein the initial computer-executable plan includes computer-executable bytecode in a data-flow programming language, and wherein the initial computer-executable plan is configured to output an initial value based on the conversational event;

select, by the conversational computing interface, an extended computer-executable plan including additional data-flow program fragments based on determining that the initial value is insufficient for generating an extended description responsive to the conversational event;

enact, by the conversational computing interface, the extended computer-executable plan to output additional information beyond what the initial computer-executable plan is configured to output, the additional information sufficient for generating the extended description responsive to the conversational event; and

output, via the conversational computing interface, a response to the conversational event including the extended description.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2020
From: ANDREAS, JACOB DANIEL; KRISHNAMURTHY, JAYANT SIVARAMA; GUO, ALAN XINYU; VOROBEV, ANDREI; BUFE, JOHN PHILIP, III; RUSAK, JESSE DANIEL ESKES; ZHANG, YUCHEN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 051439/0809 →
Continuity (2)
Provisional Application 62885671 · Aug 12, 2019
Related Publication 20210050006A1 · Feb 18, 2021
Cited By (1)
US 12,380,283