Method, system and program for generating decision trees for chatbots dialog flow capabilities
US-2020125901-A1 · Apr 23, 2020 · US
US11580977B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11580977-B2 |
| Application number | US-202017037556-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 29, 2020 |
| Priority date | Sep 29, 2020 |
| Publication date | Feb 14, 2023 |
| Grant date | Feb 14, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A conversation engine performs conversations with users using chatbots customized for performing a set of tasks that can be performed using an online system. The conversation engine loads a chatbot configuration that specifies the behavior of a chatbot including the tasks that can be performed by the chatbot, the types of entities relevant to each task, and so on. The conversation may be voice based and use natural language. The conversation engine may load different chatbot configurations to implement different chatbots. The conversation engine receives a conversation engine configuration that specifies the behavior of the conversation engine across chatbots. The system may be a multi-tenant system that allows customization of the chatbots for each tenant.
Opening claim text (preview).
We claim: 1. A computer implemented method performed by a conversation engine configured to execute chatbots, the method comprising: receiving, from a first client device, by a conversation engine configured to execute a chatbot, a conversation engine configuration specifying a set of states in which the chatbot can exist and actions performed by the conversation engine in each state for executing the chatbot; receiving, from the first client device, by the conversation engine, a chatbot configuration specifying a plurality of tasks supported by the chatbot, each task performed in response to a user request received via the chatbot; initializing, by the conversation engine, a state of the chatbot; executing, by the conversation engine, the chatbot according to the chatbot configuration to perform one or more tasks by repeating steps comprising: receiving, from a second client device, a user utterance; performing actions based on the state of the chatbot and one or more attributes of the user utterance, the actions comprising one or more of: (1) identifying a task requested by the user, (2) collecting values of one or more entities for performing the task, and (3) performing the task based on the values of the entities; updating the state of the chatbot; and generating a response and sending to the user at the second client device. 2. The method of claim 1 , wherein the state of the chatbot is represented using a set of state variables stored in a lookup table mapping for each state variable, an identifier of the state variable to a value of the state variable. 3. The method of claim 2 , wherein a state variable represents whether the response generated by the conversation engine for the user is for confirming certain information with the user. 4. The method of claim 2 , wherein the state variable represents whether the response generated by the conversation engine for the user is for confirming one of the following: (1) the task requested by the user, (2) a value of entity for performing the task, or (3) whether the user wants to continue the conversation with the conversation engine. 5. The method of claim 1 , wherein the conversation engine configuration specifies whether the conversation engine confirms with the user after identifying the task corresponding to the user utterance. 6. The method of claim 1 , wherein the conversation engine configuration specifies whether the conversation engine confirms with the user after determining a value of an entity for performing the task. 7. The method of claim 1 , wherein the conversation engine configuration specifies a number of times the conversation engine repeats a response if the user utterance fails to provide an answer to the response. 8. The method of claim 1 , wherein an attribute of the user utterance represents a polarity of the user utterance, wherein the polarity is one of: positive, negative, or neutral. 9. The method of claim 1 , wherein an attribute of the user utterance represents whether the user utterance includes information expected by the conversation engine based on a previous response provided by the conversation engine to the user. 10. The method of claim 1 , wherein the user utterance represents a request for performing a new task while one or more previous tasks have not completed execution by the conversation engine. 11. The method of claim 1 , wherein the conversation engine stores data structure for representing a plurality of tasks that are currently executed by the conversation engine for the user based on conversation with the user. 12. The method of claim 11 , wherein the conversation engine configuration determines an action performed by the conversation engine when a task is completed for the user and there are unfinished tasks stored in the data structure. 13. The method of claim 12 , wherein the data structure is a last-in-first-out stack data structure. 14. The method of claim 1 , wherein the user utterance is received as an audio signal of a natural language sentence spoken by the user, the method further comprising: converting the audio signal of the user utterance to a text signal for processing by the conversation engine. 15. The method of claim 1 , further comprising: responsive to receiving the conversation engine configuration, generating a set of instructions for processing user requests based on chatbot conversations with users. 16. The method of claim 1 , wherein the chatbot configuration specifies a set of example sentences for each task wherein identifying the task by the conversation engine comprises: matching the user utterance with example sentences specified in the chatbot configuration using a machine learning based model. 17. The method of claim 16 , wherein the machine learning based model is a neural network. 18. The method of claim 1 , wherein the conversation engine is a multi-tenant system hosting data and services for a plurality of tenants, wherein the chatbot configuration is specific to a tenant that performs a set of tasks using the multi-tenant system. 19. A computer system comprising: a processor; and a non-transitory computer readable storage medium storing instructions that when executed by the processor cause the processor to perform steps comprising: receiving, from a first client device, by a conversation engine configured to execute a chatbot, a conversation engine configuration specifying a set of states in which the chatbot can exist and actions performed by the conversation engine in each state for executing the chatbot; receiving, from a first client device, by the conversation engine, a chatbot configuration specifying a plurality of tasks supported by the chatbot, each task performed in response to a user request received via the chatbot; initializing, by the conversation engine, a state of the chatbot; executing, by the conversation engine, the chatbot according to the chatbot configuration to perform one or more tasks by repeating steps comprising: receiving, from a second client device, a user utterance; performing actions based on the state of the chatbot and one or more attributes of the user utterance, the actions comprising one or more of: (1) identifying a task requested by the user, (2) collecting values of one or more entities for performing the task, and (3) performing the task based on the values of the entities; updating the state of the chatbot; and generating a response and sending to the user at the second client device. 20. A non-transitory computer readable storage medium storing instructions that when executed by a processor cause the processor to perform steps comprising: receiving, by a conversation engine configured to execute a chatbot, a conversation engine configuration specifying a set of states in which the chatbot can exist and actions performed by the conversation engine in each state for executing the chatbot; receiving, from a first client device, by the conversation engine, a chatbot configuration specifying a plurality of tasks supported by the chatbot, each task performed in response to a user request received via the chatbot; initializing, from a first client device, by the conversation engine, a state of the chatbot; executing, by the conversation engine, the chatbot according to the chatbot configuration to perform one or more tasks by repeating steps comprising: receiving, from a second client device, a user utterance; performing actions based on the state of the chatbot and one or more attributes of the user ut
Semantic analysis · CPC title
Distributed recognition, e.g. in client-server systems, for mobile phones or network applications · CPC title
Procedures used during a speech recognition process, e.g. man-machine dialogue · CPC title
Execution procedure of a spoken command · CPC title
Speech to text systems (G10L15/08 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.