IP Library Granted Patent US 10,423,873
Granted Patent B2
US 10,423,873 · App. 15/829,009 · Granted Sep 24, 2019

Information flow analysis for conversational agents

Inventors: Matthew Richard Arnold (Ridgefield Park, NJ); Julian Timothy Dolby (Bronx, NY); Martin Hirzel (Ossining, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06N3/008G06F16/3329G06F17/289G06F16/3344
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,423,873
App. No.
15/829,009
Filed
Dec 1, 2017
Granted
Sep 24, 2019
Kind
B2
Art Unit
2658
USPC
704/270
Abstract

Information flow analysis is conducted on conversational flow specifications of conversational agents. The conversational flow specification prescribes operation of a conversational agent and includes actions to be taken, inputs triggering the actions and input confirmations executed after receipt of a given input and before triggering a given action. The actions, inputs and input confirmations define conversational flow paths through the conversational flow specification. Unconfirmed conversational flow paths through the conversational flow specification are identified and reported to the author of the conversational flow specification. Each unconfirmed conversational flow path only contains inputs and actions and no input confirmations.

Claims (53)

1. A method for information flow analysis of conversational agents, the method comprising:

analyzing a conversational flow specification created by an author and prescribing operation of a conversational agent, the conversational flow specification comprising actions to be taken, inputs triggering the actions and input confirmations executed after receipt of a given input and before triggering a given action, the actions, inputs and input confirmations defining conversational flow paths through the conversational flow specification;

identifying unconfirmed conversational flow paths through the conversational flow specification, each unconfirmed conversational flow path comprising only inputs and actions; and

reporting the unconfirmed conversational flow paths to the author.

2. The method of claim 1 , wherein analyzing the conversational flow specification comprises analyzing the conversational flow specification statically without operating the conversational agent.

3. The method of claim 1 , wherein identifying the unconfirmed conversational flow paths further comprises identifying unconfirmed conversational flow paths comprising inputs received in a natural language format yielding a relative uncertainty in a content of the inputs as interpreted by the conversational agent that is above a pre-defined level.

4. The method of claim 1 , wherein identifying the unconfirmed conversational flow paths further comprises identifying unconfirmed conversational flow paths comprising important actions that can yield unintended consequences above a pre-defined threshold of severity if executed based on an improper interpretation of inputs by the conversational agent.

5. The method of claim 4 , wherein:

the method further comprises identifying a set of important actions contextually relevant to the conversational flow specification; and

identifying the unconfirmed conversational flow paths further comprises identifying unconfirmed conversational flow paths comprising important actions from the identified set of important actions.

6. The method of claim 1 , wherein the method further comprises:

determining modifications to the conversational flow specification that eliminate the unconfirmed flow paths; and

communicating the modifications to the author;

wherein the modifications comprise inserting input confirmations between each input and subsequent unconfirmed action in each unconfirmed flow path.

7. The method of claim 1 , wherein the conversational flow specification comprises a state machine

comprising a plurality of states, each state is associated with at least one of the actions, each action is triggered by at least one input, each input upon triggering by a given action either transitions the state machine to a secondary state or is consumed by an influenced secondary state and each given state is control dependent on influenced secondary states that consume inputs from that given state.

8. The method of claim 7 , wherein identifying unconfirmed conversational flow paths further comprises:

identifying important states from the plurality of states, each important state associated with important actions that can yield unintended consequences above a pre-defined threshold of severity if executed based on an improper interpretation of inputs by the conversational agent; and

identifying all influenced secondary states asserting control dependence on each important state, the unconfirmed conversational flow paths comprising important inputs received at important states that trigger important actions that result in the consumption of the important inputs by secondary states.

9. The method of claim 8 , wherein:

the input confirmations comprise confirmation states within the state machine; and

identifying unconfirmed conversational flow paths further comprises identifying each influenced secondary state capable of consuming important inputs without receiving a confirming input from one of the confirmation states.

10. The method of claim 9 , wherein reporting the unconfirmed conversational flow paths further comprise reporting important inputs that when received trigger important actions resulting in the consumption of important inputs at influenced secondary states without receiving the confirming input from one of the confirmation states.

11. The method of claim 1 , wherein each input confirmation requests additional input from a user associated with the given input to confirm intent of action interpreted from input received from the user.

12. A non-transitory computer-readable medium containing a computer-readable code that when read by a computer causes the computer to perform a method for information flow analysis of conversational agents, the method comprising:

analyzing a conversational flow specification created by an author and prescribing operation of a conversational agent, the conversational flow specification comprising actions to be taken, inputs triggering the actions and input confirmations executed after receipt of a given input and before triggering a given action, the actions, inputs and input confirmations defining conversational flow paths through the conversational flow specification;

identifying unconfirmed conversational flow paths through the conversational flow specification, each unconfirmed conversational flow path comprising only inputs and actions; and

reporting the unconfirmed conversational flow paths to the author.

13. The non-transitory computer-readable medium of claim 12 , wherein identifying the unconfirmed conversational flow paths further comprises identifying unconfirmed conversational flow paths comprising inputs received in a natural language format and yielding a relative uncertainty in a content of the inputs as interpreted by the conversational agent that is above a pre-defined level.

14. The non-transitory computer-readable medium of claim 12 , wherein:

the method further comprises identifying a set of important actions contextually relevant to the conversational flow specification and that can yield unintended consequences above a pre-defined threshold of severity if executed based on an improper interpretation of inputs by the conversational agent; and

identifying the unconfirmed conversational flow paths further comprises identifying unconfirmed conversational flow paths comprising important actions from the identified set of important actions.

15. The non-transitory computer-readable medium of claim 12 , wherein the method further comprises:

determining modifications to the conversational flow specification that eliminate the unconfirmed flow paths; and

communicating the modifications to the author;

wherein the modifications comprise inserting input confirmations between each input and subsequent unconfirmed action in each unconfirmed flow path.

16. The non-transitory computer-readable medium of claim 12 , wherein the conversational flow specification comprises a state machine comprising a plurality of states, each state is associated with at least one of the actions, each action is triggered by at least one input, each input upon triggering by a given action either transitions the state machine to a secondary state or is consumed by an influenced secondary state and each given state is control dependent on influenced secondary states that consume inputs from that given state.

17. The non-transitory computer-readable medium of claim 16 , wherein identifying unconfirmed conversational flow paths further comprises:

identifying important states from the plurality of states, each important state associated with important actions that can yield unintended consequences above a pre-defined threshold of severity if executed based on an improper interpretation of inputs by the conversational agent; and

identifying all influenced secondary states asserting control dependence on each important state, the unconfirmed conversational flow paths comprising important inputs received at important states that trigger important actions that result in the consumption of the important inputs by secondary states.

18. The non-transitory computer-readable medium of claim 17 , wherein:

the input confirmations comprise confirmation states within the state machine;

identifying unconfirmed conversational flow paths further comprises identifying each influenced secondary state capable of consuming important inputs without receiving a confirming input from one of the confirmation states; and

reporting the unconfirmed conversational flow paths further comprises reporting important inputs that when received trigger important actions resulting in the consumption of important inputs at influenced secondary states without receiving the confirming input from one of the confirmation states.

19. A system for information flow analysis of conversational agents, the system comprising:

a database storing at least one conversational flow specification created by an author and prescribing operation of a conversational agent, the conversational flow specification comprising actions to be taken, inputs triggering actions and input confirmations executed after receipt of a given input and before triggering a given action, the actions, inputs and input confirmations grouped into a plurality of execution sequences, each execution sequence defining a conversational flow path through the conversational flow specification;

a control-flow and data-flow analysis engine executing on a computing system in communication with the database to analyze the conversational flow specification and to identify unconfirmed conversational flow paths through the conversational flow specification comprising only inputs and actions; and

an input and output module executing on the computing system and in communication with the control-flow and data-flow analysis engine to report the unconfirmed conversational flow paths to the author.

20. The system of claim 19 , wherein:

the conversational flow specification comprises a state machine comprising a plurality of states, each state is associated with at least one of the actions, each action is triggered by at least one input, each input upon triggering by a given action either transitions the state machine to a secondary state or is consumed by an influenced secondary state and each given state is control dependent on influenced secondary states that consume inputs from that given state; and

the control-flow and data-flow analysis engine using static analysis of the state machine:

identifies important states from the plurality of states, each important state associated with important actions that can yield unintended consequences above a pre-defined threshold of severity if executed based on an improper interpretation of inputs by the conversational agent; and

identifies all influenced secondary states asserting control dependence on each important state, the unconfirmed conversational flow paths comprising important inputs received at important states that trigger important actions that result in the consumption of the important inputs by secondary states.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2017
From: ARNOLD, MATTHEW RICHARD; DOLBY, JULIAN TIMOTHY; HIRZEL, MARTIN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044406/0960 →
Continuity (1)
Related Publication 20190171925A1 · Jun 6, 2019