IP Library › Granted Patent US 10,552,543
Granted Patent B2
US 10,552,543 · App. 15/591,199 · Granted Feb 4, 2020

Conversational authoring of event processing applications

Inventors: Martin J. Hirzel (Ossining, NY); Avraham E. Shinnar (Hawthorne, NY); Jerome Simeon (New York, NY)
Assignee: International Business Machines Corporation
G06F17/279G10L15/18G10L15/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 10,552,543
App. No.
15/591,199
Granted
Feb 4, 2020
Kind
B2
Abstract

A computer natural language conversational agent authors an event-processing rule by carrying out a dialog in natural language with a user. A data model that customizes a dialog and building of the event-processing rule is received. A partial tree data structure is constructed based on a rule's grammar, and specialized based on tokens extracted from the data model. An utterance is received from a user and interpreted according to the grammar as specialized to the data model. Based on the interpreting of the utterance, the grammar, the data model, and context of interactions with the user, a natural language prompt is determined for the computer natural language conversational agent to output to the user. The partial tree data structure is filled based on the natural language prompt and the utterance from the user. The event-processing rule is generated based on the partial tree data structure filled during the dialog.

Claims (52)

1. A method of providing a computer natural language conversational agent that authors an event-processing rule, the method performed by at least one hardware processor, the method comprising:

receiving a data model that customizes a dialog and building of the event-processing rule, the data model including at least entities and events, fields associated with the entities and events, and relationships associated with the entities and events;

parsing the data model to extract tokens;

constructing a partial tree data structure based on a grammar and specializing the partial tree data structure based on the tokens extracted from the data model, the partial tree data structure including at least nodes and edges representing a syntax tree (AST);

receiving a natural language utterance from a user;

interpreting the natural language utterance according to the grammar as specialized to the data model;

determining based on the interpreting of the natural language utterance, the grammar, the data model, and context of interaction with the user, a natural language prompt for the computer natural language conversational agent to output to the user;

filling the partial tree data structure based on the natural language prompt and the natural language utterance from the user, the filling including at least using separate data structures representing tree transformation including at least a replace instruction and an accept instruction, wherein the replace instruction swaps one subtree with a new subtree and the accept instruction changes a state of the subtree to be accepted;

repeating the receiving of the natural language utterance, the interpreting of the natural language utterance, the determining of the natural language prompt, and the filling of the partial tree data structure until the nodes in the AST are filled and the partial tree data structure represents a rule the user accepts; and

generating the event-processing rule based on the partial tree data structure that is filled, the event-processing rule provided as a controlled natural language (CNL), the event-processing rule comprising a computer language deployable to process an application event specified in the data model,

wherein the computer natural language conversational agent engages the user in the dialog via the natural language prompt, allowing the user to program the event-processing rule via carrying on the dialog with the computer natural language conversational agent, without the user having to know how to program the event-processing rule.

2. The method of claim 1 , further comprising transmitting the event-processing rule to an event-processing system, wherein based on an input event received in the event-processing system, the event-processing rule is triggered.

3. The method of claim 2 , wherein the event-processing rule triggering in the event-processing system generates an event output automatically.

4. The method of claim 1 , further comprising providing finite state machines that control a flow of the dialog in the interpreting of the natural language utterance and the determining of the natural language prompt.

5. The method of claim 1 , wherein the conversational agent generates the event-processing rule in a controlled natural language form.

6. The method of claim 1 , wherein the conversational agent generates the event-processing rule in a query language.

7. The method of claim 1 , wherein the conversational agent further echoes back the event processing rule that is generated based on the partial tree data structure filled during the dialog, and requests confirmation from the user.

8. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a device to cause the device to:

receive a data model that customizes a dialog and building of the event-processing rule, the data model including at least entities and events, fields associated with the entities and events, and relationships associated with the entities and events;

parse the data model to extract tokens;

construct a partial tree data structure based on a grammar and specializing the partial tree data structure based on the tokens extracted from data model, the partial tree data structure including at least nodes and edges representing a syntax tree (AST);

receive a natural language utterance from a user;

interpret the natural language utterance according to the grammar as specialized to the data model;

determine based on the interpreting of the natural language utterance, the grammar, the data model, and context of interaction with the user, a natural language prompt for the computer natural language conversational agent to output to the user;

fill the partial tree data structure based on the natural language prompt and the natural language utterance from the user, the filling including at least using separate data structures representing tree transformation including at least a replace instruction and an accept instruction, wherein the replace instruction swaps one subtree with a new subtree and the accept instruction changes a state of the subtree to be accepted;

repeat receiving of the natural language utterance, interpreting of the natural language utterance, determining of the natural language prompt, and filling of the partial tree data structure until the nodes in the AST are filled and the partial tree data structure represents a rule the user accepts; and

generate the event-processing rule based on the partial tree data structure that is filled, the event-processing rule provided as a controlled natural language (CNL), the event-processing rule comprising a computer language deployable to process an application event specified in the data model,

wherein the computer natural language conversational agent engages the user in the dialog via the natural language prompt, allowing the user to program the event-processing rule via carrying on the dialog with the computer natural language conversational agent, without the user having to know how to program the event-processing rule.

9. The computer readable storage device of claim 8 , further comprising transmitting the event-processing rule to an event-processing system, wherein based on an input event received in the event-processing system, the event-processing rule is triggered.

10. The computer readable storage device of claim 9 , wherein the event-processing rule triggering in the event-processing system generates an event output automatically.

11. The computer readable storage device of claim 8 , further comprising providing finite state machines that control a flow of the dialog in the interpreting of the natural language utterance and the determining of the natural language prompt.

12. The computer readable storage device of claim 8 , wherein the conversational agent generates the event-processing rule in a controlled natural language form.

13. The computer readable storage device of claim 8 , wherein the conversational agent generates the event-processing rule in a query language.

14. The computer readable storage device of claim 8 , wherein the conversational agent further echoes back the event processing rule that is generated based on the partial tree data structure filled during the dialog, and requests confirmation from the user.

15. A natural language conversational agent system, comprising:

a storage devices; and

at least one hardware processor coupled to the storage device,

the at least one hardware processor receiving a data model that customizes a dialog and building of the event-processing rule, the data model including at least entities and events, fields associated with the entities and events, and relationships associated with the entities and events;

the at least one hardware processor parsing the data model to extract tokens;

the at least one hardware processor constructing a partial tree data structure based on a grammar and specializing the partial tree data structure based on the tokens extracted from the data model, the partial tree data structure including at least nodes and edges representing a syntax tree (AST);

the at least one hardware processor receiving a natural language utterance from a user via a microphone coupled to the at least one hardware processor;

the at least one hardware processor interpreting the natural language utterance according to the grammar as specialized to the data model;

the at least one hardware processor determining based on the interpreting of the natural language utterance, the grammar, the data model, and context of interaction with the user, a natural language prompt for the computer natural language conversational agent to output to the user;

the at least one hardware processor filling the partial tree data structure based on the natural language prompt and the natural language utterance from the user, the filling including at least using separate data structures representing tree transformation including at least a replace instruction and an accept instruction, wherein the replace instruction swaps one subtree with a new subtree and the accept instruction changes a state of the subtree to be accepted;

the at least one hardware processor repeating the receiving of the natural language utterance, the interpreting of the natural language utterance, the determining of the natural language prompt, and the filling of the partial tree data structure until the nodes in the AST are filled and the partial tree data structure represents a rule the user accepts;

the at least one hardware processor generating the event-processing rule based on the partial tree data structure that is filled, the event-processing rule provided as a controlled natural language (CNL), the event-processing rule comprising a computer language deployable to process an application event specified in the data model,

wherein the computer natural language conversational agent engages the user in the dialog via the natural language prompt, allowing the user to program the event-processing rule via carrying on the dialog with the computer natural language conversational agent, without the user having to know how to program the event-processing rule.

16. The system of claim 15 , wherein the at least one hardware processor transmits the event-processing rule to an event-processing system, wherein based on an input event received in the event-processing system, the event-processing rule is triggered.

17. The system of claim 16 , wherein the event-processing rule triggering in the event-processing system generates an event output automatically.

18. The system of claim 15 , further comprising finite state machines that control a flow of the dialog in interpreting of the natural language utterance and determining of the natural language prompt.

19. The system of claim 15 , wherein the conversational agent generates the event-processing rule in a controlled natural language form.

20. The system of claim 15 , wherein the conversational agent generates the event-processing rule in a query language.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2017
From: HIRZEL, MARTIN J.; SHINNAR, AVRAHAM E.; SIMEON, JEROME
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042319/0599 →
Continuity (1)
Related Publication 20180329878A1 · Nov 15, 2018
Cited By (35)
US 12,190,069 US 12,210,841 US 12,210,843 US 12,217,009 US 12,217,010 US 12,223,285 US 12,223,286 US 12,223,287 US 12,236,199 US 12,242,812 US 12,242,813 US 12,242,814 US 12,254,277 US 12,254,278 US 12,260,181 US 12,260,182 US 12,314,660 US 12,321,697 US 12,340,180 US 12,353,827 US 12,393,777 US 12,400,085 US 12,406,146 US 12,430,503 US 12,430,504 US 12,430,505 US 12,456,008 US 12,499,320 US 12,518,107 US 12,524,619 US 12,554,935 US 12,585,883 US 12,596,881 US 12,730,976 US 12,737,552