Chatbots

US9794199B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9794199-B2
Application numberUS-201615166479-A
CountryUS
Kind codeB2
Filing dateMay 27, 2016
Priority dateJan 8, 2009
Publication dateOct 17, 2017
Grant dateOct 17, 2017

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.

In one aspect, the invention concerns a method of operating a chatbot to engage in a conversation with a correspondent the method comprises building a profile having plural profile variables for the correspondent; and during the conversation with the correspondent; selecting a node in the conversation data structure for processing based on the one or more profile variables, and processing the node to follow a conversation path based on the node's coded instructions and/or relationship with other nodes. In another aspect, the method comprises the steps of attempting to match the received input message with a node in the conversation data structure of the chatbot; if a matched node is found, selecting the matched node for processing; but if a matched node is not found, selecting a node for processing using a fuzzy search, or using a default procedure.

First claim

Opening claim text (preview).

Claims defining the invention are as follows: 1. A computer-implemented method of operating a chatbot to engage in an automated conversation with a correspondent, the method comprising: providing a chatbot having a conversation data structure comprising a plurality of conversation paths, each conversation path in the plurality of conversation paths comprising a plurality of nodes, each node having coded instructions that are processed to instruct an interpretation engine to perform an operation as part of the conversation path; receiving an input message from the correspondent; based on the received input message, building a profile having plural profile variables for the correspondent representing characteristics of the correspondent; and during the conversation, or a future conversation with the correspondent, selecting a node of a conversation path in the plurality of conversation paths in the conversation data structure for processing based on the one or more profile variables of the profile for the correspondent, and processing, by the interpretation engine, the selected node to follow a conversation path corresponding to the selected node based on the node's coded instructions. 2. The method according to claim 1 , wherein building the profile includes updating a value of a profile variable corresponding to the correspondent in response to the selected node being processed in response to receiving the input message, the selected node being coded with instructions to update the profile variable based on a profile update rule. 3. The method according to claim 1 , wherein a profile variable in the one or more profile variables of the profile for the correspondent characterizes one or more of: content of the automated conversation between the chatbot and the correspondent; the correspondent's interest, personality and demographic information; identification of one or more nodes of one or more conversation paths in the plurality of conversation paths processed in the conversation with the correspondent; received input messages from the correspondent, a process started or completed by the correspondent, or an activity external to the conversation. 4. The method according to claim 1 , further comprising: analyzing a set of plural profile variables in the correspondent's profile; and generating a report on the characteristics of the correspondent based on the analysis. 5. The method according to claim 1 , wherein the received input message is an explicit statement or unstructured content or activity, either in textual or non-textual form. 6. The method according to claim 1 , further comprising: customizing delivery of information to the correspondent based on the correspondent's profile, wherein one or more of the following is customized: content, layout, presentation, format, robot action, or source of the information. 7. The method according to claim 6 , wherein customizing delivery of information is also based on data extracted from a customer management system. 8. The method according to claim 1 , further comprising performing an assessment on the correspondent's profile, and reporting a result of the assessment. 9. The method of claim 1 , wherein selecting a node of a conversation path in the plurality of conversation paths in the conversation data structure comprises: attempting to match a received input message with a node in a conversation path of the plurality of conversation paths of the conversation data structure; in response to a matched node being found, selecting the matched node as the node for processing; in response to a matched node not being found, selecting a node for processing by performing a fuzzy search of the nodes of the plurality of conversation paths, or performing a pre-defined default procedure for selecting a node; and processing the selected node to follow a conversation path corresponding to the selected node based on the selected node's coded instructions and/or relationship with other nodes. 10. The method according to claim 9 , wherein the fuzzy search comprises: determining one or more nodes in the conversation data structure that are approximate matches to the received input message; displaying one or more output messages that are each associated with a node, to the correspondent; and in response to the correspondent choosing one of the displayed messages, selecting a corresponding node associated with the chosen displayed message as the selected node for processing. 11. The method according to claim 10 , further comprising recording the received input message as a variation input message that is a variation to a known input message that matches the node chosen by the correspondent. 12. The method according to claim 9 , wherein the default procedure comprises selecting a default node in the conversation data structure for processing, and is only performed if no nodes are selected using the fuzzy search. 13. The method according to claim 9 , wherein attempting to match the received input message with a node in the conversation data structure comprises comparing the received input message with variation input messages associated with the node until a matched variation input message is found. 14. The method according to claim 9 , wherein the variation input messages are default variation input messages or variation input messages generated based on past conversations with the correspondent or other correspondents. 15. A computer program product comprising a non-transitory computer readable medium having a computer readable program stored thereon, wherein the computer readable program, when executed by a computing device, causes the computing device to: provide a chatbot having a conversation data structure comprising a plurality of conversation paths, each conversation path in the plurality of conversation paths comprising a plurality of nodes, each node having coded instructions that are processed to instruct an interpretation engine to perform an operation as part of the conversation path; receive an input message from the correspondent; build, based on the received input message, a profile having plural profile variables for the correspondent representing characteristics of the correspondent; and select, during the conversation or a future conversation with the correspondent, a node of a conversation path in the plurality of conversation paths in the conversation data structure for processing based on the one or more profile variables of the profile for the correspondent, and process, by the interpretation engine, the selected node to follow a conversation path corresponding to the selected node based on the node's coded instructions. 16. A data processing system, comprising: a processor; and a memory coupled to the processor and storing instructions which are executed by the processor to cause the processor to be configured to: provide a chatbot having a conversation data structure comprising a plurality of conversation paths, each conversation path in the plurality of conversation paths comprising a plurality of nodes, each node having coded instructions that are processed to instruct an interpretation engine to perform an operation as part of the conversation path; receive an input message from the correspondent; build, based on the received input message, a profile having plural profile variables for the correspondent representing characteristics of the correspondent; and select, during the conversation or a future conversation with the correspondent, a node of a conversation path in the plurality of conversation paths in the conver

Assignees

Inventors

Classifications

  • Help systems · CPC title

  • Knowledge representation; Symbolic representation · CPC title

  • Artificial life, i.e. computing arrangements simulating life · CPC title

  • G06N20/00Primary

    Machine learning · CPC title

  • H04L51/02Primary

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

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 US9794199B2 cover?
In one aspect, the invention concerns a method of operating a chatbot to engage in a conversation with a correspondent the method comprises building a profile having plural profile variables for the correspondent; and during the conversation with the correspondent; selecting a node in the conversation data structure for processing based on the one or more profile variables, and processing the n…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06N20/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 17 2017 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).