IP Library Granted Patent US 10,891,950
Granted Patent B2
US 10,891,950 · App. 16/144,977 · Granted Jan 12, 2021

Graph based prediction for next action in conversation flow

Inventors: Lei Huang (Mountain View, CA); Robert J. Moore (San Jose, CA); Guangjie Ren (Belmont, CA); Shun Jiang (San Jose, CA)
Assignee: International Business Machines Corporation
G10L15/22G06F16/3329G06F16/3334G10L2015/225
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,891,950
App. No.
16/144,977
Granted
Jan 12, 2021
Kind
B2
Abstract

One embodiment provides a method for predicting a next action in a conversation system that includes obtaining, by a processor, information from conversation logs and a conversation design. The processor further creates a dialog graph based on the conversation design. Weights and attributes for edges in the dialog graph are determined based on the information from the conversation logs. An unrecognized user input the conversation system is detected. The unrecognized user input is analyzed and a next action is predicted based on dialog nodes in the dialog graph and historical paths. A guiding conversation response is generated based on the predicted next action.

Claims (68)

1. A method for predicting a next action in a conversation system comprising:

obtaining, by a processor, information from conversation logs and a conversation design;

creating, by the processor, a dialog graph based on the conversation design;

determining weights for edges in the dialog graph based on the information from the conversation logs;

detecting an unrecognized user input in the conversation system;

analyzing the unrecognized user input and predicting a next action based on dialog nodes in the dialog graph and historical paths;

generating a guiding conversation response based on the predicted next action; and

improving the conversation design upon non-acceptance of the guiding conversation response based on analyzing historical records including exception records, issue records and prediction results, updating dialog nodes and conversation transition logics based on the historical records, and updating the dialog graph based on the updated dialog nodes and transition logics.

2. The method of claim 1 , wherein:

the conversation design comprises all dialog node attributes and transition logics;

a node in the dialog graph comprises the dialog node and all its dialog node attributes; and

an edge in the dialog graph comprises transition logic for any given dialog node pairs.

3. The method of claim 2 , wherein the guiding conversation response is based on insertion of a temporary dialog node in the dialog graph.

4. The method of claim 3 , wherein determining weights for the edges comprises:

analyzing the conversation logs;

calculating transition probabilities among dialog nodes of the dialog graph;

weighting the edges based on the transition probabilities; and

adding user input and external context information to an edge attributes set.

5. The method of claim 2 , wherein predicting the next action comprises determining whether a match exists for a particular dialog node in the dialog graph.

6. The method of claim 2 , wherein predicting the next action further comprises:

analyzing individual context information comprising: time, historical web page or mobile page visiting information, and location.

7. The method of claim 1 , wherein the conversation system comprises a virtual assistant or chatbot application.

8. A computer program product for predicting a next action in a conversation system, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:

obtain, by the processor, information from conversation logs and a conversation design;

create, by the processor, a dialog graph based on the conversation design;

determine, by the processor, weights for edges in the dialog graph based on the information from the conversation logs;

detect, by the processor, an unrecognized user input in the conversation system;

analyze, by the processor, the unrecognized user input and predicting a next action based on dialog nodes in the dialog graph and historical paths;

generate, by the processor, a guiding conversation response based on the predicted next action; and

improve, by the processor, the conversation design upon non-acceptance of the guiding conversation response based on analyzing historical records including exception records, issue records and prediction results, update, by the processor, dialog nodes and conversation transition logics based on the historical records, and update, by the processor, the dialog graph based on the updated dialog nodes and transition logics.

9. The computer program product of claim 8 , wherein:

the conversation design comprises all dialog node attributes and transition logics;

a node in the dialog graph comprises the dialog node and all its dialog node attributes; and

an edge in the dialog graph comprises transition logic for any given dialog node pairs.

10. The computer program product of claim 9 , wherein the guiding conversation response is based on insertion of a temporary dialog node in the dialog graph.

11. The computer program product of claim 10 , wherein determining weights for the edges comprises:

analyzing the conversation logs;

calculating transition probabilities among dialog nodes of the dialog graph;

weighting the edges based on the transition probabilities; and

adding user input and external context information to an edge attributes set.

12. The computer program product of claim 9 , wherein predicting the next action comprises determining whether a match exists for a particular dialog node in the dialog graph.

13. The computer program product of claim 9 , wherein predicting the next action further comprises:

analyzing individual context information comprising: time, historical web page or mobile page visiting information, and location.

14. The computer program product of claim 8 ,

wherein the conversation system comprises a virtual assistant or chatbot application.

15. An apparatus comprising:

a memory configured to store instructions; and

a processor configured to execute the instructions to:

obtain information from conversation logs and a conversation design;

create a dialog graph based on the conversation design;

determine weights for edges in the dialog graph based on the information from the conversation logs;

detect an unrecognized user input in a conversation system;

analyze the unrecognized user input and predict a next action based on dialog nodes in the dialog graph and historical paths;

generate a guiding conversation response based on the predicted next action; and

improve the conversation design upon non-acceptance of the guiding conversation response based on analyzing historical records including exception records, issue records and prediction results, updating dialog nodes and conversation transition logics based on the historical records, and updating the dialog graph based on the updated dialog nodes and transition logics;

wherein the guiding conversation response is based on insertion of a temporary dialog node in the dialog graph.

16. The apparatus of claim 15 , wherein:

the conversation design comprises all dialog node attributes and transition logics;

a node in the dialog graph comprises the dialog node and all its dialog node attributes; and

an edge in the dialog graph comprises transition logic for any given dialog node pairs.

17. The apparatus of claim 16 , wherein

determining weights for the edges comprises:

analyzing the conversation logs;

calculating transition probabilities among dialog nodes of the dialog graph;

weighting the edges based on the transition probabilities;

adding user input and external context information to an edge attributes set; and

predicting the next action comprises determining whether a match exists for a particular dialog node in the dialog graph, and analyzing individual context information comprising: time, historical web page or mobile page visiting information, and location.

18. The apparatus of claim 16 , wherein the conversation system comprises a virtual assistant or chatbot application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2024
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MAPLEBEAR INC.
Reel/Frame 066020/0216 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2018
From: HUANG, LEI; MOORE, ROBERT J.; REN, GUANGJIE; JIANG, SHUN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047159/0279 →
Cited By (3)
US 12,212,714 US 12,273,304 US 12,573,391