AU2020104193A4 - MIG- Intelligent Chatbot System: Method to use Information Gathered by an Intelligent Chatbot Using Machine Learning System - Google Patents

MIG- Intelligent Chatbot System: Method to use Information Gathered by an Intelligent Chatbot Using Machine Learning System Download PDF

Info

Publication number
AU2020104193A4
AU2020104193A4 AU2020104193A AU2020104193A AU2020104193A4 AU 2020104193 A4 AU2020104193 A4 AU 2020104193A4 AU 2020104193 A AU2020104193 A AU 2020104193A AU 2020104193 A AU2020104193 A AU 2020104193A AU 2020104193 A4 AU2020104193 A4 AU 2020104193A4
Authority
AU
Australia
Prior art keywords
chatbot
node
conversation
information
correspondent
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.)
Ceased
Application number
AU2020104193A
Inventor
S. B. Chordiya
J Gitanjali
J. Indumathi
P. Venkata Krishna
Shikha Mishra
Shila R. Pawar
Ramesh Babu Pittala
Beg Raj
Pawan Kumar Singh
Ratnesh Kumar Sharma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Indumathi J Dr
Krishna P Venkata Dr
Mishra Shikha Miss
R Pawar Shila
Original Assignee
Indumathi J Dr
Krishna P Venkata Dr
Mishra Shikha Miss
R Pawar Shila
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Indumathi J Dr, Krishna P Venkata Dr, Mishra Shikha Miss, R Pawar Shila filed Critical Indumathi J Dr
Priority to AU2020104193A priority Critical patent/AU2020104193A4/en
Application granted granted Critical
Publication of AU2020104193A4 publication Critical patent/AU2020104193A4/en
Ceased legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Abstract

Our Invention "MIG- Intelligent Chatbot System "is a novel system and process to use information gathered by a chatbot system including explanations why a potential customer is discontinuing a transaction. The invented technology also a information is associated with the potential customer and using this information the present invention enhances the message targeting by advertisers and remarketing system for the identified potential customer and also the advertisers and remarketing systems use the information from the chatbot system to automatically select messaging and advertisements. The MIG intelligent chatbot system is a concerns a method of operating a chatbot to engage in a conversation with a correspondent the method comprises building a profile having plural profile variables for the correspondent and during the conversation with the correspondent selecting a node in the conversation data structure for processing based on the one or more profile variables. The invented technology also processing the node to follow a conversation path based on the node's coded instructions and/or relationship with other nodes and the method comprises the steps of attempting to match the conversation data structure of the chatbot. The MIG- intelligent chatbot system is a matched node is found, selecting the matched node for processing; but if a matched node is not found, selecting a node for processing using a fuzzy search, or using a default procedure. 28 %2- rrerpetato *Applicain Apphie-atin- (Chatbot Chaat -S r IneitOwrver) Chatno t Clhathete (Converisean Data Structure) r converaarnal '134 Thesaurus Translations Diaesonary 13er Ternplate Chathats10 MOsN I IM Ckat Nots | Natural Language Multilayer DeehernngProcensing Perceptron Neural Network Memory Convolutional Neural Network Generation-based Neural Network Sequence to Sequence FIG. 1: IS A BLOCK DIAGRAM OF A SYSTEM EXEMPLIFYING THE INVENTION.

Description

%2- rrerpetato *Applicain
Apphie-atin-
(Chatbot Chaat -S r IneitOwrver)
Chatno t
Clhathete (Converisean Data Structure) r converaarnal '134 Thesaurus
Translations Diaesonary 13er
Ternplate Chathats10
MOsN I IM
Ckat Nots
| Natural Language Multilayer
DeehernngProcensing Perceptron
Neural Network Memory Convolutional Neural Network
Generation-based Neural Network Sequence to Sequence
FIG. 1: IS A BLOCK DIAGRAM OF A SYSTEM EXEMPLIFYING THE INVENTION.
MIG- Intelligent Chatbot System: Method to use Information Gathered by an Intelligent Chatbot Using Machine Learning System
FIELD OF THE INVENTION
This present invention "MIG- Intelligent Chatbot System" is related to a method to use information gathered by an intelligent chatbot using machine learning system and also relates to the field of internet based marketing and advertising, and more specifically to targeted advertisement, targeted messaging, and improved chatbots.
This invention concerns chatbots, that is computer agents designed to have conversations with human correspondents and the concerns a method of operating a chatbot to engage in a conversation with a correspondent, a method of building a chatbot, a chatbot, and a chatbot system and this invention concerns software for implementing the methods.
BACKGROUND OF THE INVENTION
Consumers, also known as users or end-users, continue to demand and expect high quality, highly personalized interactions with internet based products services. Simultaneously, website publishers constantly look for opportunities to reduce the rate at which users abandon their web sites prior to completing registration, completing a lead form or abandoning a shopping cart before final checkout. There are many reasons why users abandon websites. One reason is users are often distracted or confused when interacting with websites. Distractions can be caused by interruptions or simply by rushing or simply a change in expectation, i.e. registration to the website is required.
For example, social networking sites typically require registration. Many times a user will often become bashful or unwilling to share information. Although the term "website publishers" and "web retailers" are used throughout this application, it is important to note that the term Lead generation (commonly abbreviated as lead-gen) is a marketing term that refers to the creation or generation of prospective consumer interest or inquiry into a business's products or services. Often, lead generation is associated with marketing activity targeted at generating sales opportunities for a company's sales force. Lead generation often uses a lead form such as a questionnaire for insurance, mortgage, loan, credit card, pre-paid card and the like. A lead is therefore correctly described as information regarding or provided by a consumer that may be interested in making a purchase; whereas, generation is one of a myriad of activities that may produce that information and perceived interest.
Chatbots are becoming increasingly popular as an interesting and interactive medium for the provision of information. In a simple example, a chatbot may replace a text based FAQ (frequently asked questions) facility on a web site. FAQ facilities generally provide a list of frequently asked questions and invite a correspondent to select one of them. Then the correspondent is automatically presented an answer. While this serves the purpose of conveying information, it is dull.
By contrast a chatbot provides a conversational experience for interaction with correspondents. The correspondent can type a question and the chatbot will attempt to interpret it, and then provide an answer. In the context of the FAQ facility, if the correspondent submits one of the frequently asked questions using words the same as or similar to the question, typically the chatbot will provide the prepared text answer; exactly like the text-based facility but in the context of chat.
Most previous chatbots operate in this way. The answer they present is a simple answer to a known question. If the question is unknown, the chatbot simply offers a list of FAQ, and invites the correspondent to select one. A significant problem with the use of most chatbots is the time it takes to program one. It typically takes months of programming and many hundreds of thousands of dollars for a user to create a workable chatbot.
PRIOR ART SEARCH
US6032129A1997-09-062000-02-29 International Business Machines Corporation Customer centric virtual shopping experience with actors agents and persona. US20010042023A12000-01-212001-11-15 Scott Anderson Product fulfilment system US20020005865A11999-12-172002-01-17 Barbara Hayes-Roth System, method, and device for authoring content for interactive agents. US6349290B11998-06-302002-02-19 Citibank, N.A. Automated system and method for customized and personalized presentation of products and services of a financial institution. US20020073208A12000-10-172002-06-13 Lawrence Wilcock Contact center US20020133347A12000-12-292002-09-19 Eberhard Schoneburg Method and apparatus for natural language dialog interface. US6604141B11999-10-122003-08-05 Diego Ventura Internet expert system and method using free-form messaging in a dialogue format. US6606744B11999-11-222003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment. US20030154120A12001-08-062003-08-14 Freishtat Gregg S. Systems and methods to facilitate selling of products and services. US20030167195A12002-03-012003-09-04 Fernandes Carlos Nicholas System and method for prioritization of website visitors to provide proactive and selective sales and customer service online. US20030182391A12002-03-192003-09-25 Mike Leber Internet based personal information manager. US20030195811A12001-06-072003-10-16 Hayes Marc F. Customer messaging service US20040153357A12000-04-212004-08-05 De Sylva Robert Francis System and method for facilitating interaction between participants in a transaction.
OBJECTIVES OF THE INVENTION
1) The objective of the invention is to a novel system and process to use information gathered by a chatbot system including explanations why a potential customer is discontinuing a transaction?
2) The other objective of the invention is to a information is associated with the potential customer and using this information the present invention enhances the message targeting by advertisers and remarketing system for the identified potential customer and also the advertisers and remarketing systems use the information from the chatbot system to automatically select messaging and advertisements. 3) The other objective of the invention is to a concerns a method of operating a chatbot to engage in a conversation with a correspondent the method comprises building a profile having plural profile variables for the correspondent and during the conversation with the correspondent selecting a node in the conversation data structure for processing based on the one or more profile variables. 4) The other objective of the invention is to a node to follow a conversation path based on the node's coded instructions and/or relationship with other nodes and the method comprises the steps of attempting to match the conversation data structure ofthe chatbot. 5) The other objective of the invention is to a matched node is found, selecting the matched node for processing; but if a matched node is not found, selecting a node for processing using a fuzzy search, or using a default procedure.
SUMMARY OF THE INVENTION
The present invention, also known as Team Sales Agent" (TSA), is the solution for e commerce, lead generation and co-registration websites and web-enabled applets presenting web pages interested in increasing sales, dramatically improving their level of customer service and decreasing the company's overhead costs of using "live" sales agents. This unique chat technology fuses self-learning, artificial intelligence with the popularity and ease of online messaging. Team Sales Agent works 24/7/365 to deliver increased conversions and decreased abandonment.
Team Sales Agent Benefits include
1. Make web retailer's site interactive. 2. Adds social interaction to social networking sites. 3. Increase web retailer's registrations/memberships. 4. Increase web retailer's sales. 5. Increase web retailer's conversation rates. 6. Drastically decrease web retailer's shopping cart abandonment. 7. Make web retailer's site interactive. 8. Up-Sell & Cross-Sell additional products. 9. No turnaround time for customers-immediate service 10. Easy integration. 11. Real time success and failure analysis to new products and sales efforts.
The invention is uniquely designed to interact with web retailer's customers with real agent reaction times as they give astute answers directly concerning web retailer's products and goals or offer incentives to complete an action. The patented artificial intelligence engine uses the combination of Bayesian probability and statistics keyword selection, natural language parsing and regular expression processing. Every client interaction is recorded and analyzed, and as a result of the analysis, changes in the answer database are made.
More specifically, the present invention provides a method to present a browser-based chat and messaging window ("chat window") made to look like an instant message window from a live person as an exit pop when a user exits a web site. In another example, the present invention launches a chat window during a session, such as after a settable period of time, or after settable period of user inactivity or a combination of both. Many times, a user will abruptly terminate a shopping cart, registration or lead abandonment at a website. In one example, the method includes presenting at least one messaging window after the end-user terminates a web session. Next a message is displayed to the end-user through the messaging window. The response from the end user is reviewed using a combination of scripting and artificial intelligence. In this example the scripting, the messaging window and the artificial intelligence are all managed via a web site.
Using this invention, profile variables can be created that enable the chatbot owner to better personalised a conversation to assess the correspondent as, for example, a potential credit customer, a potential employee, etc. The information gathered about the correspondent can be combined with other sources of information and interpreted using assessment tools to produce, for example, a report on the correspondent's credit behaviour for the purposes of a credit risk management assessment, or a report on the suitability of the correspondent for a particular job.
The step of creating a profile may include updating the value of a profile variable of the correspondent when a node is processed, that node being coded with instructions to update the profile variable based on a profile update rule. The step of selecting a node for processing based on the one or more profile variables may include checking the one or more profile variables against respective pre-determined values.
A profile variable may characterised one or more of: content of the conversation; the correspondent's interest, personality and demographic; one or more nodes processed in the conversation with the correspondent; received input messages, a process started or completed by the correspondent and an activity external to the conversation.
Further, the method may comprise analysing a set of plural profile variables in a correspondent's profile, and generating a report on the characteristics of the correspondent based on the analysis. A received input message may be an explicit statement or unstructured content or activity, either in textual or non-textual form.
The method may further comprise customizing delivery of information to the correspondent based on the correspondent's profile, wherein one or more of the following is customized: content, layout, presentation, format, robot action and source of the information. Customizing delivery of information may be based on data extracted from a customer management system. The method may further comprise performing an assessment on one or more of the correspondent's profile and an external source, and reporting the result of the assessment.
In a second aspect, the invention concerns a method of operating a chatbot to engage in a conversation with a correspondent,
1. the chatbot comprising a conversation data structure comprising plural conversation paths, each path comprised of nodes each having coded instructions and/or relationships with other nodes; 2. the method comprising:
i) receiving an input message from the correspondent; ii) attempting to match the received input message with a node in the conversation data structure of the chatbot; iii) if a matched node is found, selecting the matched node for processing; iv) but if a matched node is not found, selecting a node for processing using a fuzzy search, or using a default procedure; and v) processing the selected node to follow a conversation path based on the selected node's coded instructions and/or relationship with other nodes.
The fuzzy search may comprise determining one or more nodes in the conversation data structure that are approximate matches to the received input message; displaying the one or more output messages that are each associated with a nod; to the correspondent; and if the correspondent chooses one of the displayed messages, selecting the node associated with the chosen message for processing. The received input message may then be recorded as a variation to a known input message that matches the node chosen by the correspondent.
The default procedure may comprise selecting a default node in the conversation data structure for processing, and is only performed if no nodes are selected using the fuzzy search. The step of matching, the received input message with a node in the conversation data to structure, or the fuzzy search, or both, may be based on a profile variable associated with the correspondent. During the conversation, the received input message or an output message from the chatbot to the correspondent is in textual or non-textual form.
The method may further comprise analysing the received input message to determine a value for the profile variable associated with the correspondent. The step of matching the received input message with a node in the conversation data structure may involve comparing the received input message with variations associated with that node until a matched variation is found. In this case, the variations are either default variations or variations generated based on past conversations.
The step of matching the received input message with a node may further comprise the steps of translating the received input message into a compatible format using one or more internal translation dictionaries, and comparing the translated message with the nodes in the conversation data structure. Matching the received input message with a node may be based on the length of the input message. If the received input message is the correspondent's interaction with a webpage, the method may further comprise automatically presenting one or more output messages to the correspondent based on the interaction.
The method may further comprise producing a report on conversations with one or more correspondents, the report including properties of a profile variable associated with one or more correspondents. The step of processing the selected node comprises performing one or more of the following:
1. receiving an input message from the correspondent; 2. checking one or more groups of nodes; 3. displaying an output message to the correspondent; 4. displaying to the correspondent a node which is related to another node that is being displayed; 5. determining whether a profile variable satisfies a predetermined condition for a particular correspondent, and if so, processing the node; 6. redirecting to a specific node in the conversation data structure and processing the node; 7. displaying an output message from a base personality associated with the chatbot; 8. randomly selecting a node related to the selected node and processing the node; 9. and processing the top child node extending from the selected node and processing the top child node.
In a third aspect, the invention is a chatbot, comprising
1. a conversation data structure; and 2. an interpretation engine that navigates the conversation data structure to engage in a conversation with a correspondent; wherein the conversation data structure comprises plural conversation paths, each path comprised of nodes each having coded instructions and/or relationships with other nodes; 3. and wherein the interpretation engine is operable to:
1) receive an input message from the correspondent; 2) attempt to match the received input message with a node in the conversation data structure of the chatbot; 3) if a matched node is found, select the matched node for processing; 4) but if a matched node is not found, select a node for processing using a fuzzy search, or using a default procedure; and 5) process the selected node to follow a conversation path based on the selected node's coded instructions and/or relationship with other nodes.
In a fourth aspect, the invention is a method of building a chatbot, comprising
1. receiving one or more training material; 2. automatically building a conversation data structure of the chatbot according to the received training material, the conversation data structure comprising nodes forming conversation paths, each node having coded instructions and/or relationships with other nodes; 3. and wherein, when the chatbot is in use to engage in a conversation with a correspondent, one or more nodes in the conversation data structure are selectable for processing according to their coded instructions and/or relationship with other node or nodes.
Using the invention, a chatbot can be created rapidly and easily without requiring any programming skills on the part of its designer. The conversation data structure provides a visual representation of possible conversations between the chatbot and correspondents and can be constructed to have long conditional conversation paths and to control the flow of a conversation.
Building the conversation data structure may comprise coding and/or linking plural nodes associated with a conversation path to perform one of asking a series of questions to identify a correspondent's interests and intentions; using a profile variable to select a node in the conversation data structure for processing; and directing a correspondent down a conversation path to achieve a desired outcome. The method may further comprise coding plural nodes to update each a profile variable for a correspondent according to a profile update rule, wherein the training material sets out a list of profile variables and rules for updating them.
The training material may be stored in a central repository accessible by plural users to each build a chatbot. The training material may be one of: a set of questions and responses; a set of questions and responses, ranked and grouped according to importance; variations of a set of questions and answers; a base personality with pre trained responses; information that are specific to an industry or interest topic, such as with or without pre-trained responses; a set of profile variables; a conversation data structure, or part of, associated with another chatbot; a text file describing a complex conversation data structure; and a set of questions from a centralised dictionary of questions.
BRIEF DESCRIPTION OF THE DIAGRAM
FIG. 1: is a block diagram of a system exemplifying the invention. FIG. 2: is a screenshot of a main node view of a Main folder node. FIG. 3: is an example chatbot chat window flow from a TSA server perspective, according to the present invention; FIG. 4: is an example chatbot chat window flow from a TSA client perspective, according to the present invention; FIG. 5: is an example over-all flow from the TSA client-server perspective illustrating the interactions between the flows of FIG. 3 and FIG. 4, according to the present invention;
FIG. 6: is a more detailed flow of block 320 in FIG. 3 illustrating how the TSA server selects responses, according to the present invention; FIG. 7 is a block diagram of three internet-based advertising systems: i) an advertising system, ii) a chatbot system, and iii) a remarketing system; FIG. 8: is a data record populated by the chat server with information including reason for discontinuing a transaction; FIG. 9: is a high level flow of using information from the chatbot system; FIG. 10: is an example of an information processing system according to one embodiment of the present invention.
DESCRIPTION OF THE INVENTION
As required, detailed embodiments of the invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention, which can be embodied in various forms. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present invention in virtually any appropriately detailed structure. Further, the terms and phrases used herein are not intended to be limiting; but rather, to provide an understandable description of the invention.
The terms "a" or "an", as used herein, are defined as at least one or more than one. The term "plurality", as used herein, is defined as two, or more than two.
The term "another", as used herein, is defined as at least a second or more. The terms "including" and/or "having", as used herein, are defined as comprising (i.e., open language). The term "coupled", as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically. The terms "program", "software application", and the like as used herein, are defined as a sequence of instructions designed for execution on an information processing circuit. A program, computer program, or software application may include a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on an information processing circuit. Further, the terms "present invention" and "Team Sales Agent" or "TSA" or "application" and "applet" are used interchangeably herein.
The term "chatbot" also known as "chatter robot", "chatterbot", "virtual agent", virtual sales agent", "artificial intelligence agent" or "chat bot" is a computer program designed to simulate an intelligent conversation with one or more human users via auditory or textual methods, primarily for engaging in small talk. An aim of such simulation has been to fool the end-user into thinking that the program's output has been produced by a human.
Prior to the present invention, publishers and/or retailers had to primarily rely on exit pops and follow-up emails to attempt to recover lost customers or cross-sell or up-sell them. The present invention is designed to effectively reduce shopping cart, lead and registration abandonment. The present invention has to be capable of up-selling and cross-selling as well, while providing the customer with a satisfactory experience. The present invention is customer friendly and provides real-time campaign management and reporting for publishers. Powered by a self-learning artificial intelligence engine, the present invention assists publishers in increasing their revenue opportunities. The present invention has been successfully deployed and continually enhanced and improved to meet the changes and needs of a growing market.
The present invention recovers many users that abandon websites or web registration process. The chatbot assists with the return of a user to the website or redirection to a third-party website for cross-selling or up-selling. An example would be: sell PC but direct to third-party warranty company for the purpose of closing the sale, to cross sell, up-sell, or build customer relationship.
The present invention provides web retailers with tight control of the artificial intelligence (AI) programming with fast setup to meet the demands of fast moving, easy to turn off and short-lived sales campaign. This is especially important to meet sales campaigns, sales promotions, regional customer demands and seasonal purchases.
Referring first to FIG. 1, the system (100) comprises a chatbot server (110) and database (130) in communication with a plurality of users (160) and correspondents (170) over the Internet (150) only two shown here for simplicity. The users (160) are chatbot owners who create and manage chatbots using a chat flow application (114) provided by the chatbot server (110). The user (160) may be a natural person or a corporation.
The behaviour of a chatbot is defined by user-generated knowledge in the form of a conversation data structure and, optionally, a pre-trained base personality linked to the chat flow application (114) and a knowledge association dictionary. During a conversation with a correspondent (170), the interpretation engine (112) on the chatbot server (110) is operable to navigate the conversation data structure to interact with the correspondent (170).
A chatbot can be deployed and integrated into any online environments, such as webpages (172), intranets, widgets (174), instant messaging applications (176), avatars in virtual world (178), robots and games. This is made possible by the HTTP-based application programming interface (API) that makes the chatbots core chat functionality available to third party applications.
A chatbot can also be deployed and integrated into any environment where an input message is given, including; vehicles (e.g. depressing the accelerator; the fuel level dropping below a specific level); machines (e.g. turning a machine on; selecting a function to be performed); buildings (e.g. opening a door; turning on a light; speaking to request adjustments to lighting and temperature control) and mobile devices including phones and satellite navigation devices (e.g. requesting a phone number requesting directions),
Chat flow Application 114-Designing a Chatbot
Referring now to FIG. 2, the interface of the chat flow application (114) provides a visual interface (200) for a user (160) to design a chatbot without having to write lines of codes. In this example, the chatbot is designed to answer enquiries on banking products such as credit cards, home loans and insurance, and also to suggest suitable products based on a conversation with correspondent. The left hand pane of the visual interface (200) shows a conversation data structure (204) which encodes the knowledge and decision making capabilities of the chatbot.
A user (160) does not require any programming skills to be able to use the advanced interface of the chat flow application (114). Instead, the user (160) merely has to add nodes to create a conversation data structure, using one or more of the following methods.
1) Drag and drop nodes from the toolbar (202) on the very left hand side of the tool or using the "Node" menu on the top menu bar (203). The toolbar (202) provides a number of "drag-and-drop" and "cut-and-paste" features which allow a node to be added, deleted, edited and copied easily; 2) Import question and answer pairs and conversation paths from a from text file. The "Node" menu on the top menu bar (203) provides a facility for importing content from an appropriately-formatted text file and automatically converting the content into nodes in the conversation data structure; 3) Import nodes from another chatbot. The "Node" menu (203) provides a facility for importing nodes from another chatbot accessible by the chatbot user; 4) Import from a centralised dictionary, Conversational Thesaurus (134). The "Node" menu (203) provides a facility for importing nodes questions from a dictionary ("Conversational Thesaurus (134) and automatically converting the questions into nodes in the conversation data structure. Nodes added by way of the dictionary are automatically linked with the dictionary allowing synchronization of nodes with the dictionary which enables sharing of input variations across chatbots; 5) Templates of industry or special-interest specific questions and answers can be imported using the copy function which allows copying of entire conversation data structures from one chatbot to another. Imported nodes can be edited, copied. moved and deleted using the "drag and drop" and ''cut and paste" features. 6) Templates of questions and answers based on a particular personality type can be imported using the copy function. Imported nodes can be edited, copied. moved and deleted using the "drag and drop" and "cut and paste" features.
The templates are training material which are used by the application to automatically build a conversation data structure of a chatbot. Based on the training material, nodes are created and coded with instructions and linked to other nodes to form conversation paths. During a conversation with a correspondent, the nodes will be processed according to these instructions and/or relationship.
The interface further provides a menu bar with several drop-down menus which allow the chatbot designer to find, add, delete and update profile variables, and view profile reports; add, delete and update translations and stop words specific to the chatbot; select and update the default action and display messages; add, delete and update display messages associated with the fuzzy matching search mechanism; add, delete and update elements of the chat window interface; view, export and delete conversations; process and view statistical reports; clear conversation-related data; refresh the graphical user interface; perform a dictionary sync to exchange information with a centralised dictionary of questions (Conversational Thesaurus) which allows for sharing of input message variations across chatbots; inspect nodes in the conversation data structure to identify and fix duplications, broken conversation path links and broken related node links; schedule various tasks to be automatically performed in relation to such as the chatbot, including backups of content, setting of nodes in the conversation data structure to offline (unable to be searched) or online (able to be searched), etc; replace tags used within the conversation data structure; add, delete and update settings relating to the performance of the chatbot; view, add, delete and update settings relating to the identification of the chatbot; view, add, delete and update details about the chatbot owner; provide assistance and training for the chatbot designer or user; provide version information about the software.
The conversation data structure provides a visual representation of possible conversations between the chatbot and a correspondent. The interface also allows for tracking of changes to content in the conversation data structure and the alerting of identified parties when content in the conversation data structure has changed.
Node Types
Nodes can be selected from the following node types listed on the toolbar (202) to control the conversation flow of a chatbot. Each node type is coded with instructions which are processed by the interpretation engine (112) during a conversation.
1. Output Node (0) instructs the interpretation engine (112) to display its output message to a correspondent (170) during a conversation. The output message is typically text-based, but can also comprise HTML, image, video and audio, and avatar animation such as smiling. The output message may also be an activity, such as loading a document. Any number of variations of an Output node can be added, and the different variations can be set to be displayed in a sequential or random order. The view also provides clickable tabs for adding code to format the message, add HTML and adding images, video and audio, and animation. 2. Input Node (I) represents something that a correspondent could input to the chatbot during a conversation. If the last input message from a correspondent matches an acceptable input message or variation in the Input Node, then a match to the Input Node (I) is made. The Input Node includes a first or top-level Input plus any number of acceptable variations of this top-level Input. These variations are hidden from the correspondent and are used to appropriately match many different forms of correspondents' input messages the top-level Input.
A special instance of the Input node allows the chatbot user to match, to the input node when a correspondent's input message is equal to or greater in length to a number set for the special input node. For example, if the input node is set to @200 then each input message from any correspondent of 200 characters or more will match to this input node. This can be used to present a specific response to a correspondent, or to update a variable in the correspondent's profile.
For example, it is used to identify long input messages which may indicate that the correspondent thinks they are talking to a human instead of a robot. The chatbot can then update the correspondents profile, and choose a conversation path, for example a commercial chatbot can indicate to the correspondent that it is a robot, or a companion chatbot can assume the correspondent wants to believe it is human and follow more human-like conversation paths.
1) Get User Input Node (G) instructs the interpretation engine (112) to stop and Wait for the correspondent chatting to enter an input message. 2) Base Personality Response Node (B) instructs the interpretation engine (112) to respond with content from its base personality, rather than any content stored within the conversation data structure. 3) Profile Check Node (P) instructs the interpretation engine (112) to perform a conditional check on value of a profile variable for a particular correspondent. If all the conditions of the Profile Check are satisfied, then the chatbot considers the customer's profile to be a match to the node. 4) Go To Node (G') instructs the interpretation engine (112) to go to another node in the conversation data structure and resume interpretation from that node. 5) Check Node (C) instructs the interpretation engine (112) to perform a search using the latest input message from a correspondent against Input Nodes within a folder. The best ranked Input Node is taken as a match and the interpretation engine (112) continues interpretation from that node, 6) Random Node (R) instructs the interpretation engine (112) to select a child node of that node randomly and continue interpretation from that selected node. 7) Default Node (D) is a special type of Input Node (I) that is used to match to any input message during a conversation when a matching Input Node (I) cannot be found. For example, an Output Node (0) and a Get User Input Node (G) can be added to extend from the Default Node (D) to obtain and receive more information from the correspondent. Profile Check Nodes can also be added to extend from the Default node, to check the correspondent's profile for certain features, such as the topics they have previously asked about during the conversation, whether they have entered an input message of a specific length, etc. This profile information can then be used to tailor and personalised the response to the correspondent. 8) Folder Node (F) is a symbolic node that is used to organize nodes into sections or categories. Profile update rules can be associated with folders. Auto-learn statements, used in the fuzzy matching procedure, can be associated with folders.
In the chatbot shown in FIG. 2, the nodes of the conversation data structure (204) are organized under three main folder nodes: Main (216), Library (218) and Global (220).
1. Main folder node (216) holds nodes that the chatbot uses as a starting point to a conversation. In conversation data structure in FIG. 2, a correspondent (170) is greeted with a welcome message which is stored in an Output Node (221): "Hello. I'm [NAME], [ORGNAME]'s virtual assistant. How can I help you?". In this example, a Get Input Node (222) and plural Check Nodes (223) extend from the Output Node (0) to receive the correspondent's input message and to match the message with any of the Input Nodes (I) In the folder associated with each of the Check Nodes (223). Tags [NAME] and
[ORGNAME] are global variables that can be defined by a user to represent the chatbot's name and user's organisation name. Other tags can be used to define other information that is included in the conversation data structure (e.g. product names, prices, telephone numbers, and URLs). 2. Library folder node (218) holds the bulk of the nodes used for conversation. Referring also to FIG. 4, the nodes are further organised under sub-folder nodes such as "About Credit Cards", "interest", "Rewards" and "Application" under "Credit Cards". Other folders can be added, such as a storage folder where content that is not currently being used is held. 3. Global folder node (220) holds links to all Input Nodes (I) in other folders that are considered for matching every single time an input message from a correspondent is presented to the interpretation engine (112).
A user can create any conversation data structure via any desired combination of nodes. The nodes selected, and the relationships between them, depend on what the application the chatbot is designed for. This gives the user complete design control over the chatbot. Conversation paths can also be updated easily without long periods of re-writing code.
The chat flow application (114) also allows a user to clone the chatbot, or export some components of the chatbot's knowledge to another chatbot. An import and export feature is also provided to allow a user to share or move an entire conversation data structure from one source to another. A user can export to a text file, or another account, and import from a text file or another account.
Base Personalities
A base personality can be viewed as a pre-trained chatbot which can act as the foundation intelligence for any chatbot. In the event that the interpretation engine (112) is unable to match a correspondent's input to an Input Node and not sure on how to reply, it can rely on a Base Personality Response Node (B) to come up with a reply. All base personalities (138)are storedin the chatbotdatabase (130);see FIG.1.
FIG. 3 is an example chatbot chat window flow from a TSA server perspective, according to the present invention. This process runs when TSA chatbox window is loaded and the script request is from user on a client computer browsing a web retailer's web site. Examples of scripts used to integrate into a web retailer's website are illustrated at the end of this patent. The script code is sent along with various settings from the web-based management console in step 306. Various parameters or user selectable components are set through the TSA management console for the script settings. The script settings can include pitch delay, "agent is typing" message, typing times, and reading timer. These are discussed further below.
In one example, some of these settings are static, e.g. the various settable timers, reading timers, typing timers, are the same for all chat sessions. Other examples of settings are dynamic, e.g. agent photo, agent name, agent picture position on screen, campaign ID, timers, and greetings, sent only for when the particular chat session is initiated. In another example, the setting can be changed depending on information received from web retailer's site, such as demographic information or even personal information such as name of chat user. Further information such as a name of the chatbot, a persona presented (personality such as youthful, mid-western, age, and educational level) to a user, and a national language of the chatbot.
The process loop waits for a request from the chat in step 308. Once a request is received from chat 308, the process continues with determining the type of response, e.g. is it a greeting 310, then select and output greeting 312 based on preferences setup in TSA management console. Likewise, if the request is a sales pitch request, e.g. is it a sales pitch 314 then select and output sales pitch 316 based on preferences setup in TSA management console. Alternatively, if the request is a user question request, e.g. is it a user question 318, then select and output response 320 based on preferences setup in TSA management console. A more detailed explanation of the response selection process is discussed in FIG. 6 below.
FIG. 4 is an example chatbot chat window flow from a TSA client perspective, according to the present invention. The process begins at setup 402 and immediately proceeds to step 404 where the web retailer page with code for launching the chatbot is loaded. Examples of the code embedded in the web retailer page are shown at the end of this patent. In step 406, the setting from the TSA management console are loaded such as, but not limited to, sales pitch delay, agent is typing message, typing timer, reading timer, agent photo/name, and chat window position.
The chatbot runs on the client device 102, 104, and 106 typically after a predefined event. The TSA window can load on various events such as the end-user leaving a web page, an abandoned shopping cart, a webpage domain change, or other link selected. It should be understood the TSA window can launch on other events such as no input from the end user for a predetermined amount of time. In one example, an inactivity timer is used to trigger the predefined event. This inactivity timer is set in the TSA Management console along with other times. Still, in another example, if the web page or primary applet is minimized, this is used to launch the chatbot. Still further, one or more cursor positions can be used to trigger when launching the chatbot such as the minimize cursor position, close cursor position, URL cursor position, help cursor position, hover for a period of time, and more. Accordingly, a decision is made whether or not to launch the chatbot chat window based on one or more even/response pair triggers. This decision to launch is made while the end-user is interacting with the web retailer's page or while interacting with a specific applet.
Once the chatbot chat window is loaded in step 408 as shown in FIG. 2, the Greeting Request is received 410 from the chat window and TSA server 130 produces the Output Greeting 412 to the chatbot chat window. Next, a sales pitch is requested 414 and a response received from the TSA server 130. The system uses the greeting and sales pitch, collectively known as a events to sell, cross-sell or up-sell a product. The timing and when the sales pitch is displayed depends on whether a user of the chatbot chat window enters a question. The sales pitch can be a single entry or multiple entries to construct overall sales pitch. To begin, a test is made to determine in step 416 if a No Sales Pitch was received. If a No Sales Pitch was received (i.e. because either the sales pitch is complete or the web retailer is not using a sales pitch) the flow continues to step 428 and sets the Sales Pitch Complete Flag.
In response to a sales pitch received in step 416 (i.e. the test in step 416 results in "no"); the sales pitch delay timer is started in step 418. When the timer expires, a test is made for user input 420. If there is user input received, in step 420, the flow continues to step 434. In response to no user input received, then in step 422 an "Agent is Typing" message is posted on the chat window (not shown) on FIG. 2. The "Agent is Typing" message is sent to notify the chat window user that a message is being formulated. This message is used to make the chatbot appear human rather than automated. Because a human typically will take time to read and type a response unlike a computer which is only limited by bandwidth and processing power, a delay "Typing Timer" 424 is set by configuration settings in the TSA management console. The sales pitch received as determined by the TSA management console settings is then printed in the chatbot chat window 426 and the process flows back to request another sales pitch 414 and then tests for another sales pitch or No Sales Pitch response 416.
In response to sales pitch was complete being completed, i.e. No Sales Pitch 416, the Sales Pitch Complete Flag 428 is set and a process loops on whether user input is received 432. Once a user question is received, it is sent to TSA server 103 and a response is received 436. To avoid the appearance of being too fast responding to a user question, a message on the chat box chat window "agent is typing" is displayed in step 438 and typing timer is set in step 440 before presenting the response 442 to the end-user. In the event the sales pitch was completed in step 430, the process loops in step 432 waiting for user input. Otherwise, the sales pitch process is continued in step 418.
FIG. 5 is an example overall flow from the TSA client-server perspective illustrating the interactions between the flows of FIG. 3 and FIG. 4, according to the present invention. The chat window flow 500 begins with the chat window starting as described in FIG.
3 and example scripts discussed at the end of this patent. Boxes 504 "Send Greeting", 506 "Send Sales Pitch", 508 "Send user Request", 510 "Send Response", and 512 "Send HTTP Link" are various requests automatically made by the client 102, 104, and 106 to the TSA Server 130.
The various requests 504,506,508, 510, and 512 as shown each go into a "Do Call Method" 516. The "Do Call Method" helps make the various calls synchronize with the Chat Engine 550 sitting on TSA server 130. The "Do Call Method" 516 includes a queue 518, Wait Time 520 by a predetermined number of seconds. The predetermined number of seconds is settable through the TSA management console and it should be understood that the 100 ms is an example only. The flags of Request Queue and the Request Sender Status 522 are used to determine whether the request is sent in 524 or the process loops back to Wait Time 520. This waiting and loop allow the "Do Call Method" 516 to synchronize if the request queue is "Empty" and the request sender status is "Free" so the message is sent out.
Chat engine 550 sitting on TSA server 130 receives request from the chat window 500 and finds answers to each request to send to the chat window 500. The process begins with Get Request Type 552 for passing the various requests to different sub-handlers depending on the type of the request. A response 572 is provided. There are two types of Request Types. A first type of request type is handled through the Engine 570 using artificial intelligence and/or neural networks. A second type of request type is handled by parameters, settings and responses for a campaign setup using the TSA management console. The sub-handlers include a sub-handler for "Greetings" 554, which tests whether the "Response=Random Greeting" is set by the TSA management console. The sub-handler "Sales Pitch" 558 and whether Response My Site" is set by the TSA management console for a given campaign. The sub-handler "Format" 562 helps arrange and convert the answer to a request that is received from the chat window 500 based upon setting from the TSA management console. The sub-handler "Request" or "User Question" 566 handles general questions from a user typing in the Chat Window 500. The sub-handler "User Question" 566 uses the Engine 570 to find a response.
The Engine 570 in one example is a neural network engine. One example of an engine that has been shown to work advantageously with the present invention is disclosed in U.S. Pat. No. 7,529,722, with inventor Gene I KOFMAN et al., filed on Dec. 22, 2004 entitled "AUTOMATIC CREATION OF NEURO-FUZZY EXPERT SYSTEM FROM ONLINE ANALYTICAL PROCESSING (OLAP) TOOLS", the teachings of which is hereby incorporated by reference in its entirety. The engine bases its responses on the probability of matches to a user question using Neuro FLexSysPR. For error checking purposes if no response is found to a question, a no response is selected.
The response is sent from the Chat Engine 550 to Chat Window 500 and the method 526 handles the presentation of the response to the end-user. It may delay the response depending on TSA management console in loop 532 and 534. There are several timers set at the management console such as "agent typing timer", "delay agent timer" and other timers to make the chat bot appear human. The "agent is typing" message 534 is used to notify the end-user that a response to their questions is being formulated and composed. This "agent is typing" message is cleared when the response is complete.
FIG. 6 is an example overall flow diagram of how TSA server 130 selects a response in Chat Engine 570, according to the present invention. Again it is important to note that various parameters are set through the TSA management console by the web retailer such as campaign selection, decision method, keyword/response pairs, greetings, sales pitch, and a no response message. These are discussed further below.
The process begins at step 602 where responses to Global Campaigns are searched in order to identify user's questions that are to be handled the same, no matter the web retailer's campaign. Next in step 604, if a response is found the response is sent in step 612. However, if a response is not found, a test is made to determine if this is part of a target campaign in step 606. If it is part of a target campaign setup by a web retailer to handle a special product line or situation, the response for the target campaign is searched in step 608 and if a response is found in step 610, the response is sent in step 612. If a response is not found to a web retailer's target campaign the process continues to look at target campaign's no response settings previously set up through the TSA management console and save it, in step 626, for future use. If a default campaign exists, step 628, the default campaign, is searched in step 630 and, if the response is found in step 632 the response is sent in step 612. However, if no response is found in step 632 or if a default campaign is not set up in step 628, the previously saved no response from step 626 is sent in step 612. The no response found setting in one example causes the chatbot to ask a clarifying question such as "please rephrase your question."
In the case where the target campaign is not used in step 606, the process flows direct to search the hierarchy in step 618 as shown. An example of a hierarchy of campaigns is a retailer site having a holiday special, then there is holiday terminology in the sales pitch or greeting or both, such as "Happy Holidays" or "We are running a special for Christmas!". There may also be a winter campaign and a default campaign. Each campaign may offer, for example different discounts, different delivery options and more. A target campaign is said to have precedence depending on when it is active. In this case, the campaign may take precedence from November 1st through December 24th.
This precedence-in-time creates a hierarchy. If the holiday special campaign would answer any questions first from a user and if no answer is found, the system looks to other campaigns including the default campaign. This date-based hierarchy searches campaigns based on each campaign's start date; the campaign with the earliest start date is searched first. In the event a response is found in step 620, this is sent in step 612. However, in the event that no response is found, in step 620, the "no response" from the first campaign is set and a no response set in step 624 is sent in send response step 612. Although a date precedence hierarchy has been shown, other hierarchies such as sequence numbers have been shown to work advantageously within the true scope and spirit of the present invention.
Overview Internet Advertising
FIG. 7: is a block diagram of three internet based advertising systems: i) an advertising system 720, ii) a chatbot system 750, and iii) a remarketing system 780. Each of these three advertising systems will now be discussed in-turn.
Advertising System 720
Starting with advertising system 720, an end-user using a web browser or other applet or application 722 on a computer, such as a smart phone, a laptop or tablet computer, begins by requesting an affiliate website 724. In one example, the affiliate website 724 is a website, such as a content provider with advertising space 726. An advertising server 732 which includes the predictive model 728 coupled to one or more context database(s) 730. The advertising server 732 includes a group of "offers" or direct advertisement in an advertisement database 734.
In operation, when an end-user, browsing on the Internet, accesses an affiliate's web site 724 which would typically include media content and advertising space 726, the end user's browser 722 generates an http message to get the information for the desired Web page. The affiliate's web site 724 in response transmits one or more messages back containing the information to be displayed by the end-user's browser 722. In addition, the advertising server 732, using a local database 734 containing advertising and user data, provides additional information comprising one or more objects, such as a banner advertisement, to be displayed in the advertising space 726 along with the information content provided from the affiliate web site 724. Upon clicking through by selecting the advertising space 726, such as a banner advertisement, the browser 722 is connected to the direct advertiser's web site (not shown) i.e. a third-party website.
The basic operation of the advertisement system 720 provides for the selection of advertising targeted to the end-user on an affiliate website 724. The predictive model728 processes all of the informational context in the database 730 and selects a single direct advertisement from a database of available advertisements 734, or a ranked order of direct advertisements to advertising server 732, to which the end-user is most likely to respond.
The direct advertisement that is selected is dynamically delivered through to the end-user for him or her to view through a web browser 722 to advertising space 726. The end-user may then interact with the direct advertisement. The end-user may respond to an interactive button on the advertisement, an Internet forms or lead-form, a fax-back systems, a toll-free number, a direct mail postcard. This interaction with the direct response advertisement(s) are used as explicit feedback and this context is updated in database 730. Feedback is transmitted back to the predictive model 728 directly from the end-user web browser 720 or through a proxy server, such as, the advertising server 732. For example, filling out a form, placing an order, supplying a credit card number, completing a survey, providing a survey or lead form, executing a software download, etc. are all forms of transactions.
This feedback may include detailed information about a particular end-user's response to a direct advertisement, as well as the context, under which the response was obtained. Alternatively, the feedback may include a subset of the preceding information. Or, the feedback may convey information that the end-user did not respond to the advertisement, if such was the case. The feedback information is used by the predictive model 728 to further refine future predictions about the optimal advertisements to deliver and maximize utilization of the advertising space 726.
Transaction results of the direct advertisement placement are reported back to the predictive model 728. In one example, the direct advertiser's server 732 reports transactions back to the advertising server by a proxy (not shown) server. In another example, email reporting is used.
The history of website visits and browsing history may also be used to deliver relevant messaging. For example, if a given user has visited a baby products site, and a prepaid college site, the reports back the advertising server indicates the user is interested in information related to babies.
Chatbot System 750
Many of the functional details of chatbot system 750 are described in FIGS. 1-6 above. FIG. 7 is a high level comparison of chatbot system 750 as compared to the advertising system 720 and remarketing system 780. An end-user using a web browser or other applet or application 752 on a computer, such as a smart phone, a laptop or tablet computer, begins by requesting an affiliate website 754. A chatbot server 752, includes the predictive model 758 coupled to one or more context database(s) 760. The chatbot server 752 includes a chat engine 550 described above in FIG. 5 that responds to questions sent by end-users via chat window chatbot 756.
In operation, when an end-user, browsing on the Internet, accesses an affiliate's web site 724 which would typically include media content, triggers the chatbot 756 to launch. Launching of the chat window can be triggered by a variety of activities including no activity from the end-user within a settable period of time, leaving a web page, selecting specific links on a web page; a change in domain; abandoning a shopping cart; minimizing a web page; inactivity timer expiring; selection of click to chat button; and cursor position on the web page, or a combination of these. Once the chat window is launched, the chat engine 550 performs as described above in FIGS. 1-6.
The chat engine in chat server 752 using a predictive model 758 processes the informational context in the database 760 and selects a single direct response from a database of available responses 760 to the end-user. In one example, initial greetings and the sales pitch may each be individually tailored to a specific user. For example, based on previous history on a particular affiliate website, questions about discounts and shipping may be common. Using this information, the initial sales pitch for the affiliate website may be tailored to predict this question "Today Only-10% off coupon and Next Day".This sales pitch would be presented even before the end-user asks a question.
Information from the end-user through chat window 756 including questions, responses and reasons including "why" a transaction is being discontinued by the end-user are stored in database 760. This reason provides important additional information to the end-user's behavior. This interaction with the direct response from the end-user via chat window 756 is used as explicit feedback and this context is updated in database 760. For example, filling out a form, placing an order, supplying a credit card number, completing a survey, providing a survey or lead form, executing a software download, etc. are all forms of transactions.
This feedback may include detailed information about a particular end-user's response to a direct advertisement, as well as the context under which the response was obtained. Alternatively, the feedback may include a subset of the preceding information. Or, the feedback may convey information that the end-user did not respond to the advertisement, if such was the case. The feedback information is used by the predictive model 758 to further refine future predictions about the optimal responses or offers to deliver from the chat server 752 to the end-user through chat window 756.
Re Marketing System 780
FIG. 7: is a high level comparison of remarketing system 780 as compared to the advertising system 720 and chatbot system 750. As with both the advertising system 720 and chatbot system 750, an end-user uses a web browser or other applet or application 782 on a computer and begins by requesting an affiliate website 784. An advertising server 792, such as an email server and/or short-message-service server is typically used. The advertising server 792 includes the predictive model 788 coupled to one or more context database(s) 790. The advertising server 792 includes a group of "offers" or direct advertisement in an advertisement database 794.
when an end-user, browsing on the Internet, accesses an affiliate's web site 784 which would typically include media content and advertising space 786, the end-user's browser 782 generates an http message to get the information for the desired Web page. The affiliate's web site 784, in response, transmits one or more messages back containing the information to be displayed by the end-user's browser 782. In addition, the advertising server 792, using a local database 794 containing advertising and user data, provides additional information comprising one or more objects, such as a banner advertisement. Upon clicking through by selecting the advertising space 786, such as a banner advertisement, the browser 782 is connected to the direct advertiser's web site (not shown) i.e. a third-party website.
The basic operation of the advertisement system 780 provides for the selection of email or text advertising targeted to the end-user. The predictive model 788 processes all of the informational context in the database 790 and selects a single direct advertisement from a database of available advertisements 784, or a ranked order of direct advertisements to advertising server 792, to which the end-user is most likely to respond.
The direct advertisement that is selected is dynamically delivered through to the end-user for him or her to view through email and/or text messaging. The end-user may then interact with the direct advertisement. The end-user may respond to an interactive button on the advertisement, an Internet forms or lead-form, a fax-back systems, a toll free number, a direct mail postcard. This interaction with the direct response advertisement(s) are used as explicit feedback and this context is updated in database 790. Feedback is transmitted back to the predictive model 788 directly from the end-user through email, text or SMS messaging, a web browser 782 or through a proxy server, such as, the advertising server 732.
For example, filling out a form, placing an order, supplying a credit card number, completing a survey, providing a survey or lead form, executing a software download, etc. are all forms of transactions. This feedback may include detailed information about a particular end-user's response to a direct advertisement, as well as the context, under which the response was obtained. Alternatively, the feedback may include a subset of the preceding information. Or, the feedback may convey information that the end-user did not respond to the advertisement, if such was the case. The feedback information is used by the predictive model 788 to further refine future predictions about the optimal advertisements to deliver and maximize utilization of the email or text messaging.
Using Feedback from Chatbot System 780
As the inventors have discovered, the Chat-Bot system 750, unlike the advertising system 720 and the remarketing system 780, routinely receives insights to end-user behavior including reasons "why" a transaction is being discontinued by the end-user. These insights and other information are stored in database 760. In one example, this valuable reasoning is shared with either the advertising system 720 and the remarketing system 780 or both. For example, an end user is looking to purchase a good and while interacting with the chat server 752, the end-user shares that reason why they are discontinuing a transaction. The chat server 752 associates this information with the end user. It is important to note that although a good is being described, the following example is applicable to the purchase of a service as well. The reason in this example is because one or more of:
1. shipping the selected good is too expensive. 2. shipping is not available to a shipping address provided by the prospective customer. 3. the available selection of the good is limited e.g. not correct sizes, color, quality. 4. financing is necessary to complete a purchase of the good. 5. Inability to pay with a specific instrument. For example, the web site may only accept Visa and MasterCard, users wants to pay with AMEX or with a check or through PayPal. 6. inadequate security of the web page of the affiliate website, e.g. the merchant is unknown to the end-user or the user is on a public computer. 7. an inconvenient time to complete the transaction, e.g. end-user is catching a plane, getting into a cab, is currently at work. 8. an inconvenient location of the computer of the end-user e.g. the computer is in an office or is a public computer such as a library.
9. Selected good or service is perceived to be too expensive. 10. User may feel that he or she does not qualify for the offer. For example, the user may believe they are ineligible for a loan because of poor credit.
This information stored in database 760 is shared with an advertising system. Next time an advertisement is selected by the predictive model, it has a reason why the end-user as associated by the chat server 752 failed to complete a transaction and using this additional information to select the appropriate promotion or advertisement. For example, "Free-Shipping on all orders placed before mid-night" or "Check out our expanded collection of clothing for Big and Tall Men" or "Special financing and payment plans available today".
The chat server 752 can reconcile associations with the advertising system 720 by placing a http cookie associated with the affiliate website for identification of an end user session, end-user's preferences, end-shopping cart contents, or anything else that can be accomplished through storing text data. In another example, the chat server 752 is given access to http cookies placed by either the advertising system 720 and/or the remarketing system 780 to associate information with a given end-user.
Sharing the end-user reasoning received by the chat server 752 to the advertising system 720 greatly enhances the quality of the promotion or advertisement sent by advertising system 720 to the end-user. For example, if a user is searching for computers a day or two ago and reviewed but did not purchase a computer, the predictive model will give higher priority to any advertisement from an available advertisement pool for computers to match the end-user's interests.
In a similar manner, sharing the end-user reasoning received by the chat server 752 to the remarketing system 780 greatly enhances the quality of the promotion or advertisement sent by remarketing system 780 to the end-user. The advertisement can be real-time or delayed as described below. The advertisement can be delivered through the chat server 752, an email or text message 786, a voice mail message through an interactive voice system 796, a personalized print advertisement or postal advertisement 797 or a personalized broadcast advertisement through television and radio 798.
In one example, a temporal aspect to the advertisement is set by the advertising system 720 or remarketing system 780. End-user abandoning a shopping cart because selection is poor, may receive an advertisement only after the available selection of the goods/services from a given affiliate website has been expanded.
In another example, the present invention targets the abandon user for a complimentary product. For example, the user buys a used car, the present invention could cross-sell an extended warranty.
FIG. 8 is an example record 800 populated by the chat server with information including reason for discontinuing a transaction. This information can be populated for a single user id through use of http cookies or other mechanisms. The record includes an affiliate website ID, a reason for discontinuing a transaction 804, one or more items 806, such as a good or service being reviewed by end user, a unique end user id 808 to allow tracking across multiple affiliate sites and web sessions. The record 800 includes a date field 810 and time field 812, uniform resource location (URL) 814 of website as well. Information in this record is shared from the chatbot system 750 with the advertising system 720 or the remarking system 780 or both.
High-Level Flow of Using Feedback from Chatbot System 780
The process begins in step 902 and immediately proceeds to step 904 in which at least one chatbot is presented on a computer of a first party, such as end-user, as part of at least one messaging window of a web page document of a second party, an affiliate website. Next in step 906, information is received from the computer of a first party, in response to the chatbot, wherein the information includes at least one explanation by the first party for discontinuing a transaction with the second party. The transaction in one example is a sales-related transaction for a purchase of at least one of a good and a service from the second party. The sale-related transaction can include a lead-form.
The information received is associated with the first party in step 908. At least one advertisement from a third-party database is selected with the information received. Third party marketing databases include databases from advertisers (such as, ADSENSE, ADBRITE, BIDVERTISER, CHITIKA, INFOLINKS, POCKET CENTS, KONTERA, CLICKSOR, EXIT JUNCTION, DYNAMIC OXYGEN, ADBULL) and remarketing databases (ICONTACT, BENCHMARK EMAIL, MAILIGEN, PINPOINTE, CONSTANT CONTACT, CAMPAIGNER, GRAPHICMAIL, MAD MIMI, VERTICAL RESPONSE, MAILCHIMP). In step 912, after a settable period of time, the advertisement is sent to the first party and the flow terminates in step 914.
Information Processing System
FIG. 10 is an example of an information processing system 1000 such as the chat server 752 of FIG. 7 with chat engine 550 of FIG. 5 as shown. In information processing system1000 there is a computer system/server 1002, which is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with computer system/server 1002 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and the like.
Computer system/server 1002 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types.
As shown in FIG. 10, computer system/server 1002 is shown in the form of a general purpose computing device. The components of computer system/server 1002 may include, but are not limited to, one or more processors or processing units 1004, a system memory 1006, and a bus 1008 that couple's various system components including system memory 1006 to processor 1004. Bus 1008 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnects (PCI) bus.
Computer system/server 1002 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 1002, and it includes both volatile and non-volatile media, removable and non-removable media.
The system memory 1006 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 1010 and/or cache memory 1012. Computer system/server 1002 can further include other removable/non removable, volatile/non-volatile computer system storage media. By way of example only, storage system 1014 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a "hard drive"). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus 1008 by one or more data media interfaces. As will be further depicted and described below, memory 1006 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
Program/utility 1016, having a set (at least one) of program modules 1018, may be stored in memory 1006 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating systems, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules 1018 generally carry out the functions and/or methodologies of embodiments of the invention as described herein.
Computer system/server 1002 may also communicate with one or more external devices 1020 such as a keyboard, a pointing device, a display 1022, etc.; one or more devices that enable a user to interact with computer system/server 1002; and/or any devices (e.g., network card, modem, etc.) that enable computer system/server 1002 to communicate with one or more other computing devices. Such communication can occur via I/O interfaces 1024. Still yet, computer system/server 1002 can communicate with one or more networks such as a local area network (LAN), a general wide area network
(WAN), and/or a public network (e.g., the Internet) via network adapter 1026. As depicted, network adapter 1026 communicates with the other components of computer system/server 1002 via bus 1008. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with computer system/server 1002. Examples include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.
Non-Limiting Examples
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims (7)

WE CLAIM
1. Our Invention "MIG- Intelligent Chatbot System "is a novel system and process to use information gathered by a chatbot system including explanations why a potential customer is discontinuing a transaction. The invented technology also a information is associated with the potential customer and using this information the present invention enhances the message targeting by advertisers and remarketing system for the identified potential customer and also the advertisers and remarketing systems use the information from the chatbot system to automatically select messaging and advertisements. The MIG- intelligent chatbot system is a concerns a method of operating a chatbot to engage in a conversation with a correspondent the method comprises building a profile having plural profile variables for the correspondent and during the conversation with the correspondent selecting a node in the conversation data structure for processing based on the one or more profile variables. The invented technology also processing the node to follow a conversation path based on the node's coded instructions and/or relationship with other nodes and the method comprises the steps of attempting to match the conversation data structure of the chatbot. The MIG- intelligent chatbot system is a matched node is found, selecting the matched node for processing; but if a matched node is not found, selecting a node for processing using a fuzzy search, or using a default procedure.
2. According to claims# the invention is to a novel system and process to use information gathered by a chatbot system including explanations why a potential customer is discontinuing a transaction?
3. According to claim,2# the invention is to a information is associated with the potential customer and using this information the present invention enhances the message targeting by advertisers and remarketing system for the identified potential customer and also the advertisers and remarketing systems use the information from the chatbot system to automatically select messaging and advertisements.
4. According to claim,2,3# the invention is to a concerns a method of operating a chatbot to engage in a conversation with a correspondent the method comprises building a profile having plural profile variables for the correspondent and during the conversation with the correspondent selecting a node in the conversation data structure for processing based on the one or more profile variables.
5. According to claim,2,4# the invention is to a node to follow a conversation path based on the node's coded instructions and/or relationship with other nodes and the method comprises the steps of attempting to match the conversation data structure ofthe chatbot.
6. According to claim1,2,4# the invention is to a matched node is found, selecting the matched node for processing; but if a matched node is not found, selecting a node for processing using a fuzzy search, or using a default procedure.
FIG. 1: IS A BLOCK DIAGRAM OF A SYSTEM EXEMPLIFYING THE INVENTION.
FIG. 2: IS A SCREENSHOT OF A MAIN NODE VIEW OF A MAIN FOLDER NODE.
FIG. 3: IS AN EXAMPLE CHATBOT CHAT WINDOW FLOW FROM A TSA SERVER PERSPECTIVE, ACCORDING TO THE PRESENT INVENTION;
FIG. 4: IS AN EXAMPLE CHATBOT CHAT WINDOW FLOW FROM A TSA CLIENT PERSPECTIVE, ACCORDING TO THE PRESENT INVENTION;
FIG. 5: IS AN EXAMPLE OVER-ALL FLOW FROM THE TSA CLIENT-SERVER PERSPECTIVE ILLUSTRATING THE INTERACTIONS BETWEEN THE FLOWS OF FIG. 3 AND FIG. 4, ACCORDING TO THE PRESENT INVENTION;
FIG. 6: IS A MORE DETAILED FLOW OF BLOCK 320 IN FIG. 3 ILLUSTRATING HOW THE TSA SERVER SELECTS RESPONSES, ACCORDING TO THE PRESENT INVENTION.
FIG.
7 IS A BLOCK DIAGRAM OF THREE INTERNET-BASED ADVERTISING SYSTEMS: I) AN ADVERTISING SYSTEM, II) A CHATBOT SYSTEM, AND III) A REMARKETING SYSTEM;
FIG. 8: IS A DATA RECORD POPULATED BY THE CHAT SERVER WITH INFORMATION INCLUDING REASON FOR DISCONTINUING A TRANSACTION;
FIG. 9: IS A HIGH LEVEL FLOW OF USING INFORMATION FROM THE CHATBOT SYSTEM;
FIG. 10: IS AN EXAMPLE OF AN INFORMATION PROCESSING SYSTEM ACCORDING TO ONE EMBODIMENT OF THE PRESENT INVENTION.
AU2020104193A 2020-12-20 2020-12-20 MIG- Intelligent Chatbot System: Method to use Information Gathered by an Intelligent Chatbot Using Machine Learning System Ceased AU2020104193A4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2020104193A AU2020104193A4 (en) 2020-12-20 2020-12-20 MIG- Intelligent Chatbot System: Method to use Information Gathered by an Intelligent Chatbot Using Machine Learning System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AU2020104193A AU2020104193A4 (en) 2020-12-20 2020-12-20 MIG- Intelligent Chatbot System: Method to use Information Gathered by an Intelligent Chatbot Using Machine Learning System

Publications (1)

Publication Number Publication Date
AU2020104193A4 true AU2020104193A4 (en) 2021-03-04

Family

ID=74715920

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2020104193A Ceased AU2020104193A4 (en) 2020-12-20 2020-12-20 MIG- Intelligent Chatbot System: Method to use Information Gathered by an Intelligent Chatbot Using Machine Learning System

Country Status (1)

Country Link
AU (1) AU2020104193A4 (en)

Similar Documents

Publication Publication Date Title
US10503386B2 (en) Messaging window overlay for a browser
US8738739B2 (en) Automatic message selection with a chatbot
US11710136B2 (en) Multi-client service system platform
US20140279050A1 (en) Dynamic chatbot
US8949377B2 (en) Management system for a conversational system
US11847106B2 (en) Multi-service business platform system having entity resolution systems and methods
US11379883B2 (en) Systems, devices, and methods for dynamically generating, distributing, and managing online communications
US9794199B2 (en) Chatbots
US7962578B2 (en) Management system for a conversational system
US20220206993A1 (en) Multi-service business platform system having custom object systems and methods
US10467854B2 (en) Method and apparatus for engaging users on enterprise interaction channels
BARIŞ A new business marketing tool: chatbot
WO2013163249A1 (en) Optimizing web and mobile self-serve apps
CN101421732B (en) User distributed search results
US20230418793A1 (en) Multi-service business platform system having entity resolution systems and methods
Lima et al. New trends and tools for customer relationship: Challenges in digital transformation
AU2020104193A4 (en) MIG- Intelligent Chatbot System: Method to use Information Gathered by an Intelligent Chatbot Using Machine Learning System
Altarif et al. Artificial intelligence: chatbot—the new generation of communication
AU2020104035A4 (en) PIG- Intelligent Chatbot System: Process (Sales Transaction) to use Information Gathered by an Intelligent Chatbot System
SANCHEZ Facebook messenger chatbots. How businesses can benefit from this opportunity
Rainsberger Digital Transformation in Sales: How to Turn a Buzzword into Real Sales Practice–A 21-Step Guide
Kalliosaari Inbound marketing for a small B2B company: Case: Eevia Health Oy
US20230316186A1 (en) Multi-service business platform system having entity resolution systems and methods
Chan et al. Artificial Intelligence for Customer Service
Sardjono et al. Reshaping marketing in industry 4.0 by artificial intelligence

Legal Events

Date Code Title Description
FGI Letters patent sealed or granted (innovation patent)
MK22 Patent ceased section 143a(d), or expired - non payment of renewal fee or expiry