Graph-based natural language generation for conversational systems

US11876756B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11876756-B2
Application numberUS-202117446750-A
CountryUS
Kind codeB2
Filing dateSep 2, 2021
Priority dateMay 10, 2021
Publication dateJan 16, 2024
Grant dateJan 16, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computing device may represent dialog for output by a chatbot as a response graph. The graph may consist of nodes and edges, both of which may have attributes. The graph may be linked with another graph. There may be one or more traversal paths through the graph. The computing device may represent each traversal path as a row in a database table. Each column in the table row may correspond to: one or more nodes in the traversal path, a condition value, weight, and/or other filtering condition. A computing device may display a graphical user interface that allows a user to add, edit, and/or delete nodes and/or edges of the graph. The user interface may also allow the user to compare two or more graphs. The user interface may generate visualizations of traversal paths of a response graph.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: causing, by a computing device and via a graphical user interface (GUI), display of a first version of a graph, wherein: the graph comprises interconnected response nodes that indicate, via traversal paths formed by the interconnected response nodes, a plurality of possible responses to an inquiry received by a chatbot application, and each of the interconnected response nodes indicates, from the plurality of possible responses, a portion of a possible response to the inquiry received by the chatbot application; modifying, based on user input received via the GUI, the first version of the graph to change at least one of the plurality of possible responses, resulting in a user-modified version of the graph; determining one or more differences between the first version of the graph and the user-modified version of the graph; causing the one or more differences to be displayed; generating, based on the user-modified version of the graph and for the chatbot application, each of the plurality of possible responses; storing each of the plurality of possible responses in a table; receiving, via the chatbot application, an input inquiry; determining, using natural language processing, a context of the input inquiry; querying, based on the context, the table to determine, from the plurality of possible responses, a response to the input inquiry; and causing, via the chatbot application, output of the response to the input inquiry. 2. The method of claim 1 , wherein modifying the first version of the graph is performed by adding, based on the user input, a word node to the graph; wherein generating each of the plurality of the possible responses is based on the word node. 3. The method of claim 1 , wherein modifying the first version of the graph is performed by adding, based on the user input, a connection between a first node of the graph and a second node of the graph; wherein generating each of the plurality of possible responses is based on the connection. 4. The method of claim 1 , wherein modifying the first version of the graph is performed by assigning, based on the user input, a weight to a connection between a first node of the graph and a second node of the graph; wherein generating each of the plurality of possible responses is based on the weight. 5. The method of claim 1 , wherein modifying the first version of the graph is performed by adding, based on the user input, a conditional node to the graph, wherein the conditional node indicates a condition that is to be completed before traversing to another node; wherein generating each of the plurality of possible responses is based on the conditional node. 6. The method of claim 1 , wherein modifying the first version of the graph is performed by adding, based on the user input, a variable node to the graph, wherein the variable node indicates data that is to be dynamically determined at runtime; wherein generating each of the plurality of possible responses is based on the variable node. 7. The method of claim 1 , wherein modifying the first version of the graph is performed by assigning, based on the user input, a loop node to the graph, wherein the loop node indicates a portion of the graph that is to be cyclically traversed until a loop condition is satisfied; wherein generating each of the plurality of possible responses is based on the loop node. 8. The method of claim 1 , wherein modifying the first version of the graph is performed by assigning, based on the user input, a graph node to the graph, wherein the graph node indicates an associated graph that is to be traversed before continuing to another node of the graph; wherein generating each of the plurality of possible responses is performed based on the graph node. 9. The method of claim 1 , wherein modifying the first version of the graph is performed by moving, based on the user input, a node to an updated location within the graph; wherein generating each of the plurality of possible responses is based on the updated location. 10. The method of claim 1 , wherein generating each of the plurality of possible responses is performed by traversing each of the traversal paths, and wherein each of the plurality of possible responses corresponds to a traversal path. 11. A computing device comprising: one or more processors; and memory storing executable instructions that, when executed by the one or more processors, cause the computing device to: cause, via a graphical user interface (GUI), display of a first version of a graph, wherein: the graph comprises interconnected response nodes that indicate, via traversal paths formed by the interconnected response nodes, a plurality of possible responses to an inquiry received by a chatbot application, and each of the interconnected response nodes indicates, from the plurality of possible responses, a portion of a possible response to the inquiry received by the chatbot application; modify, based on user input received via the GUI, the first version of the interconnected nodes to change at least one of the plurality of possible responses, resulting in a user-modified version of the graph; determine one or more differences between the first version of the graph and the user-modified version of the graph; cause the one or more differences to be displayed; generate, based on the user-modified version of the graph and for the chatbot application, each of the plurality of possible responses; store each of the plurality of possible responses in a table; receive, via the chatbot application, an input inquiry; determine, using natural language processing, a context of the input inquiry; query, based on the context, the table to determine, from the plurality of possible responses, a response to the input inquiry; and cause, via the chatbot application, output of the response to the input inquiry. 12. The computing device of claim 11 , wherein the executable instructions, when executed by the one or more processors, cause the computing device to modify the first version of the graph by adding or modifying, based on the user input, a word node. 13. The computing device of claim 11 , wherein the executable instructions, when executed by the one or more processors, cause the computing device to modify the first version of the graph by adding or modifying, based on the user input, a connection between a first node and a second node. 14. The computing device of claim 11 , wherein the executable instructions, when executed by the one or more processors, cause the computing device to modify the first version of the graph by assigning, based on the user input, a weight to a connection between a first node and a second node. 15. The computing device of claim 11 , wherein the executable instructions, when executed by the one or more processors, cause the computing device to modify the first version of the graph by adding or modifying, based on the user input, a conditional node, wherein the conditional node indicates a condition that is to be completed before traversing to another node. 16. The computing device of claim 11 , wherein the executable instructions, when executed by the one or more processors, cause the computing device to modify the first version of the graph by moving, based on the user input, a node to an updated location within the interconnected nodes. 17. A non-transitory computer readable medium comprising executable instructions that, when executed, cause a computing device to: cause, via a graphical user interface (GUI), display

Assignees

Inventors

Classifications

  • Drawing of charts or graphs · CPC title

  • H04L51/02Primary

    using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages · CPC title

  • Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title

  • Natural language analysis (semantic analysis of natural language G06F40/30) · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11876756B2 cover?
A computing device may represent dialog for output by a chatbot as a response graph. The graph may consist of nodes and edges, both of which may have attributes. The graph may be linked with another graph. There may be one or more traversal paths through the graph. The computing device may represent each traversal path as a row in a database table. Each column in the table row may correspond to…
Who is the assignee on this patent?
Capital One Services Llc
What technology area does this patent fall under?
Primary CPC classification H04L51/02. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 16 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).