# US 2019/0171925 A1 · Information flow analysis for conversational agents

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0171925 A1
- Document ID: US20190171925A1
- Status: Published application
- Kind: A1
- Application number: 15/829,009
- Filed: 2017-12-01
- Published: 2019-06-06
- Earliest claimed: 2017-12-01
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Matthew Richard ARNOLD; Julian Timothy DOLBY; Martin HIRZEL
- Web page: https://patentgrep.com/patent/US20190171925A1

## CPC

- G06N 3/008: based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
- G06F 16/3329: Natural language query formulation
- G06F 40/35: Discourse or dialogue representation
- G06F 40/58: Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
- G06N 5/04: Inference or reasoning models
- G06F 16/3344: {using natural language analysis}
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 4)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 8 (depends on 7)

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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 9)

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.

### Claim 11 (depends on 1)

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.

### Claim 12

A 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.

### Claim 13 (depends on 12)

The 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.

### Claim 14 (depends on 12)

The 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.

### Claim 15 (depends on 12)

The 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.

### Claim 16 (depends on 12)

The 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.

### Claim 17 (depends on 16)

The 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.

### Claim 18 (depends on 17)

The 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.

### Claim 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.

### Claim 20 (depends on 19)

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.
