IP Library › Granted Patent US 10,796,088
Granted Patent B2
US 10,796,088 · App. 15/493,436 · Granted Oct 6, 2020

Specifying a conversational computer agent and its outcome with a grammar

Inventors: Martin J. Hirzel (Ossining, NY); Louis Mandel (New York, NY); Avraham E. Shinnar (Hawthorne, NY); Jerome Simeon (New York, NY); Mandana Vaziri (White Plains, NY)
Assignee: International Business Machines Corporation
G06F40/211G06F40/247G06F40/295G06F40/35
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 10,796,088
App. No.
15/493,436
Granted
Oct 6, 2020
Kind
B2
Abstract

An entity grammar that specifies a computer conversational agent may be received. User utterances are interpreted based on the entity grammar and prompts for the conversational agent to pose are determined based on the entity grammar. An outcome of the dialog is built by storing words in the user utterances and the prompts that match tokens in the entity grammar. The entity grammar specifies both a dialog flow and data structure of the outcome.

Claims (51)

1. A method of providing a computer conversational agent and outcome, the method performed by at least one hardware processor, the method comprising:

receiving an entity grammar specifying the computer conversational agent, the entity grammar including at least rules that define compound entities in terms of tokens, choice, and product and according to which the computer conversational agent is to conduct a dialog with a user, the entity grammar represented by at least non-terminals and repetitions, the entity grammar being a domain-specific programming language that programs the computer conversational agent;

translating the entity grammar into types;

receiving user utterance;

interpreting the user utterance based on the entity grammar;

determining a prompt for the computer conversational agent to pose to the user based on interpreting the user utterance and the entity grammar;

uttering the prompt to the user;

building the outcome by storing words in the user utterance and the prompt that match the tokens in the entity grammar; and

repeating the receiving of user utterance, the determining of a prompt, the uttering of the prompt and the building of the outcome until the dialog ends, the end of the dialog determined based on the grammar,

wherein the entity grammar specifies both a dialog flow of the dialog and data structure of the outcome,

wherein the built outcome is rendered in data-interchange format and the entity grammar can serve a dual role of specifying the dialog flow of the computer conversational agent and validating the built outcome, wherein the types translated from the entity grammar validate the outcome rendered in data-interchange format.

2. The method of claim 1 , wherein the authoring user is allowed to specify the computer conversational agent via the entity grammar.

3. The method of claim 1 , wherein the entity grammar contains assertions and actions.

4. The method of claim 3 , wherein the actions are executed to actuate a service.

5. The method of claim 4 , wherein the actions are actuated based on the outcome.

6. The method of claim 1 , further comprising providing a finite state machine that governs the progress of the dialog.

7. The method of claim 6 , wherein the finite state machine includes at least entity states of undefined, filled, confirmed and rejected, which apply to pieces of the outcome.

8. A computer program product for providing a computer conversational agent and outcome, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions readable by a processor to cause the processor to perform a method comprising:

receiving an entity grammar specifying the computer conversational agent, the entity grammar including at least rules that define compound entities in terms of tokens, choice, and product and according to which the computer conversational agent is to conduct a dialog with a user, the entity grammar represented by at least non-terminals and repetitions, the entity grammar being a domain-specific programming language that programs the computer conversational agent;

translating the entity grammar into types;

receiving user utterance;

interpreting the user utterance based on the entity grammar;

determining a prompt for the computer conversational agent to pose to the user based on interpreting the user utterance and the entity grammar;

uttering the prompt to the user;

building the outcome by storing words in the user utterance and the prompt that match the tokens in the entity grammar; and

repeating the receiving of user utterance, the determining of a prompt, the uttering of the prompt and the building of the outcome until the dialog ends, the end of the dialog determined based on the grammar,

wherein the entity grammar specifies both a dialog flow of the dialog and data structure of the outcome,

wherein the built outcome is rendered in data-interchange format and the entity grammar can serve a dual role of specifying the dialog flow of the computer conversational agent and validating the built outcome, wherein the types translated from the entity grammar validate the outcome rendered in data-interchange format.

9. The computer program product of claim 8 , wherein the authoring user is allowed to specify the computer conversational agent via the entity grammar.

10. The computer program product of claim 8 , wherein the entity grammar contains assertions and actions.

11. The computer program product of claim 10 , wherein the actions are executed to actuate a service.

12. The computer program product of claim 11 , wherein the actions are actuated based on the outcome.

13. The computer program product of claim 8 , further comprising providing a finite state machine that governs the progress of the dialog.

14. The computer program product of claim 13 , wherein the finite state machine includes at least entity states of undefined, filled, confirmed and rejected, which apply to pieces of the outcome.

15. A computer conversational agent system, comprising:

a memory device; and

at least one hardware processor coupled to the memory device and receiving an entity grammar specifying the computer conversational agent, the entity grammar including at least rules that define compound entities in terms of tokens, choice, and product, and according to which the computer conversational agent is to conduct a dialog with a user, the entity grammar represented by at least non-terminals and repetitions, the entity grammar being a domain-specific programming language that programs the computer conversational agent;

the at least one hardware processor translating the entity grammar into types;

the at least one hardware processor receiving user utterance;

the at least one hardware processor interpreting the user utterance based on the entity grammar;

the at least one hardware processor determining a prompt for the computer conversational agent to pose to the user based on interpreting the user utterance and the entity grammar;

the at least one hardware processor uttering the prompt to the user;

the at least one hardware processor building a dialog outcome by storing on the memory device, words in the user utterance and the prompt that match the tokens in the entity grammar;

the at least one hardware processor repeating the receiving of user utterance, the determining of a prompt, the uttering of the prompt and the building of the dialog outcome until the dialog ends, the end of the dialog determined based on the grammar,

wherein the entity grammar specifies both a dialog flow of the dialog and data structure of the dialog outcome,

wherein the built outcome is rendered in data-interchange format and the entity grammar can serve a dual role of specifying the dialog flow of the computer conversational agent and validating the built outcome, wherein the types translated from the entity grammar validate the outcome rendered in data-interchange format.

16. The system of claim 15 , wherein the authoring user is allowed to specify the computer conversational agent via the entity grammar.

17. The system of claim 15 , wherein the entity grammar contains assertions and actions.

18. The system of claim 17 , wherein the actions are executed to actuate a service.

19. The system of claim 18 , wherein the actions are actuated based on the dialog outcome.

20. The system of claim 15 , further comprising providing a finite state machine that governs the progress of the dialog, wherein the finite state machine includes at least entity states of undefined, filled, confirmed and rejected, which apply to pieces of the dialog outcome.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2017
From: SIMEON, JEROME
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042191/0598 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2017
From: HIRZEL, MARTIN J.; MANDEL, LOUIS; SHINNAR, AVRAHAM E.; VAZIRI, MANDANA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042090/0638 →
Continuity (1)
Related Publication 20180308476A1 · Oct 25, 2018