US20230076767A1 - Methods and systems for codeless chatbot development - Google Patents
Methods and systems for codeless chatbot development Download PDFInfo
- Publication number
- US20230076767A1 US20230076767A1 US17/469,241 US202117469241A US2023076767A1 US 20230076767 A1 US20230076767 A1 US 20230076767A1 US 202117469241 A US202117469241 A US 202117469241A US 2023076767 A1 US2023076767 A1 US 2023076767A1
- Authority
- US
- United States
- Prior art keywords
- conversation
- chatbot
- code
- chat
- computer program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000011161 development Methods 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims description 27
- 238000004590 computer program Methods 0.000 claims abstract description 57
- 238000013461 design Methods 0.000 claims abstract description 50
- 238000012804 iterative process Methods 0.000 claims abstract description 17
- 238000013473 artificial intelligence Methods 0.000 claims description 61
- 238000003062 neural network model Methods 0.000 claims description 44
- 238000003058 natural language processing Methods 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 16
- 238000010801 machine learning Methods 0.000 claims description 8
- 238000013497 data interchange Methods 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 14
- 238000013528 artificial neural network Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000013500 data storage Methods 0.000 description 11
- 230000003993 interaction Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000000875 corresponding effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Definitions
- the present disclosure relates to methods and systems for codeless chatbot development, particularly to methods and systems for codeless chatbot development that utilizes an artificial intelligence neural network model to automatically retrieve chatbot computer programming code based on a conversation design input from a conversation designer.
- a chatbot is a software application that can automate conversations and interact with individuals through messaging platforms.
- a chatbot may be programmed to respond to an intent of the individual with whom the chatbot is interacting in a conversation such that the chatbot prompts the individual to provide information necessary to fulfill the intent.
- chatbots may be associated with a particular intent and intent fulfillment, chatbots may engage in similar conversations with regard to their associated intent and intent fulfillment. Likewise, similarities in conversation style between chatbots may lead to redundant programming of chatbots. Moreover, developing chatbots with programming code may involve complex issues of software development and/or configuration. Therefore, a need exists for methods and systems for more efficient and streamlined chatbot development.
- a system for intelligent codeless chatbot development includes a chatbot comprising an artificial intelligence neural network model and a natural language processing tool, one or more processors, one or more memory components communicatively coupled to the one or more processors and the chatbot, and machine-readable instructions stored in the one or more memory components.
- the machine-readable instructions may cause the one or more processors to implement an iterative process to automatically develop a chatbot conversation for a conversation designer by receiving, with the chatbot, a conversation design input of one or more conversation design inputs from the conversation designer, and identify, with the natural language processing tool, an intent based on the conversation design input.
- the machine-readable instructions may also cause the one or more processors to generate, with the artificial intelligence neural network model, a development event based on the intent, and retrieve a conversation chat flow from a set of conversation chat flows of a code sheet based on the development event, the code sheet comprising a set of conversations, the set of conversation chat flows, and a set of rules for code retrieval based on the set of conversations and the set of conversation chat flows.
- the machine-readable instructions may further cause the one or more processors to automatically retrieve a chatbot computer program code based on the conversation chat flow and the set of rules from the code sheet, and repeat the iterative process to develop the chatbot conversation until the chatbot computer program code is automatically retrieved from a code repository for each conversation design input of the one or more conversation design inputs from the conversation designer.
- a system for intelligent codeless chatbot development includes a chatbot comprising an artificial intelligence neural network model and a natural language processing tool, one or more processors, one or more memory components communicatively coupled to the one or more processors and the chatbot, and machine-readable instructions stored in the one or more memory components.
- the machine-readable instructions may cause the one or more processors to implement an iterative process to automatically develop a chatbot conversation for a conversation designer by receiving, with the chatbot, a conversation design input of one or more conversation design inputs from the conversation designer, and identify, with the natural language processing tool, an intent based on the conversation design input.
- the machine-readable instructions may also cause the one or more processors to generate, with the artificial intelligence neural network model, a development event based on the intent, and retrieve a conversation chat flow from a set of conversation chat flows of a code sheet based on the development event, the code sheet comprising a set of conversations, the set of conversation chat flows, and a set of rules for code retrieval based on the set of conversations and the set of conversation chat flows, wherein each conversation chat flow is based on an associated intent, and wherein each conversation chat flow comprises a set of prompts for identification of information to generate a fulfillment of the associated intent.
- the machine-readable instructions may further cause the one or more processors to automatically retrieve a chatbot computer program code based on the conversation chat flow and the set of rules from the code sheet, and repeat the iterative process to develop the chatbot conversation until the chatbot computer program code is automatically retrieved from a code repository for each conversation design input of the one or more conversation design inputs from the conversation designer.
- a method for intelligent codeless chatbot development includes implementing, via a processor, an iterative process to automatically develop a chatbot conversation for a conversation designer by receiving, with a chatbot comprising an artificial intelligence neural network model and a natural language processing tool, a conversation design input of one or more conversation design inputs from the conversation designer, and identifying, with the natural language processing tool, an intent based on the conversation design input.
- the method also includes generating, with the artificial intelligence neural network model, a development event based on the intent, and retrieving, via the processor, a conversation chat flow from a set of conversation chat flows of a code sheet based on the development event, the code sheet comprising a set of conversations, the set of conversation chat flows, and a set of rules for code retrieval based on the set of conversations and the set of conversation chat flows.
- the method further includes automatically retrieving, via the processor, a chatbot computer program code based on the conversation chat flow and the set of rules from the code sheet, and repeating the iterative process to develop the chatbot conversation until the chatbot computer program code is automatically retrieved from a code repository for each conversation design input of the one or more conversation design inputs from the conversation designer.
- FIG. 1 depicts a graphical user interface of a chatbot showing a conversation with a user, according to one or more embodiments shown and described herein;
- FIG. 2 depicts a code sheet with a conversation chat flow of a conversation, according to one or more embodiments shown and described herein;
- FIG. 3 schematically depicts a codeless chatbot development sub-system, according to one or more embodiments shown and described herein;
- FIG. 4 schematically depicts a computer-implemented system for use with the processes described herein and the codeless chatbot development sub-system of FIG. 3 , according to one or more embodiments shown and described herein;
- FIG. 5 depicts a process for use with the codeless chatbot development sub-system of FIG. 3 and the computer-implemented system of FIG. 4 , according to one or more embodiments shown and described herein.
- Embodiments of the present disclosure are directed to automatically retrieving computer programming code to develop chatbots, addressing redundant coding, and making the development of chatbots more accessible to conversation designers who are not fluent in developing computer program code.
- Methods and systems are described for a codeless chatbot development that utilizes an artificial intelligence (AI) neural network model to automatically retrieve computer program code for a chatbot.
- AI artificial intelligence
- Embodiments include a chatbot that may receive a conversation design input from a conversation designer as a person desiring to develop the chatbot even without providing code such as in a codeless manner such that computer programming code is automatically retrieved from a code repository based on a conversation design input and a code sheet as described in greater detail further below. Accordingly, disclosed herein are methods and systems for codeless chatbot development.
- the chatbot 100 may be an instantiation of computer program code as automatically retrieved from the code repository by embodiments of a development chatbot of the present disclosure.
- a graphical user interface is shown for the chatbot 100 including a conversation between the chatbot 100 and a user.
- the chatbot 100 may include an input text box 102 for the user to input information, a greeting 103 to start the conversation with the user, an utterance 108 as a message reply the user has input in response to the greeting, an intent 112 , a prompt 104 for the user, a slot 110 as and for a user answer, and a fulfillment 106 as a response to fulfill the intent based on the user responses and the conversation.
- the chatbot may appear as a web application, a web browser plug-in, a standalone software application, or any other form of software.
- the chatbot may be a user-facing interface (i.e., the “front end”) to a server (i.e., the “back end”) that processes the user's request.
- a conversation as shown in FIG. 1 is an exchange of information, or a “chat,” between a user and a chatbot 100 .
- the information exchanged may be text, speech, and/or other interactions and may be sent to the chatbot 100 via the input text box 102 .
- the conversation may be initiated by the utterance 108 of the user.
- the utterance 108 may be a spoken or typed phrase that invokes an intent 112 (such as mobile app support as shown in FIG. 1 ).
- the intent 112 may be reflective of a particular goal that the user wants to achieve associated with and further defined by the utterance 108 of the user.
- the conversation may also be initiated by the greeting 103 to the user from the chatbot 100 , with the expectation of an utterance 108 from the user as a response to the greeting 103 input via the input text box 102 .
- a chatbot 100 may be developed to fulfill an intent 112 for mobile app support.
- the intent 112 for mobile app support may have been determined based on the utterance 108 input by the user in response to the chatbot greeting 103 , the utterance 108 indicating that the user is having trouble logging into the user's account.
- the chatbot 100 may have been previously programmed to follow a conversation chat flow to continue the conversation. Such conversation chat flows may be stored in a code sheet, such as in a spreadsheet or other documented format.
- the chatbot 100 may respond to the utterance 108 with a series of prompts 104 based on the conversation chat flow, each of which may be responded to by the user in the form of slots 110 as user answers to the prompts 104 .
- a prompt 104 is representative of a question that asks the user to input data.
- a slot 110 is representative of data that the user provides as an answer and in response to a prompt 104 that may be used to fulfill the intent 112 .
- the slot 110 may be an answer as a response entered by the user.
- a natural language processing (NLP) tool analyzes the user's response as the slot 110 to provide the chatbot 100 with information from the response. Once the prompts 104 are sufficiently answered, the chatbot 100 may generate a fulfillment 106 .
- the fulfillment 106 may be representative of a message indicating an action is taking place along with a corresponding action based on business logic required to fulfill the intent 112 of the user in response to the conversation.
- the chatbot 100 receives on the graphical user interface the user utterance 108 , which invokes the intent 112 for mobile app support by the user.
- the chatbot 100 responds with the prompt 104 asking the user when the account was registered.
- the user responds by selecting a date as the slot 110 to provide the chatbot 100 with information to fulfill the intent 112 .
- the chatbot 100 sends another prompt 104 asking the user whether the user has had access to applications before.
- the user selects an answer in the negative as and for another slot 110 to provide the chatbot 100 with information to fulfill the intent 112 .
- the chatbot 100 Because the chatbot 100 has received sufficient information to fulfill the intent, the chatbot 100 sends the user a fulfillment 106 to indicate to the user that the chatbot has taken action on the backend to send the user an activation link.
- automatically retrieving computer programming code for chatbots may be based on a code sheet 200 that may include a set of conversations 201 , a set of conversation chat flows 206 , and a set of rules 208 for code retrieval and flow selection and sequencing.
- the code sheet 200 may be a spreadsheet, a database table, or any other tabular or data capture format.
- the set of conversations 201 of the code sheet 200 may include conversations 201 that chatbots 100 have previously had.
- the set of conversations 201 may make up a set of historical conversation data that may be used to train an artificial intelligence (AI) neural network model such that the AI neural network model may output an appropriate prompt, fulfillment, or other conversational interaction when the AI neural network model receives, as input, responses from a user engaging in a conversation 201 with the chatbot 100 .
- a conversation 201 may also be a combination of conversation chat flows 206 indicative of a conversation 201 that is likely to occur.
- Each conversation chat flow 206 of the code sheet 200 may comprise one or more prompts 202 .
- Each prompt 202 may be associated with one or more responses for a slot 204 .
- the chatbot 100 may be associated with any number of conversation chat flows 206 such that the chatbot 100 may be responsive to a variety of intents 112 .
- the code sheet 200 includes a conversation chat flow 206 as shown in Columns A, B, and C following a sequence of (A) listing an @First inquiry in Column A as a prompt 202 , (B) listing a prompt with options for selection in Column B for a slot 204 , and (C) responding in Column C with an @Describe Issue response based on a positive selection of the slot 204 .
- a prompt 202 in Column A is shown of “Help with (platform) setup?” along with an option of “Yes” or “No” shown as a slot 204 selection.
- the slot 204 is displayed with a “Yes” response and a “No” response.
- the “No” response directs the chatbot 100 to follow a rule 208 to insert a @Describe Issue input request for the user to further describe the issue and intent 112 .
- the “Yes” response invites the user to provide another utterance 108 , which may lead to another conversation chat flow 206 and/or request to describe the issue.
- the set of rules 208 of the code sheet 200 for code retrieval may include a set of computer program code corresponding to a set of conversation chat flows 206 , and/or a set of computer program code corresponding to another chatbot 100 .
- the set of rules 208 may be used to directly and/or switch between different conversation chat flows 206 based on, for instance, the selection of different options of slots 204 in response to prompts 202 .
- the set of rules 208 may also prevent certain conversation chat flows 206 from being presented in response to different intents 112 and/or slots 204 selections.
- the sub-system 300 may be a distributed system.
- the sub-system 300 may include a web portal 302 , a chatbot platform 304 , natural language processing (NLP) tools 306 , an AI neural network model 308 , a Pivotal Cloud Foundry (PCF) server 310 , an access service 312 , a code sheet repository 314 , fulfillment services 316 , and conversation chat flow services 318 .
- NLP natural language processing
- PCF Pivotal Cloud Foundry
- FIG. 3 only one of each component comprising sub-system 300 is shown, it should be understood and is contemplated within the scope of this disclosure that any number of each component may be included.
- each component may exist as separate devices, as depicted in FIG. 3 , or as one or more devices comprising a combination of one or more of the components comprising sub-system 300 .
- the sub-system 300 may be used to carry out the methods as described herein.
- the sub-system 300 may be used by a conversation designer to automatically retrieve computer programming code for a chatbot 100 as described herein.
- the conversation designer may interact with the sub-system 300 via the web portal 302 .
- the web portal 302 may be a web browser or any other software application presenting a graphical user interface (GUI) for conversation designer interaction.
- GUI graphical user interface
- the web portal 302 serves as the front end of the system and may present the chatbot platform 304 as the GUI for the conversation designer to request the generation of computer programming code for the chatbot 100 .
- the 100 may be presented to a conversation designer in a manner similar to the chatbot interface of the chatbot 100 presented in FIG. 1 .
- the conversation designer may input text, receive prompts, and respond with slots to reach a fulfillment as an automated retrieval of computer program code for another chatbot 100 .
- the chatbot platform 304 maintains the interaction with the conversation designer for retrieving computer programming code for the chatbot 100 .
- the chatbot platform 304 may host multiple instances of the chatbot 100 to service multiple automatic code retrieval requests simultaneously.
- the chatbot platform 304 may exist as a standalone application or may exist with the webserver that handles the maintenance of the web portal 302 traffic.
- the chatbot platform 304 may receive a conversation design input from a conversation designer, generate prompts, and receive responses in slots to collect information sufficient to retrieve computer program code for another chatbot. After fulfillment, the chatbot platform 304 may further generate one or more prompts 202 to the conversation designer to accept or reject each chatbot computer program code.
- Interactions with a conversation designer on the chatbot platform 304 may require the use of NLP tools 306 for automatic speech recognition and natural language understanding.
- the NLP tools 306 may take natural language speech and text input and process the input to extract the underlying intent 112 .
- the NLP tools 306 may be used to extract essential terms and/or filter irrelevant terms so that the chatbot platform 304 may form an appropriate intent 112 .
- the NLP tools 306 may extract contexts from text inputs throughout the conversation 201 to invoke related intents.
- the NLP tools 306 may exist independently, as depicted in FIG. 3 .
- the sub-system 300 may also include the AI neural network model 308 , which may be utilized in the automated retrieval of chatbot computer program code.
- the AI neural network model 308 may be trained on a set of historical conversation data and a set of historical fulfillment data corresponding to the set of historical conversation data.
- the historical conversation data and the historical fulfillment data may be based on one or more interactions with conversation designers and comprises past conversations that the conversation designers had with the chatbot 100 as well as previously retrieved chatbot code.
- the AI neural network model 308 improves the accuracy of the chatbot computer program code retrieval by applying machine learning to learn from best fit computer program code of existing chatbots, as well as from user feedback, such as acceptance or rejection by the conversation designer regarding previously retrieved chatbot computer program code.
- the AI neural network model 308 may apply such machine learning to generate computer program code should a match to desired code not be made to code in the code repository for retrieval.
- An access service 312 may be used to manage access to the sub-system 300 .
- the access service 312 may be a centralized database that manages conversation designer accounts and conversation designer sessions. When a conversation designer attempts to access the web portal 302 to request the sub-system 300 to retrieve chatbot computer programming code, the access service 312 may first authenticate the conversation designer and may also determine whether the conversation designer is authorized to request chatbot computer programming code. The access service 312 may remember the conversation designer's authentication and authorization for the duration of the conversation designer's session.
- the access service 312 may be based on an authentication and authorization protocol such as remote authentication dial-in user service (RADIUS), lightweight dictionary access protocol (LDAP), and similar protocols as understood to those of ordinary skill in the art.
- the access service 312 may exist as a standalone server or as a container on a server, as a virtual machine on a server, and other server types alongside other software.
- the code sheet repository 314 may generally refer to a database associated with a computing device that may host one or more code sheets 200 .
- the code sheet repository 314 may be a centralized location where the code sheets are stored, as well as the historical data for use by the AI neural network model 308 .
- Fulfillment services 316 may generally refer to one or more services that may be utilized to complete a fulfillment 106 .
- the sub-system 300 may use the fulfillment services 316 to manage the delivery of the automatically retrieved computer program code for the chatbot 100 .
- the fulfillment services 316 may also be linked to the automatically retrieved computer program code for the new chatbot 100 or to modify the chatbot 100 to provide fulfillments 106 to users of the chatbot 100 and may include multiple components representing multiple different kinds of fulfillments 106 , such as account management, application support, and other suitable types of fulfillment 106 .
- Conversation chat flow services 318 may generally refer to one or more services that contribute to the parsing, retrieval, and packaging of automatically retrieved computer programming code for the chatbot based on one or more conversation chat flows 206 .
- the conversation chat flow services 318 may include a service to parse the code sheet into a computer-readable data structure for faster retrieval, analysis, and/or processing.
- the conversation chat flow services 318 may also cache the one or more conversation 201 , the one or more conversation chat flows 206 , and the one or more rules 208 in its code sheet 200 form or its parsed equivalent for more efficient retrieval in a subsequent development event.
- Conversation chat flow services 318 may also be responsive to lambda events.
- a lambda event may include a lambda function and may be based on the development event.
- the lambda function may be representative of an anonymous function of code to contain functionality through the code as a computer programming subroutine or instructions, which functionality does not need to be named or tied to an identifier for the functionality.
- the lambda function may take in one or more arguments (e.g., functions as inputs) to return an expression as an anonymous function lambda such a lambda function that does not need to be named may be created from other input functions.
- Data from the lambda function may be sent to a function in JavaScript Object Notation (JSON), for example, as a lambda event.
- JSON JavaScript Object Notation
- the lambda event may be a JSON-formatted document including data for the lambda function to process, and the lambda event may be converted to an object and passed to a function code.
- the lambda event may direct the conversation chat flow services 318 to retrieve one or more conversations 201 , one or more conversation chat flows 206 , and one or more rules 208 for code retrieval from the cache, parsed code sheets, and/or the code sheets 200 .
- the conversation chat flow services 318 may package the retrieved data by converting the retrieved data into a data interchange format such as JSON.
- the converted data may be transferred to the destination service, server, and/or cloud environment such as the cloud platform 320 where it may then be used to automatically retrieve the chatbot computer program code according to the development event.
- sub-system 300 may be incorporated in the cloud platform 320 hosted externally from the sub-system 300 .
- the chatbot platform 304 , NLP tools 306 , and AI neural network model 308 are hosted in the cloud platform 320 .
- the PCF server 310 may be used.
- the PCF server 310 may be a cloud abstraction framework that wraps around cloud platform offerings to allow self-managed infrastructure to interface with the cloud platform 320 through a centralized location.
- the chatbot platform 304 , the NLP tools 306 , and the AI neural network model 308 are hosted in a cloud platform 320 , and the PCF server 310 may be utilized such that the access service 312 , code sheet repository 314 , fulfillment services 316 , and conversation chat flow services 318 may interface with the cloud platform 320 .
- a system 400 for codeless chatbot development may interface with the sub-system 300 to implement the processes as described herein.
- the system 400 may include a communication path 402 , a processor 404 , a memory component 406 , a data storage component 414 , a code sheet module 412 , an AI neural network module 416 , a network connectivity component 418 , a server 420 , a network 422 , and a computing device 424 .
- the network connectivity component 418 may communicatively connect the system 400 to server 420 and one or more computing devices 424 via the communication path 402 and the network 422 .
- the system 400 may be communicatively coupled to the sub-system 300 of FIG.
- the code sheet repository 314 of FIG. 3 may be a data storage component 414 and may be communicatively coupled to and operable by the code sheet module 412
- the AI neural network model 308 of FIG. 3 may be communicatively coupled to and operable by the AI neural network module 416 .
- the communication path 402 of the system 400 may be formed from any medium that is capable of transmitting a signal such as, for example, conductive wires, conductive traces, optical waveguides, and the like, or from a combination of mediums capable of transmitting signals.
- the communication path 402 communicatively couples the various components of system 400 .
- the term “communicatively coupled” means that coupled components are capable of exchanging data signals with one another such as, for example, electrical signals via a conductive medium, electromagnetic signals via air, optical signals via optical waveguides, and the like.
- the processor 404 can be any device capable of executing machine-readable instructions. Accordingly, the processor 404 may be a controller, an integrated circuit, a microchip, a computer, or any other computing device.
- the processor 404 is communicatively coupled to the other components of the system 400 by the communication path 402 . Accordingly, the communication path 402 may communicatively couple any number of processors with one another, and allow the modules coupled to the communication path 402 to operate in a distributed computing environment. Specifically, each of the components can operate as a node that may send and/or receive data.
- the memory component 406 may be a non-transitory computer readable medium or non-transitory computer readable memory and may be configured as a non-volatile computer readable medium.
- the memory component 406 is communicatively coupled to the other components of the system 400 by the communication path 402 .
- the memory component 406 may comprise RAM, ROM, flash memories, hard drives, or any other device capable of storing machine-readable instructions such that the machine-readable instructions can be accessed and executed by the processor 404 .
- the machine-readable instructions may comprise logic or algorithms written in any programming language such as, for example, machine language that may be directly executed by the processor, or assembly languages, object-oriented programming (OOP) languages, scripting languages, microcode, and the like, that may be compiled or assembled into machine-readable instructions and stored on the memory component 406 .
- the machine-readable instructions may be written in a hardware description language (HDL), such as logic implemented via either a field-programmable gate array (FPGA) configuration or an application-specific integrated circuit (ASIC), or their equivalents.
- HDL hardware description language
- FPGA field-programmable gate array
- ASIC application-specific integrated circuit
- the data storage component 414 is coupled to the communication path 402 and may contain one or more persistent storage devices such as solid state drives, hard disk drives, or any other device capable of persistent data storage.
- the data storage component 414 may store data used by various components of the system 400 .
- the code sheet repository 314 of FIG. 3 may be one of the one or more data storage components 414 .
- the data storage component 414 may store data downloaded from the server 420 and/or received from the computing device 424 . It should be understood that the data storage component 414 may reside local to and/or remote from the system 400 , and may be configured to store one or more pieces of data for access by the system 400 and/or other components.
- the data storage component 414 may include computer program code, automatically retrieved chatbot code, and other electronic data documents. Other data to perform the functionalities described herein may also be stored in the data storage component 414 (e.g., cached data, user session data, historical automated code recommendation data, etc.).
- the code sheet module 412 is communicatively coupled via the communication path 402 to the processor 404 and components of system 400 .
- the code sheet module 412 may be any hardware capable of storing data. The hardware may be included as part of the data storage component 414 .
- the code sheet module 412 may be a centralized location where code sheets 200 may be stored, as well as the historical data for use by the AI neural network module 416 .
- the code sheet module 412 may also comprise a historical record of conversations, conversation chat flows, and rules for code retrieval, which may be used to provide historical data to the AI neural network module 416 .
- the code sheet module 412 may exist remotely from the system 400 , or locally to or included in the system 400 , as depicted in FIG. 4 .
- the AI neural network module 416 is communicatively coupled via the communication path 402 to the processor 404 and components of system 400 .
- the AI neural network module 416 may train and provide machine learning capabilities to a neural network such as the AI neural network model 308 as described herein.
- a convolutional neural network CNN
- the AI neural network module 416 may receive a set of historical conversation data and a set of historical fulfillment data, corresponding to the set of historical conversation data, for training.
- the AI neural network module 416 may receive an intent 112 from a conversation designer as input and generate a development event as output, which may be used to automatically retrieve computer program code for the chatbot 100 .
- the AI neural network module 416 can leverage a cloud computing-based network configuration such as the cloud (e.g., the cloud platform 320 of FIG. 3 and/or network 422 of FIG. 4 ) to apply machine learning and artificial intelligence.
- This machine learning application may create models that can be applied by the system 400 , to make it more efficient and intelligent in execution.
- the AI neural network module 416 may include artificial intelligence components selected from the group consisting of an artificial intelligence engine, Bayesian inference engine, and a decision-making engine, and may have an adaptive learning engine further comprising a deep neural network learning engine.
- the communication path 402 communicatively couples the network connectivity component 418 to other components of the system 400 .
- the network connectivity component 418 can be any device capable of transmitting and/or receiving data via a wireless network.
- the network connectivity component 418 can comprise a communication transceiver for sending and/or receiving data according to any wireless communication standard.
- the network connectivity component 418 can comprise a chipset (e.g., antenna, processors, machine-readable instructions, etc.) to communicate over wired and/or wireless computer networks such as, for example, Wi-Fi, WiMAX, Bluetooth, IrDA, Ethernet, Z-Wave, ZigBee, and the like.
- the network 422 may comprise any wired and/or wireless network such as, for example, wide area networks, metropolitan area networks, local area networks, satellite networks, and the like. Accordingly, the network 422 can be utilized as an access point by the computing device 424 to access one or more servers (e.g., server 420 ).
- the server 420 and any additional services generally comprise processors, memory, and chipset for delivering resources via the network 422 .
- Resources can include providing, for example, processing, storage, software, and information from the server 420 to the system 400 via the network 422 .
- the server 420 and any additional servers can share resources with one another over the network 422 such as, for example, via the wired portion of the network, the wireless portion of the network, or combinations thereof.
- the computing device 424 include computers such as laptop computer, desktop computers, smartphones, tablets, and the like that have a network connectivity component for communicating with system 400 and/or server 420 via network 422 .
- the web portal 302 may be accessed through the computing device 424 .
- a conversation designer may use the computing device 424 to engage with the system 400 by providing the system 400 with a conversation design input to instruct the system 400 to automatically retrieve a computer program code for developing the chatbot 100 .
- a process 500 for automatically retrieving chatbot computer programming code as described herein by use of the sub-system 300 and/or system 400 is set forth.
- a code sheet 200 can be accessed to provide a set of conversations 201 , a set of conversation chat flows 206 , and a set of rules 208 for code retrieval based on the set of conversations 201 and the set of conversation chat flows 206 .
- the code sheet 200 may thus provide components for automatically retrieving computer program code for a chatbot 100 in response to a conversation designer's request in block 504 .
- an iterative process is implemented by first receiving a conversation design input from a conversation designer.
- the iterative process automatically retrieves a conversation 201 for a conversation designer by receiving a conversation design input of one or more conversation design inputs from the conversation designer.
- the conversation designer may or may not be familiar with computer programming.
- the conversation designer may retrieve computer programming code for a chatbot by entering one or more conversation design inputs via the sub-system 300 .
- the conversation designer may enter an utterance 108 such as “I would like to develop an application support chatbot that determines an account registration date and a user's prior access to applications.”
- an intent may be identified from the conversation design input received in block 504 .
- the NLP tools 306 may be used to extract essential terms and/or filter irrelevant terms so that the chatbot may form an appropriate intent 112 that may include supporting parameters.
- a new conversation 201 may be input into the code sheet 200 .
- the conversation designer may enter the utterance 108 such as “I would like to develop an application support chatbot that determines an account registration date and a user's prior access to applications.”
- the NLP tools 306 may be used to extract essential terms, such as “develop an application support chatbot,” “account registration date,” and “user's prior access.”
- the NLP tools 306 may also be used to filter irrelevant terms, such as “I would like to,” “that,” and “and.”
- the NLP tools 306 may identify “develop an application support chatbot” as an intent 112 to develop a chatbot 100 for application support and “account registration date” and “user's prior access” as parameters for potential prompts 202 .
- a development event is generated based on the identified intent.
- the AI neural network model 308 may generate a development event by taking the identified intent 112 as an input to compare against the historical conversation data and the historical fulfillment data that it was trained on. Because fulfillments require an intent and prompts to gather data necessary to fulfill the intent, the AI neural network model 308 can utilize the identified intent 112 to identify historical fulfillments based on similar intents, which in turn also identifies historical conversations associated with the historical fulfillments.
- the historical conversations may include one or more conversations flows 206 from the set of conversations flows 206 .
- the development event may contain instructions to gather the conversation chat flows 206 utilized in each historical conversation associated with historical fulfillments having a similar intent as the identified intent 112 . Which conversation chat flows 206 are gathered may also be impacted by the parameters identified by the NLP tool 306 . The conversation designer may be prompted to provide more information to help narrow down the amount of conversation chat flows 206 that may be gathered.
- the development event generated by AI neural network model 308 may include instructions to compress the gathered conversation chat flows 206 such that the gathered conversation chat flows 206 contain fewer prompts 104 , 202 than in their state prior to retrieval. For example, if historical conversation data reveals that two conversations having the same intent 112 and arriving at the same fulfillment 106 despite each conversation 201 have additional prompts 104 , 202 that the other does not have, the AI neural network model 308 may contain instructions to remove one or more conversations flows of the conversations having additional prompts 104 , 202 that do not impact the fulfillment 106 .
- a conversation chat flow 206 is retrieved from the set of conversation chat flows 206 based on the development event. Multiple conversation chat flows 206 , as identified by the development event, may be combined to form a single conversation chat flow 206 .
- the conversation chat flow 206 may be compressed according to the development event.
- the conversation chat flows 206 may be located in a code sheet 200 , as described in the discussion of FIG. 2 .
- the code sheet 200 may be located in a code sheet repository 314 , as described in the discussion of FIG. 3 .
- the retrieval of conversation chat flows 206 may be orchestrated by a conversation chat flow service 318 , as described in the discussion of FIG. 3 , to handle the parsing, caching, retrieval, and/or other forms of data processing.
- a chatbot computer program code may be automatically retrieved from the code repository based on the retrieved conversation chat flow 206 . Similar to how the conversation chat flow 206 was created by combining multiple conversation chat flows 206 as directed by the development event, the rules for code retrieval associated with the conversation chat flows 206 identified by the development event may be combined to form a codebase sufficient to develop a chatbot 100 for the identified intent 112 .
- the computer program code may be sent to the conversation designer as a fulfillment message in the chatbot 100 .
- the computer program code may be sent to the conversation designer in whole or in part to approve or reject the entirety or components of the computer program code.
- the chatbot 100 may transfer the computer program code to the user as a source code file, a compiled binary, or any other form of computer program code. If the computer program code is rejected, the AI neural network model 308 may receive the feedback and generate a new development event such that different combinations or arrangements of conversation chat flows 206 are combined to form a new retrieved conversation chat flow 206 .
- Embodiments may access a code sheet 200 , receive a conversation design input from a conversation designer, identify an intent 112 from the conversation design input, generate a development event with an AI component such as the AI neural network model 308 , retrieve a conversation chat flow 206 from the code sheet 200 based on the development event, and automatically retrieve computer program code that may be used to create the chatbot 100 .
- an AI component such as the AI neural network model 308
- the AI component of the system may be trained on a set of historical conversation data and a set of historical fulfillment data corresponding to the set of historical conversation data.
- the AI component may receive a conversation design input and may automatically generate a development event as an output.
- the development event may be instructions to retrieve one or more conversation chat flows 206 from the code sheet 200 , along with their associated rules 208 for code retrieval, that may be combined into a single conversation chat flow 206 from which computer program code may be automatically retrieved to fulfill the conversation designer's intent 112 .
- the AI component may improve its future code retrievals based on the conversation designer's decisions to approve or reject prior chatbot code retrievals.
- references herein of a component of the present disclosure being “configured” or “programmed” in a particular way, to embody a particular property, or to function in a particular manner, are structural recitations, as opposed to recitations of intended use. More specifically, the references herein to the manner in which a component is “configured” or “programmed” denotes an existing physical condition of the component and, as such, is to be taken as a definite recitation of the structural characteristics of the component.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Embodiments include implementing an iterative process to automatically develop a chatbot conversation for a conversation designer by receiving a conversation design input of one or more conversation design inputs from the conversation designer, identifying an intent based on the conversation design input, generating a development event based on the intent, retrieving a conversation chat flow from a set of conversation chat flows of a code sheet based on the development event, the code sheet comprising a set of conversations, the set of conversation chat flows, and a set of rules for code retrieval based on the set of conversations and the set of conversation chat flows, retrieving a chatbot computer program code based on the conversation chat flow and the set of rules from the code sheet, and repeating the iterative process until the chatbot computer program code is automatically retrieved from a code repository for each conversation design input.
Description
- The present disclosure relates to methods and systems for codeless chatbot development, particularly to methods and systems for codeless chatbot development that utilizes an artificial intelligence neural network model to automatically retrieve chatbot computer programming code based on a conversation design input from a conversation designer.
- A chatbot is a software application that can automate conversations and interact with individuals through messaging platforms. A chatbot may be programmed to respond to an intent of the individual with whom the chatbot is interacting in a conversation such that the chatbot prompts the individual to provide information necessary to fulfill the intent.
- Because chatbots may be associated with a particular intent and intent fulfillment, chatbots may engage in similar conversations with regard to their associated intent and intent fulfillment. Likewise, similarities in conversation style between chatbots may lead to redundant programming of chatbots. Moreover, developing chatbots with programming code may involve complex issues of software development and/or configuration. Therefore, a need exists for methods and systems for more efficient and streamlined chatbot development.
- In accordance with one embodiment of the present disclosure, a system for intelligent codeless chatbot development includes a chatbot comprising an artificial intelligence neural network model and a natural language processing tool, one or more processors, one or more memory components communicatively coupled to the one or more processors and the chatbot, and machine-readable instructions stored in the one or more memory components. The machine-readable instructions may cause the one or more processors to implement an iterative process to automatically develop a chatbot conversation for a conversation designer by receiving, with the chatbot, a conversation design input of one or more conversation design inputs from the conversation designer, and identify, with the natural language processing tool, an intent based on the conversation design input. The machine-readable instructions may also cause the one or more processors to generate, with the artificial intelligence neural network model, a development event based on the intent, and retrieve a conversation chat flow from a set of conversation chat flows of a code sheet based on the development event, the code sheet comprising a set of conversations, the set of conversation chat flows, and a set of rules for code retrieval based on the set of conversations and the set of conversation chat flows. The machine-readable instructions may further cause the one or more processors to automatically retrieve a chatbot computer program code based on the conversation chat flow and the set of rules from the code sheet, and repeat the iterative process to develop the chatbot conversation until the chatbot computer program code is automatically retrieved from a code repository for each conversation design input of the one or more conversation design inputs from the conversation designer.
- In accordance with another embodiment of the present disclosure, a system for intelligent codeless chatbot development includes a chatbot comprising an artificial intelligence neural network model and a natural language processing tool, one or more processors, one or more memory components communicatively coupled to the one or more processors and the chatbot, and machine-readable instructions stored in the one or more memory components. The machine-readable instructions may cause the one or more processors to implement an iterative process to automatically develop a chatbot conversation for a conversation designer by receiving, with the chatbot, a conversation design input of one or more conversation design inputs from the conversation designer, and identify, with the natural language processing tool, an intent based on the conversation design input. The machine-readable instructions may also cause the one or more processors to generate, with the artificial intelligence neural network model, a development event based on the intent, and retrieve a conversation chat flow from a set of conversation chat flows of a code sheet based on the development event, the code sheet comprising a set of conversations, the set of conversation chat flows, and a set of rules for code retrieval based on the set of conversations and the set of conversation chat flows, wherein each conversation chat flow is based on an associated intent, and wherein each conversation chat flow comprises a set of prompts for identification of information to generate a fulfillment of the associated intent. The machine-readable instructions may further cause the one or more processors to automatically retrieve a chatbot computer program code based on the conversation chat flow and the set of rules from the code sheet, and repeat the iterative process to develop the chatbot conversation until the chatbot computer program code is automatically retrieved from a code repository for each conversation design input of the one or more conversation design inputs from the conversation designer.
- In accordance with yet another embodiment of the present disclosure, a method for intelligent codeless chatbot development includes implementing, via a processor, an iterative process to automatically develop a chatbot conversation for a conversation designer by receiving, with a chatbot comprising an artificial intelligence neural network model and a natural language processing tool, a conversation design input of one or more conversation design inputs from the conversation designer, and identifying, with the natural language processing tool, an intent based on the conversation design input. The method also includes generating, with the artificial intelligence neural network model, a development event based on the intent, and retrieving, via the processor, a conversation chat flow from a set of conversation chat flows of a code sheet based on the development event, the code sheet comprising a set of conversations, the set of conversation chat flows, and a set of rules for code retrieval based on the set of conversations and the set of conversation chat flows. The method further includes automatically retrieving, via the processor, a chatbot computer program code based on the conversation chat flow and the set of rules from the code sheet, and repeating the iterative process to develop the chatbot conversation until the chatbot computer program code is automatically retrieved from a code repository for each conversation design input of the one or more conversation design inputs from the conversation designer.
- Although the concepts of the present disclosure are described herein with primary reference to chatbots, it is contemplated that the concepts will enjoy applicability to any software development platform or environment for a developed software application.
- The following detailed description of specific embodiments of the present disclosure can be best understood when read in conjunction with the following drawings, where like structure is indicated with like reference numerals and in which:
-
FIG. 1 depicts a graphical user interface of a chatbot showing a conversation with a user, according to one or more embodiments shown and described herein; -
FIG. 2 depicts a code sheet with a conversation chat flow of a conversation, according to one or more embodiments shown and described herein; -
FIG. 3 schematically depicts a codeless chatbot development sub-system, according to one or more embodiments shown and described herein; -
FIG. 4 schematically depicts a computer-implemented system for use with the processes described herein and the codeless chatbot development sub-system ofFIG. 3 , according to one or more embodiments shown and described herein; and -
FIG. 5 depicts a process for use with the codeless chatbot development sub-system ofFIG. 3 and the computer-implemented system ofFIG. 4 , according to one or more embodiments shown and described herein. - Embodiments of the present disclosure are directed to automatically retrieving computer programming code to develop chatbots, addressing redundant coding, and making the development of chatbots more accessible to conversation designers who are not fluent in developing computer program code. Methods and systems are described for a codeless chatbot development that utilizes an artificial intelligence (AI) neural network model to automatically retrieve computer program code for a chatbot.
- Embodiments include a chatbot that may receive a conversation design input from a conversation designer as a person desiring to develop the chatbot even without providing code such as in a codeless manner such that computer programming code is automatically retrieved from a code repository based on a conversation design input and a code sheet as described in greater detail further below. Accordingly, disclosed herein are methods and systems for codeless chatbot development.
- Referring now to
FIG. 1 , achatbot 100 is depicted. Thechatbot 100 may be an instantiation of computer program code as automatically retrieved from the code repository by embodiments of a development chatbot of the present disclosure. A graphical user interface is shown for thechatbot 100 including a conversation between thechatbot 100 and a user. Thechatbot 100 may include aninput text box 102 for the user to input information, agreeting 103 to start the conversation with the user, anutterance 108 as a message reply the user has input in response to the greeting, anintent 112, aprompt 104 for the user, aslot 110 as and for a user answer, and afulfillment 106 as a response to fulfill the intent based on the user responses and the conversation. The chatbot may appear as a web application, a web browser plug-in, a standalone software application, or any other form of software. The chatbot may be a user-facing interface (i.e., the “front end”) to a server (i.e., the “back end”) that processes the user's request. - A conversation as shown in
FIG. 1 is an exchange of information, or a “chat,” between a user and achatbot 100. The information exchanged may be text, speech, and/or other interactions and may be sent to thechatbot 100 via theinput text box 102. The conversation may be initiated by theutterance 108 of the user. Theutterance 108 may be a spoken or typed phrase that invokes an intent 112 (such as mobile app support as shown inFIG. 1 ). Theintent 112 may be reflective of a particular goal that the user wants to achieve associated with and further defined by theutterance 108 of the user. The conversation may also be initiated by thegreeting 103 to the user from thechatbot 100, with the expectation of anutterance 108 from the user as a response to thegreeting 103 input via theinput text box 102. - For example, a
chatbot 100 may be developed to fulfill anintent 112 for mobile app support. Theintent 112 for mobile app support may have been determined based on theutterance 108 input by the user in response to thechatbot greeting 103, theutterance 108 indicating that the user is having trouble logging into the user's account. - Based on the
intent 112 invoked by theutterance 108, thechatbot 100 may have been previously programmed to follow a conversation chat flow to continue the conversation. Such conversation chat flows may be stored in a code sheet, such as in a spreadsheet or other documented format. Thechatbot 100 may respond to theutterance 108 with a series ofprompts 104 based on the conversation chat flow, each of which may be responded to by the user in the form ofslots 110 as user answers to theprompts 104. A prompt 104 is representative of a question that asks the user to input data. Aslot 110 is representative of data that the user provides as an answer and in response to aprompt 104 that may be used to fulfill theintent 112. Theslot 110 may be an answer as a response entered by the user. A natural language processing (NLP) tool analyzes the user's response as theslot 110 to provide thechatbot 100 with information from the response. Once theprompts 104 are sufficiently answered, thechatbot 100 may generate afulfillment 106. Thefulfillment 106 may be representative of a message indicating an action is taking place along with a corresponding action based on business logic required to fulfill theintent 112 of the user in response to the conversation. - In the embodiment of
FIG. 1 , thechatbot 100 receives on the graphical user interface theuser utterance 108, which invokes theintent 112 for mobile app support by the user. Thechatbot 100 responds with the prompt 104 asking the user when the account was registered. The user responds by selecting a date as theslot 110 to provide thechatbot 100 with information to fulfill theintent 112. Thechatbot 100 sends anotherprompt 104 asking the user whether the user has had access to applications before. In response, the user selects an answer in the negative as and for anotherslot 110 to provide thechatbot 100 with information to fulfill theintent 112. Because thechatbot 100 has received sufficient information to fulfill the intent, thechatbot 100 sends the user afulfillment 106 to indicate to the user that the chatbot has taken action on the backend to send the user an activation link. - Referring now to
FIG. 2 , automatically retrieving computer programming code for chatbots, such as thechatbot 100, may be based on a code sheet 200 that may include a set of conversations 201, a set ofconversation chat flows 206, and a set ofrules 208 for code retrieval and flow selection and sequencing. The code sheet 200 may be a spreadsheet, a database table, or any other tabular or data capture format. - The set of conversations 201 of the code sheet 200 may include conversations 201 that
chatbots 100 have previously had. The set of conversations 201 may make up a set of historical conversation data that may be used to train an artificial intelligence (AI) neural network model such that the AI neural network model may output an appropriate prompt, fulfillment, or other conversational interaction when the AI neural network model receives, as input, responses from a user engaging in a conversation 201 with thechatbot 100. A conversation 201 may also be a combination of conversation chat flows 206 indicative of a conversation 201 that is likely to occur. - Each
conversation chat flow 206 of the code sheet 200 may comprise one or more prompts 202. Each prompt 202 may be associated with one or more responses for aslot 204. Thechatbot 100 may be associated with any number of conversation chat flows 206 such that thechatbot 100 may be responsive to a variety ofintents 112. In the embodiment shown inFIG. 2 , the code sheet 200 includes aconversation chat flow 206 as shown in Columns A, B, and C following a sequence of (A) listing an @First inquiry in Column A as a prompt 202, (B) listing a prompt with options for selection in Column B for aslot 204, and (C) responding in Column C with an @Describe Issue response based on a positive selection of theslot 204. For the @First conversation inquiry inFIG. 2 , a prompt 202 in Column A is shown of “Help with (platform) setup?” along with an option of “Yes” or “No” shown as aslot 204 selection. In Column B, in response, theslot 204 is displayed with a “Yes” response and a “No” response. The “No” response directs thechatbot 100 to follow arule 208 to insert a @Describe Issue input request for the user to further describe the issue andintent 112. The “Yes” response invites the user to provide anotherutterance 108, which may lead to anotherconversation chat flow 206 and/or request to describe the issue. - The set of
rules 208 of the code sheet 200 for code retrieval may include a set of computer program code corresponding to a set of conversation chat flows 206, and/or a set of computer program code corresponding to anotherchatbot 100. The set ofrules 208 may be used to directly and/or switch between different conversation chat flows 206 based on, for instance, the selection of different options ofslots 204 in response toprompts 202. The set ofrules 208 may also prevent certain conversation chat flows 206 from being presented in response todifferent intents 112 and/orslots 204 selections. - Referring now to
FIG. 3 , a sub-system 300 for codeless chatbot development is shown. The sub-system 300 may be a distributed system. The sub-system 300 may include aweb portal 302, achatbot platform 304, natural language processing (NLP)tools 306, an AIneural network model 308, a Pivotal Cloud Foundry (PCF)server 310, anaccess service 312, acode sheet repository 314,fulfillment services 316, and conversation chat flow services 318. While inFIG. 3 , only one of each component comprising sub-system 300 is shown, it should be understood and is contemplated within the scope of this disclosure that any number of each component may be included. Further, each component may exist as separate devices, as depicted inFIG. 3 , or as one or more devices comprising a combination of one or more of the components comprising sub-system 300. The sub-system 300 may be used to carry out the methods as described herein. - The sub-system 300 may be used by a conversation designer to automatically retrieve computer programming code for a
chatbot 100 as described herein. The conversation designer may interact with the sub-system 300 via theweb portal 302. Theweb portal 302 may be a web browser or any other software application presenting a graphical user interface (GUI) for conversation designer interaction. Theweb portal 302 serves as the front end of the system and may present thechatbot platform 304 as the GUI for the conversation designer to request the generation of computer programming code for thechatbot 100. The 100 may be presented to a conversation designer in a manner similar to the chatbot interface of thechatbot 100 presented inFIG. 1 . The conversation designer may input text, receive prompts, and respond with slots to reach a fulfillment as an automated retrieval of computer program code for anotherchatbot 100. - The
chatbot platform 304 maintains the interaction with the conversation designer for retrieving computer programming code for thechatbot 100. Thechatbot platform 304 may host multiple instances of thechatbot 100 to service multiple automatic code retrieval requests simultaneously. Thechatbot platform 304 may exist as a standalone application or may exist with the webserver that handles the maintenance of theweb portal 302 traffic. Thechatbot platform 304 may receive a conversation design input from a conversation designer, generate prompts, and receive responses in slots to collect information sufficient to retrieve computer program code for another chatbot. After fulfillment, thechatbot platform 304 may further generate one ormore prompts 202 to the conversation designer to accept or reject each chatbot computer program code. - Interactions with a conversation designer on the
chatbot platform 304 may require the use ofNLP tools 306 for automatic speech recognition and natural language understanding. TheNLP tools 306 may take natural language speech and text input and process the input to extract theunderlying intent 112. For example, in interactions where the conversation designer types anutterance 108, theNLP tools 306 may be used to extract essential terms and/or filter irrelevant terms so that thechatbot platform 304 may form anappropriate intent 112. Additionally, as the conversation 201 develops, theNLP tools 306 may extract contexts from text inputs throughout the conversation 201 to invoke related intents. TheNLP tools 306 may exist independently, as depicted inFIG. 3 . - The sub-system 300 may also include the AI
neural network model 308, which may be utilized in the automated retrieval of chatbot computer program code. The AIneural network model 308 may be trained on a set of historical conversation data and a set of historical fulfillment data corresponding to the set of historical conversation data. The historical conversation data and the historical fulfillment data may be based on one or more interactions with conversation designers and comprises past conversations that the conversation designers had with thechatbot 100 as well as previously retrieved chatbot code. The AIneural network model 308 improves the accuracy of the chatbot computer program code retrieval by applying machine learning to learn from best fit computer program code of existing chatbots, as well as from user feedback, such as acceptance or rejection by the conversation designer regarding previously retrieved chatbot computer program code. In embodiments, the AIneural network model 308 may apply such machine learning to generate computer program code should a match to desired code not be made to code in the code repository for retrieval. - An
access service 312 may be used to manage access to the sub-system 300. Theaccess service 312 may be a centralized database that manages conversation designer accounts and conversation designer sessions. When a conversation designer attempts to access theweb portal 302 to request the sub-system 300 to retrieve chatbot computer programming code, theaccess service 312 may first authenticate the conversation designer and may also determine whether the conversation designer is authorized to request chatbot computer programming code. Theaccess service 312 may remember the conversation designer's authentication and authorization for the duration of the conversation designer's session. Theaccess service 312 may be based on an authentication and authorization protocol such as remote authentication dial-in user service (RADIUS), lightweight dictionary access protocol (LDAP), and similar protocols as understood to those of ordinary skill in the art. Theaccess service 312 may exist as a standalone server or as a container on a server, as a virtual machine on a server, and other server types alongside other software. - The
code sheet repository 314 may generally refer to a database associated with a computing device that may host one or more code sheets 200. Thecode sheet repository 314 may be a centralized location where the code sheets are stored, as well as the historical data for use by the AIneural network model 308. -
Fulfillment services 316 may generally refer to one or more services that may be utilized to complete afulfillment 106. With regards to the development of thechatbot 100, the sub-system 300 may use thefulfillment services 316 to manage the delivery of the automatically retrieved computer program code for thechatbot 100. Thefulfillment services 316 may also be linked to the automatically retrieved computer program code for thenew chatbot 100 or to modify thechatbot 100 to providefulfillments 106 to users of thechatbot 100 and may include multiple components representing multiple different kinds offulfillments 106, such as account management, application support, and other suitable types offulfillment 106. - Conversation
chat flow services 318 may generally refer to one or more services that contribute to the parsing, retrieval, and packaging of automatically retrieved computer programming code for the chatbot based on one or more conversation chat flows 206. The conversationchat flow services 318 may include a service to parse the code sheet into a computer-readable data structure for faster retrieval, analysis, and/or processing. The conversationchat flow services 318 may also cache the one or more conversation 201, the one or more conversation chat flows 206, and the one ormore rules 208 in its code sheet 200 form or its parsed equivalent for more efficient retrieval in a subsequent development event. - Conversation
chat flow services 318 may also be responsive to lambda events. A lambda event may include a lambda function and may be based on the development event. The lambda function may be representative of an anonymous function of code to contain functionality through the code as a computer programming subroutine or instructions, which functionality does not need to be named or tied to an identifier for the functionality. The lambda function may take in one or more arguments (e.g., functions as inputs) to return an expression as an anonymous function lambda such a lambda function that does not need to be named may be created from other input functions. Data from the lambda function may be sent to a function in JavaScript Object Notation (JSON), for example, as a lambda event. The lambda event may be a JSON-formatted document including data for the lambda function to process, and the lambda event may be converted to an object and passed to a function code. The lambda event may direct the conversationchat flow services 318 to retrieve one or more conversations 201, one or more conversation chat flows 206, and one ormore rules 208 for code retrieval from the cache, parsed code sheets, and/or the code sheets 200. To facilitate the transfer of the retrieved data between services, servers, and/or cloud environments, the conversationchat flow services 318 may package the retrieved data by converting the retrieved data into a data interchange format such as JSON. The converted data may be transferred to the destination service, server, and/or cloud environment such as thecloud platform 320 where it may then be used to automatically retrieve the chatbot computer program code according to the development event. - One or more of the foregoing components comprising sub-system 300 may be incorporated in the
cloud platform 320 hosted externally from the sub-system 300. For example, inFIG. 3 , thechatbot platform 304,NLP tools 306, and AIneural network model 308 are hosted in thecloud platform 320. - For sub-systems 300 that utilize the
cloud platform 320, thePCF server 310 may be used. ThePCF server 310 may be a cloud abstraction framework that wraps around cloud platform offerings to allow self-managed infrastructure to interface with thecloud platform 320 through a centralized location. InFIG. 3 , thechatbot platform 304, theNLP tools 306, and the AIneural network model 308 are hosted in acloud platform 320, and thePCF server 310 may be utilized such that theaccess service 312,code sheet repository 314,fulfillment services 316, and conversationchat flow services 318 may interface with thecloud platform 320. - Referring now to
FIG. 4 , asystem 400 for codeless chatbot development may interface with the sub-system 300 to implement the processes as described herein. Thesystem 400 may include acommunication path 402, aprocessor 404, amemory component 406, adata storage component 414, acode sheet module 412, an AIneural network module 416, anetwork connectivity component 418, aserver 420, anetwork 422, and acomputing device 424. Thenetwork connectivity component 418 may communicatively connect thesystem 400 toserver 420 and one ormore computing devices 424 via thecommunication path 402 and thenetwork 422. Thesystem 400 may be communicatively coupled to the sub-system 300 ofFIG. 3 via the network 422 (such as through the cloud platform 320) and may be used to carry out the methods and processes as described herein. Thecode sheet repository 314 ofFIG. 3 may be adata storage component 414 and may be communicatively coupled to and operable by thecode sheet module 412, and the AIneural network model 308 ofFIG. 3 may be communicatively coupled to and operable by the AIneural network module 416. - The
communication path 402 of thesystem 400 may be formed from any medium that is capable of transmitting a signal such as, for example, conductive wires, conductive traces, optical waveguides, and the like, or from a combination of mediums capable of transmitting signals. Thecommunication path 402 communicatively couples the various components ofsystem 400. As used herein, the term “communicatively coupled” means that coupled components are capable of exchanging data signals with one another such as, for example, electrical signals via a conductive medium, electromagnetic signals via air, optical signals via optical waveguides, and the like. - The
processor 404 can be any device capable of executing machine-readable instructions. Accordingly, theprocessor 404 may be a controller, an integrated circuit, a microchip, a computer, or any other computing device. Theprocessor 404 is communicatively coupled to the other components of thesystem 400 by thecommunication path 402. Accordingly, thecommunication path 402 may communicatively couple any number of processors with one another, and allow the modules coupled to thecommunication path 402 to operate in a distributed computing environment. Specifically, each of the components can operate as a node that may send and/or receive data. - The
memory component 406 may be a non-transitory computer readable medium or non-transitory computer readable memory and may be configured as a non-volatile computer readable medium. Thememory component 406 is communicatively coupled to the other components of thesystem 400 by thecommunication path 402. Thememory component 406 may comprise RAM, ROM, flash memories, hard drives, or any other device capable of storing machine-readable instructions such that the machine-readable instructions can be accessed and executed by theprocessor 404. The machine-readable instructions may comprise logic or algorithms written in any programming language such as, for example, machine language that may be directly executed by the processor, or assembly languages, object-oriented programming (OOP) languages, scripting languages, microcode, and the like, that may be compiled or assembled into machine-readable instructions and stored on thememory component 406. Alternatively, the machine-readable instructions may be written in a hardware description language (HDL), such as logic implemented via either a field-programmable gate array (FPGA) configuration or an application-specific integrated circuit (ASIC), or their equivalents. Accordingly, the methods described herein may be implemented in any conventional computer programming language, as pre-programmed hardware elements, or as a combination of hardware and software components. - The
data storage component 414 is coupled to thecommunication path 402 and may contain one or more persistent storage devices such as solid state drives, hard disk drives, or any other device capable of persistent data storage. Thedata storage component 414 may store data used by various components of thesystem 400. Thecode sheet repository 314 ofFIG. 3 may be one of the one or moredata storage components 414. In addition, thedata storage component 414 may store data downloaded from theserver 420 and/or received from thecomputing device 424. It should be understood that thedata storage component 414 may reside local to and/or remote from thesystem 400, and may be configured to store one or more pieces of data for access by thesystem 400 and/or other components. Thedata storage component 414 may include computer program code, automatically retrieved chatbot code, and other electronic data documents. Other data to perform the functionalities described herein may also be stored in the data storage component 414 (e.g., cached data, user session data, historical automated code recommendation data, etc.). - The
code sheet module 412 is communicatively coupled via thecommunication path 402 to theprocessor 404 and components ofsystem 400. Thecode sheet module 412 may be any hardware capable of storing data. The hardware may be included as part of thedata storage component 414. Thecode sheet module 412 may be a centralized location where code sheets 200 may be stored, as well as the historical data for use by the AIneural network module 416. Thecode sheet module 412 may also comprise a historical record of conversations, conversation chat flows, and rules for code retrieval, which may be used to provide historical data to the AIneural network module 416. Thecode sheet module 412 may exist remotely from thesystem 400, or locally to or included in thesystem 400, as depicted inFIG. 4 . - The AI
neural network module 416 is communicatively coupled via thecommunication path 402 to theprocessor 404 and components ofsystem 400. The AIneural network module 416 may train and provide machine learning capabilities to a neural network such as the AIneural network model 308 as described herein. By way of example, and not as a limitation, a convolutional neural network (CNN) may be utilized as the AIneural network model 308. The AIneural network module 416 may receive a set of historical conversation data and a set of historical fulfillment data, corresponding to the set of historical conversation data, for training. The AIneural network module 416 may receive an intent 112 from a conversation designer as input and generate a development event as output, which may be used to automatically retrieve computer program code for thechatbot 100. - Data stored and manipulated in the
system 400 as described herein is utilized by the AIneural network module 416, which can leverage a cloud computing-based network configuration such as the cloud (e.g., thecloud platform 320 ofFIG. 3 and/ornetwork 422 ofFIG. 4 ) to apply machine learning and artificial intelligence. This machine learning application may create models that can be applied by thesystem 400, to make it more efficient and intelligent in execution. As an example and not a limitation, the AIneural network module 416 may include artificial intelligence components selected from the group consisting of an artificial intelligence engine, Bayesian inference engine, and a decision-making engine, and may have an adaptive learning engine further comprising a deep neural network learning engine. - The
communication path 402 communicatively couples thenetwork connectivity component 418 to other components of thesystem 400. Thenetwork connectivity component 418 can be any device capable of transmitting and/or receiving data via a wireless network. Accordingly, thenetwork connectivity component 418 can comprise a communication transceiver for sending and/or receiving data according to any wireless communication standard. For example, thenetwork connectivity component 418 can comprise a chipset (e.g., antenna, processors, machine-readable instructions, etc.) to communicate over wired and/or wireless computer networks such as, for example, Wi-Fi, WiMAX, Bluetooth, IrDA, Ethernet, Z-Wave, ZigBee, and the like. - The
network 422 may comprise any wired and/or wireless network such as, for example, wide area networks, metropolitan area networks, local area networks, satellite networks, and the like. Accordingly, thenetwork 422 can be utilized as an access point by thecomputing device 424 to access one or more servers (e.g., server 420). Theserver 420 and any additional services generally comprise processors, memory, and chipset for delivering resources via thenetwork 422. Resources can include providing, for example, processing, storage, software, and information from theserver 420 to thesystem 400 via thenetwork 422. Additionally, it is noted that theserver 420 and any additional servers can share resources with one another over thenetwork 422 such as, for example, via the wired portion of the network, the wireless portion of the network, or combinations thereof. - The
computing device 424 include computers such as laptop computer, desktop computers, smartphones, tablets, and the like that have a network connectivity component for communicating withsystem 400 and/orserver 420 vianetwork 422. Theweb portal 302 may be accessed through thecomputing device 424. A conversation designer may use thecomputing device 424 to engage with thesystem 400 by providing thesystem 400 with a conversation design input to instruct thesystem 400 to automatically retrieve a computer program code for developing thechatbot 100. - Referring now to
FIG. 5 , aprocess 500 for automatically retrieving chatbot computer programming code as described herein by use of the sub-system 300 and/orsystem 400 is set forth. Inblock 502, a code sheet 200 can be accessed to provide a set of conversations 201, a set of conversation chat flows 206, and a set ofrules 208 for code retrieval based on the set of conversations 201 and the set of conversation chat flows 206. The code sheet 200 may thus provide components for automatically retrieving computer program code for achatbot 100 in response to a conversation designer's request inblock 504. - In
block 504, an iterative process is implemented by first receiving a conversation design input from a conversation designer. The iterative process automatically retrieves a conversation 201 for a conversation designer by receiving a conversation design input of one or more conversation design inputs from the conversation designer. - For example, the conversation designer may or may not be familiar with computer programming. The conversation designer may retrieve computer programming code for a chatbot by entering one or more conversation design inputs via the sub-system 300. The conversation designer may enter an
utterance 108 such as “I would like to develop an application support chatbot that determines an account registration date and a user's prior access to applications.” - In
block 506, an intent may be identified from the conversation design input received inblock 504. In interactions where the conversation designer provides a conversation design input, theNLP tools 306 may be used to extract essential terms and/or filter irrelevant terms so that the chatbot may form anappropriate intent 112 that may include supporting parameters. For a determinednew intent 112, a new conversation 201 may be input into the code sheet 200. - For example, the conversation designer may enter the
utterance 108 such as “I would like to develop an application support chatbot that determines an account registration date and a user's prior access to applications.” TheNLP tools 306 may be used to extract essential terms, such as “develop an application support chatbot,” “account registration date,” and “user's prior access.” TheNLP tools 306 may also be used to filter irrelevant terms, such as “I would like to,” “that,” and “and.” TheNLP tools 306 may identify “develop an application support chatbot” as an intent 112 to develop achatbot 100 for application support and “account registration date” and “user's prior access” as parameters for potential prompts 202. - In
block 508, a development event is generated based on the identified intent. The AIneural network model 308 may generate a development event by taking the identifiedintent 112 as an input to compare against the historical conversation data and the historical fulfillment data that it was trained on. Because fulfillments require an intent and prompts to gather data necessary to fulfill the intent, the AIneural network model 308 can utilize the identifiedintent 112 to identify historical fulfillments based on similar intents, which in turn also identifies historical conversations associated with the historical fulfillments. The historical conversations may include one or more conversations flows 206 from the set of conversations flows 206. The development event may contain instructions to gather the conversation chat flows 206 utilized in each historical conversation associated with historical fulfillments having a similar intent as the identifiedintent 112. Which conversation chat flows 206 are gathered may also be impacted by the parameters identified by theNLP tool 306. The conversation designer may be prompted to provide more information to help narrow down the amount of conversation chat flows 206 that may be gathered. - In addition, the development event generated by AI
neural network model 308 may include instructions to compress the gathered conversation chat flows 206 such that the gathered conversation chat flows 206 containfewer prompts same intent 112 and arriving at thesame fulfillment 106 despite each conversation 201 haveadditional prompts neural network model 308 may contain instructions to remove one or more conversations flows of the conversations havingadditional prompts fulfillment 106. - In
block 510, aconversation chat flow 206 is retrieved from the set of conversation chat flows 206 based on the development event. Multiple conversation chat flows 206, as identified by the development event, may be combined to form a singleconversation chat flow 206. Theconversation chat flow 206 may be compressed according to the development event. The conversation chat flows 206 may be located in a code sheet 200, as described in the discussion ofFIG. 2 . The code sheet 200 may be located in acode sheet repository 314, as described in the discussion ofFIG. 3 . The retrieval of conversation chat flows 206 may be orchestrated by a conversationchat flow service 318, as described in the discussion ofFIG. 3 , to handle the parsing, caching, retrieval, and/or other forms of data processing. - In
block 512, a chatbot computer program code may be automatically retrieved from the code repository based on the retrievedconversation chat flow 206. Similar to how theconversation chat flow 206 was created by combining multiple conversation chat flows 206 as directed by the development event, the rules for code retrieval associated with the conversation chat flows 206 identified by the development event may be combined to form a codebase sufficient to develop achatbot 100 for the identifiedintent 112. The computer program code may be sent to the conversation designer as a fulfillment message in thechatbot 100. The computer program code may be sent to the conversation designer in whole or in part to approve or reject the entirety or components of the computer program code. If the computer program code is approved, thechatbot 100 may transfer the computer program code to the user as a source code file, a compiled binary, or any other form of computer program code. If the computer program code is rejected, the AIneural network model 308 may receive the feedback and generate a new development event such that different combinations or arrangements of conversation chat flows 206 are combined to form a new retrievedconversation chat flow 206. - The iterative process as implemented in blocks 504-512 may repeat to develop the chatbot conversation 201 until the chatbot computer program code is automatically retrieved in
block 512 for each conversation design input of the one or more conversation design inputs from the conversation designer. It should now be understood that disclosed herein are embodiments directed to methods and systems for codeless chatbot development for achatbot 100. Embodiments may access a code sheet 200, receive a conversation design input from a conversation designer, identify an intent 112 from the conversation design input, generate a development event with an AI component such as the AIneural network model 308, retrieve aconversation chat flow 206 from the code sheet 200 based on the development event, and automatically retrieve computer program code that may be used to create thechatbot 100. - The AI component of the system, such as the AI
neural network model 308, may be trained on a set of historical conversation data and a set of historical fulfillment data corresponding to the set of historical conversation data. The AI component may receive a conversation design input and may automatically generate a development event as an output. The development event may be instructions to retrieve one or more conversation chat flows 206 from the code sheet 200, along with their associatedrules 208 for code retrieval, that may be combined into a singleconversation chat flow 206 from which computer program code may be automatically retrieved to fulfill the conversation designer'sintent 112. The AI component may improve its future code retrievals based on the conversation designer's decisions to approve or reject prior chatbot code retrievals. - It is noted that recitations herein of a component of the present disclosure being “configured” or “programmed” in a particular way, to embody a particular property, or to function in a particular manner, are structural recitations, as opposed to recitations of intended use. More specifically, the references herein to the manner in which a component is “configured” or “programmed” denotes an existing physical condition of the component and, as such, is to be taken as a definite recitation of the structural characteristics of the component.
- It is noted that one or more of the following claims utilize the term “wherein” as a transitional phrase. For the purposes of defining the present disclosure, it is noted that this term is introduced in the claims as an open-ended transitional phrase that is used to introduce a recitation of a series of characteristics of the structure and should be interpreted in like manner as the more commonly used open-ended preamble term “comprising.”
- Having described the subject matter of the present disclosure in detail and by reference to specific embodiments thereof, it is noted that the various details disclosed herein should not be taken to imply that these details relate to elements that are essential components of the various embodiments described herein, even in cases where a particular element is illustrated in each of the drawings that accompany the present description. Further, it will be apparent that modifications and variations are possible without departing from the scope of the present disclosure, including, but not limited to, embodiments defined in the appended claims. More specifically, although some aspects of the present disclosure are identified herein as preferred or particularly advantageous, it is contemplated that the present disclosure is not necessarily limited to these aspects.
Claims (20)
1. A system for intelligent codeless chatbot development, the system comprising:
a chatbot comprising an artificial intelligence neural network model and a natural language processing tool;
one or more processors;
one or more memory components communicatively coupled to the one or more processors and the chatbot; and
machine-readable instructions stored in the one or more memory components that cause the one or more processors to perform at least the following:
implement an iterative process to automatically develop a chatbot conversation for a conversation designer by receiving, with the chatbot, a conversation design input of one or more conversation design inputs from the conversation designer;
identify, with the natural language processing tool, an intent based on the conversation design input;
generate, with the artificial intelligence neural network model, a development event based on the intent;
retrieve a conversation chat flow from a set of conversation chat flows of a code sheet based on the development event, the code sheet comprising a set of conversations, the set of conversation chat flows, and a set of rules for code retrieval based on the set of conversations and the set of conversation chat flows;
automatically retrieve a chatbot computer program code based on the conversation chat flow and the set of rules from the code sheet; and
repeat the iterative process to develop the chatbot conversation until the chatbot computer program code is automatically retrieved from a code repository for each conversation design input of the one or more conversation design inputs from the conversation designer.
2. The system of claim 1 , wherein the artificial intelligence neural network model is trained on a set of historical conversation data and a set of historical fulfillment data corresponding to the set of historical conversation data.
3. The system of claim 1 , wherein the machine-readable instructions further cause the one or more processors to:
generate one or more prompts to the conversation designer by the chatbot to accept or reject each chatbot computer program code retrieved based on the conversation chat flow and the set of rules from the code sheet.
4. The system of claim 3 , wherein the machine-readable instructions further cause the one or more processors to:
train the artificial intelligence neural network model using machine learning based on the chatbot computer program code, acceptance or rejection of each chatbot computer program code, or combinations thereof.
5. The system of claim 1 , wherein each conversation chat flow is based on an associated intent, and wherein each conversation chat flow comprises a set of prompts for identification of information to generate a fulfillment of the associated intent.
6. The system of claim 5 , wherein the machine-readable instructions further cause the one or more processors to:
compress, with the artificial intelligence neural network model, the conversation chat flow retrieved from the set of conversation chat flows such that the conversation chat flow contains fewer prompts than prior to retrieval.
7. The system of claim 1 , wherein to retrieve the code sheet, the machine-readable instructions further cause the one or more processors to:
parse the code sheet into a computer program code format.
8. The system of claim 1 , wherein the machine-readable instructions further cause the one or more processors to:
generate a lambda event based on the development event;
select a conversation from the set of conversations, the conversation chat flow, and one or more rules from the set of rules from the code sheet for code retrieval based on the lambda event;
convert the conversation, the conversation chat flow, and the one or more rules into a data interchange format;
transmit the conversation, the conversation chat flow, and the one or more rules to a cloud platform based on the lambda event; and
automatically retrieve the chatbot computer program code based on the data interchange format from the cloud platform.
9. The system of claim 8 , wherein the machine-readable instructions further cause the one or more processors to:
cache the conversation, the conversation chat flow, and the one or more rules for a subsequent development event.
10. A system for intelligent codeless chatbot development, the system comprising:
a chatbot comprising an artificial intelligence neural network model and a natural language processing tool;
one or more processors;
one or more memory components communicatively coupled to the one or more processors and the chatbot; and
machine-readable instructions stored in the one or more memory components that cause the one or more processors to perform at least the following:
implement an iterative process to automatically develop a chatbot conversation for a conversation designer by receiving, with the chatbot, a conversation design input of one or more conversation design inputs from the conversation designer;
identify, with the natural language processing tool, an intent based on the conversation design input;
generate, with the artificial intelligence neural network model, a development event based on the intent;
retrieve a conversation chat flow from a set of conversation chat flows of a code sheet based on the development event, the code sheet comprising a set of conversations, the set of conversation chat flows, and a set of rules for code retrieval based on the set of conversations and the set of conversation chat flows, wherein each conversation chat flow is based on an associated intent, and wherein each conversation chat flow comprises a set of prompts for identification of information to generate a fulfillment of the associated intent;
automatically retrieve a chatbot computer program code based on the conversation chat flow and the set of rules from the code sheet; and
repeat the iterative process to develop the chatbot conversation until the chatbot computer program code is automatically retrieved from a code repository for each conversation design input of the one or more conversation design inputs from the conversation designer.
11. The system of claim 10 , wherein the artificial intelligence neural network model is trained on a set of historical conversation data and a set of historical fulfillment data corresponding to the set of historical conversation data.
12. The system of claim 10 , wherein the machine-readable instructions further cause the one or more processors to:
generate one or more prompts to the conversation designer by the chatbot to accept or reject each chatbot computer program code retrieved based on the conversation chat flow and the set of rules from the code sheet.
13. The system of claim 12 , wherein the machine-readable instructions further cause the one or more processors to:
train the artificial intelligence neural network model using machine learning based on the chatbot computer program code, acceptance or rejection of each chatbot computer program code, or combinations thereof.
14. The system of claim 10 , wherein the machine-readable instructions further cause the one or more processors to:
compress, with the artificial intelligence neural network model, the conversation chat flow retrieved from the set of conversation chat flows such that the conversation chat flow contains fewer prompts than prior to retrieval.
15. A method for intelligent codeless chatbot development, the method comprising:
implementing, via a processor, an iterative process to automatically develop a chatbot conversation for a conversation designer by receiving, with a chatbot comprising an artificial intelligence neural network model and a natural language processing tool, a conversation design input of one or more conversation design inputs from the conversation designer;
identifying, with the natural language processing tool, an intent based on the conversation design input;
generating, with the artificial intelligence neural network model, a development event based on the intent;
retrieving, via the processor, a conversation chat flow from a set of conversation chat flows of a code sheet based on the development event, the code sheet comprising a set of conversations, the set of conversation chat flows, and a set of rules for code retrieval based on the set of conversations and the set of conversation chat flows;
automatically retrieving, via the processor, a chatbot computer program code based on the conversation chat flow and the set of rules from the code sheet; and
repeating the iterative process to develop the chatbot conversation until the chatbot computer program code is automatically retrieved from a code repository for each conversation design input of the one or more conversation design inputs from the conversation designer.
16. The method of claim 15 , wherein the artificial intelligence neural network model is trained on a set of historical conversation data and a set of historical fulfillment data corresponding to the set of historical conversation data.
17. The method of claim 15 , further comprising:
generating one or more prompts to the conversation designer by the chatbot to accept or reject each chatbot computer program code retrieved based on the conversation chat flow and the set of rules from the code sheet.
18. The method of claim 17 , further comprising:
training the artificial intelligence neural network model using machine learning based on the chatbot computer program code, acceptance or rejection of each chatbot computer program code, or combinations thereof.
19. The method of claim 15 , further comprising:
compressing, with the artificial intelligence neural network model, the conversation chat flow retrieved from the set of conversation chat flows such that the conversation chat flow contains fewer prompts than prior to retrieval.
20. The method of claim 15 , further comprising:
generating a lambda event based on the development event;
selecting a conversation from the set of conversations, the conversation chat flow, and one or more rules from the set of rules from the code sheet for code retrieval based on the lambda event;
converting the conversation, the conversation chat flow, and the one or more rules into a data interchange format;
transmitting the conversation, the conversation chat flow, and the one or more rules to a cloud platform based on the lambda event; and
automatically generating the chatbot computer program code based on the data interchange format from the cloud platform.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/469,241 US11699431B2 (en) | 2021-09-08 | 2021-09-08 | Methods and systems for codeless chatbot development |
EP22782788.8A EP4399853A1 (en) | 2021-09-08 | 2022-09-02 | Methods and systems for codeless chatbot development |
PCT/US2022/042555 WO2023038868A1 (en) | 2021-09-08 | 2022-09-02 | Methods and systems for codeless chatbot development |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/469,241 US11699431B2 (en) | 2021-09-08 | 2021-09-08 | Methods and systems for codeless chatbot development |
Publications (2)
Publication Number | Publication Date |
---|---|
US20230076767A1 true US20230076767A1 (en) | 2023-03-09 |
US11699431B2 US11699431B2 (en) | 2023-07-11 |
Family
ID=83507581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/469,241 Active 2041-12-30 US11699431B2 (en) | 2021-09-08 | 2021-09-08 | Methods and systems for codeless chatbot development |
Country Status (3)
Country | Link |
---|---|
US (1) | US11699431B2 (en) |
EP (1) | EP4399853A1 (en) |
WO (1) | WO2023038868A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102635363B1 (en) * | 2023-10-19 | 2024-02-08 | 주식회사 크레드잇 | Code generation system based on interactive chatbot |
US20240062751A1 (en) * | 2022-08-22 | 2024-02-22 | Meta Platforms Technologies, Llc | Automatic ontology generation for world building in an extended reality environment |
WO2024192279A1 (en) * | 2023-03-14 | 2024-09-19 | Engineer.ai Corp. | Systems and methods for determining a design for a software application |
US12143343B1 (en) * | 2021-11-22 | 2024-11-12 | Amazon Technologies, Inc. | Artificial agent generator |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190124020A1 (en) * | 2017-10-03 | 2019-04-25 | Rupert Labs Inc. (Dba Passage Ai) | Chatbot Skills Systems And Methods |
US20190158433A1 (en) * | 2017-11-20 | 2019-05-23 | Samsung Electronics Co., Ltd. | Electronic device and method for changing chatbot |
US20200143115A1 (en) * | 2015-01-23 | 2020-05-07 | Conversica, Inc. | Systems and methods for improved automated conversations |
US20200341970A1 (en) * | 2019-04-26 | 2020-10-29 | Oracle International Corporation | Bot extensibility infrastructure |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8630961B2 (en) | 2009-01-08 | 2014-01-14 | Mycybertwin Group Pty Ltd | Chatbots |
CN108369521A (en) | 2015-09-02 | 2018-08-03 | 埃丹帝弗有限公司 | Intelligent virtual assistance system and correlation technique |
US20180075014A1 (en) | 2016-09-11 | 2018-03-15 | Xiaojiang Duan | Conversational artificial intelligence system and method using advanced language elements |
US10388285B2 (en) | 2017-08-31 | 2019-08-20 | International Business Machines Corporation | Generating chat bots from web API specifications |
US20190103111A1 (en) | 2017-10-03 | 2019-04-04 | Rupert Labs Inc. ( DBA Passage AI) | Natural Language Processing Systems and Methods |
WO2019162921A1 (en) | 2018-02-26 | 2019-08-29 | Nintex Pty Ltd | Method and system for chatbot-enabled web forms and workflows |
US20200034681A1 (en) | 2018-07-24 | 2020-01-30 | Lorenzo Carver | Method and apparatus for automatically converting spreadsheets into conversational robots (or bots) with little or no human programming required simply by identifying, linking to or speaking the spreadsheet file name or digital location |
CN116048355A (en) | 2018-11-16 | 2023-05-02 | 利维帕尔森有限公司 | Script-based automated robot program creation method, system and storage medium |
US11847167B2 (en) | 2019-06-05 | 2023-12-19 | Boomi, LP | System and method for generation of chat bot system with integration elements augmenting natural language processing and native business rules |
KR102148439B1 (en) | 2019-10-24 | 2020-08-26 | 한경훈 | Server, method, and system for providing chatbot service with adaptive development environment based on block unit combined api function and scenario |
US11651250B2 (en) | 2019-11-20 | 2023-05-16 | International Business Machines Corporation | Automatically generated conversation output |
-
2021
- 2021-09-08 US US17/469,241 patent/US11699431B2/en active Active
-
2022
- 2022-09-02 WO PCT/US2022/042555 patent/WO2023038868A1/en active Application Filing
- 2022-09-02 EP EP22782788.8A patent/EP4399853A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200143115A1 (en) * | 2015-01-23 | 2020-05-07 | Conversica, Inc. | Systems and methods for improved automated conversations |
US20190124020A1 (en) * | 2017-10-03 | 2019-04-25 | Rupert Labs Inc. (Dba Passage Ai) | Chatbot Skills Systems And Methods |
US20190158433A1 (en) * | 2017-11-20 | 2019-05-23 | Samsung Electronics Co., Ltd. | Electronic device and method for changing chatbot |
US20200341970A1 (en) * | 2019-04-26 | 2020-10-29 | Oracle International Corporation | Bot extensibility infrastructure |
Non-Patent Citations (1)
Title |
---|
Strutynskyi Maksym, " A concept of intent-based contextual chat-bot with capabilities for continual learning", Spring 2020, Master’s Degree Project: 68 pgs <intentBased_Learning.pdf> * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12143343B1 (en) * | 2021-11-22 | 2024-11-12 | Amazon Technologies, Inc. | Artificial agent generator |
US20240062751A1 (en) * | 2022-08-22 | 2024-02-22 | Meta Platforms Technologies, Llc | Automatic ontology generation for world building in an extended reality environment |
WO2024192279A1 (en) * | 2023-03-14 | 2024-09-19 | Engineer.ai Corp. | Systems and methods for determining a design for a software application |
KR102635363B1 (en) * | 2023-10-19 | 2024-02-08 | 주식회사 크레드잇 | Code generation system based on interactive chatbot |
Also Published As
Publication number | Publication date |
---|---|
WO2023038868A1 (en) | 2023-03-16 |
US11699431B2 (en) | 2023-07-11 |
EP4399853A1 (en) | 2024-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11699431B2 (en) | Methods and systems for codeless chatbot development | |
US11816435B1 (en) | Applied artificial intelligence technology for contextualizing words to a knowledge base using natural language processing | |
AU2019202632B2 (en) | Deep learning techniques based multi-purpose conversational agents for processing natural language queries | |
US11297016B1 (en) | Intelligent conversational systems | |
US10492039B1 (en) | State-based electronic message management systems and controllers | |
CN109760041B (en) | Chat robot-based cloud management system and operation method thereof | |
US20220237567A1 (en) | Chatbot system and method for applying for opportunities | |
CN110321413A (en) | Session framework | |
AU2020402099B2 (en) | Function-as-a-service cloud chatbot for two-way communication systems | |
US10825446B2 (en) | Training artificial intelligence to respond to user utterances | |
US20090182661A1 (en) | Firm offers of credit system | |
CN109597607A (en) | Task interactive system and its implementation, device and electronic equipment | |
CN102369568A (en) | Systems and methods for interactively accessing hosted services using voice communications | |
US10805469B1 (en) | Systems and methods for intelligent routing call center solutions | |
CN116431316B (en) | Task processing method, system, platform and automatic question-answering method | |
CN111858874B (en) | Dialogue service processing method, device, equipment and computer readable storage medium | |
KR20200027090A (en) | Method and interactive banking system for procession interactive financial transaction | |
KR20180042763A (en) | Chatting type financial robot and method for providing financial service using the same | |
CN108510188A (en) | Data processing method, device based on alliance's operation and equipment | |
KR102218765B1 (en) | System for providing customized travel platform service brokering certified tour guide | |
CN113807858A (en) | Data processing method based on decision tree model and related equipment | |
KR102494944B1 (en) | Contents creating method and a system thereof | |
JP2024151804A (en) | PROGRAM, COMPUTER AND INFORMATION PROCESSING METHOD | |
KR102680336B1 (en) | Chatbot operation server for automatically performiong functions requested by users in conjunction with llm server and external server and method for operation thereof | |
CN118261559A (en) | Service handling method, device, equipment, medium and program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: ALLSTATE SOLUTIONS PRIVATE LIMITED, INDIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SHEPAL, CHINMAYEE;REEL/FRAME:057780/0469 Effective date: 20210915 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |