US20230073930A1 - A system and method for adaptive cloud conversation platform - Google Patents
A system and method for adaptive cloud conversation platform Download PDFInfo
- Publication number
- US20230073930A1 US20230073930A1 US17/895,573 US202217895573A US2023073930A1 US 20230073930 A1 US20230073930 A1 US 20230073930A1 US 202217895573 A US202217895573 A US 202217895573A US 2023073930 A1 US2023073930 A1 US 2023073930A1
- Authority
- US
- United States
- Prior art keywords
- consumer
- manager
- conversation
- callback
- survey
- 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.)
- Abandoned
Links
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims description 86
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 177
- 238000010801 machine learning Methods 0.000 claims abstract description 172
- 238000004891 communication Methods 0.000 claims abstract description 108
- 230000008569 process Effects 0.000 claims description 51
- 230000015654 memory Effects 0.000 claims description 45
- 230000003993 interaction Effects 0.000 claims description 23
- 230000006399 behavior Effects 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 abstract description 52
- 230000000977 initiatory effect Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 50
- 239000003795 chemical substances by application Substances 0.000 description 49
- 238000007726 management method Methods 0.000 description 34
- 230000009471 action Effects 0.000 description 30
- 230000004044 response Effects 0.000 description 27
- 238000012549 training Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 12
- 238000013515 script Methods 0.000 description 11
- 230000002787 reinforcement Effects 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000005291 magnetic effect Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 201000001997 microphthalmia with limb anomalies Diseases 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000013016 learning Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 241000238558 Eucarida Species 0.000 description 2
- 230000009118 appropriate response Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
- H04M3/5231—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing with call back arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/01—Customer relationship services
- G06Q30/015—Providing customer assistance, e.g. assisting a customer within a business location or via helpdesk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/401—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
- H04L65/4015—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1096—Supplementary features, e.g. call forwarding or call holding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/20—Aspects of automatic or semi-automatic exchanges related to features of supplementary services
- H04M2203/2072—Schedules, e.g. personal calendars
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5183—Call or contact centers with computer-telephony arrangements
Definitions
- the disclosure relates to the field of contact center technology, specifically to the field of cloud-implemented automated callback systems.
- callback scheduling systems While various types of callback scheduling systems exist, they are limited to basic scheduling functions such as queuing for callbacks by the next available agent or callbacks based on consumer indications of appropriate callback times. These systems can keep track of repeated interactions with consumers either by identifying the consumer's phone number or account, or by assigning repeated interactions to ticket numbers specific to a particular reason for the interaction. However, other than tracking these repeated interactions so that agents can see the history of interactions, these systems do not account for the complexity of on-going conversations with consumers and have no ability to determine when and how to establish further communications with consumers so as to maximize the relationship between the consumer and a given brand.
- the system comprises a connection management services layer which determines what communications should be established and how they should be established, an initiation management services layer which determines when communications should be established, and a user management services layer which stores information about consumers and brands for determination of when and how communications should be established.
- Certain of these services have machine learning algorithms incorporated into them trained to perform analyses of the particular type of operation handled by that service.
- the outputs of each service can be used as inputs to other services, such that a network of machine learnings algorithms is created which, when operated together, determines when and how to establish on-going communications with consumers so as to maximize the relationship between the consumer and a given brand.
- an adaptive cloud conversation platform comprising: a computing device comprising a memory, a processor, and a non-volatile data storage device; a consumer profile database stored on the non-volatile data storage device, the consumer profile database comprising one or more consumer profiles; a survey manager comprising a first plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to: receive conversation data for a conversation with a consumer, the conversation data comprising an interaction between the consumer and a brand and satisfaction data for the conversation; process the conversation data through a first machine learning algorithm to obtain a survey strategy, the survey strategy comprising a determination that a survey of the consumer should be conducted and a type of survey to be conducted; and forward the survey strategy to a conversation manager; a conversation manager comprising a second plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to: receive the survey strategy; retrieve a consumer profile for the consumer from the consumer profile database, the consumer profile comprising a plurality
- method for operating an adaptive cloud conversation platform comprising the steps of: using a survey manager operating on a computing device comprising a memory, a processor, and a non-volatile data storage device to: receive conversation data for a conversation with a consumer, the conversation data comprising an interaction between the consumer and a brand and satisfaction data for the conversation; process the conversation data through a first machine learning algorithm to obtain a survey strategy, the survey strategy comprising a determination that a survey of the consumer should be conducted and a type of survey to be conducted; and forward the survey strategy to a conversation manager; a conversation manager comprising a second plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to: receive the survey strategy; retrieve a consumer profile for the consumer from a consumer profile database stored on the non-volatile data storage device, the consumer profile database comprising one or more consumer profiles, and the consumer profile comprising a plurality of preferences of the consumer; process the plurality of preferences through a second machine learning algorithm to select a channel through
- the survey manager is further configured to: receive survey feedback from the consumer; process the survey feedback through the first machine learning algorithm to determine whether a callback is recommended based on the survey feedback; and forward the determination to the conversation manager;
- the conversation manager is further configured to: receive the determination; retrieve the consumer profile; process the plurality of preferences through the second machine learning algorithm to select a channel through which to conduct the callback with the consumer;
- the schedule manager is further configured to: receive the channel selection from the conversation manager; retrieve the consumer profile; process the plurality of preferences through the third machine learning algorithm to select a time at which to conduct the callback with the consumer through the selected channel; schedule a callback to be conducted with the consumer at the selected time through the selected channel; and forward the survey schedule to the callback manager;
- the callback manager is further configured to: receive the callback schedule; and execute the callback by conducting the callback at the selected time through the selected channel as indicated in the callback schedule.
- a consumer context manager is used to: receive the conversation data; retrieve the consumer profile, the consumer profile further comprising a plurality of behaviors of the consumer; process the conversation data and the plurality of behaviors of the consumer through a fourth machine learning algorithm to determine whether a second callback to the consumer should be made; and where the determination is that a second callback should be made, forward the determination to the conversation manager as the determination that a callback should be made to a consumer.
- a session manager is used to: receive the conversation data; process the conversation data through a fifth machine learning algorithm to determine a consumer sentiment; and forward the determined sentiment to the consumer context manager as an additional input to the fourth machine learning algorithm's determination as to whether a callback to the consumer should be made.
- the conversation manager is further configured to: process the conversation data through a sixth machine learning algorithm to determine a consumer goal, need, or intent; and forward the determined goal, need, or intent to the consumer context manager as an additional input to the fourth machine learning algorithm's determination as to whether a callback to the consumer should be made.
- an event rules database is stored on the non-volatile data storage device, the event rules database comprising rules for triggering communications with consumers based on events occurring outside of a conversation; and an event manager is used to: receive notification of an event; match the event to a rule in the event rules database; and forward the matched event to the conversation manager as the determination that a callback should be made to the consumer.
- the event manager is further configured to: retrieve the consumer profile; process the consumer profile and one or more rules from the event rules database through an eighth machine learning algorithm to determine a new rule for triggering communications with the consumer; and store the new rule in the event rules database.
- a brand environment database is stored on the non-volatile data storage device, the brand environment database comprising brand information related to conversations with consumers of the brand; and an environment manager is used to: retrieve the consumer profile; retrieve the brand information from the brand environment database; process the consumer profile and the brand information through a ninth machine learning algorithm to determine whether a campaign of communications should be established with a plurality of consumers; and forward the determination to the conversation manager as the determination that a callback should be made to the consumer.
- a consumer manager is used to: retrieve the consumer profile for the consumer from the consumer profile database; receive a fitness parameter from the environment manager; process the consumer profile and the fitness parameter through a tenth machine learning algorithm to identify opportunities for proactive conversations with the consumer; and forward the identified opportunities to the consumer context manager as an additional input to the second machine learning algorithm's selection of the channel through which the callback should be made.
- FIG. 1 is a block diagram illustrating an exemplary system architecture for an adaptive cloud conversation platform connected to brand endpoints comprising contact centers.
- FIG. 2 is a block diagram illustrating an exemplary system architecture for an adaptive cloud conversation platform connected to brand endpoints comprising a cloud-based server with remote agents.
- FIG. 3 is a block diagram illustrating an exemplary architecture for a multiple-instance adaptive cloud conversation platform connected to brand endpoints comprising a cloud-based server with remote agents and a broker server intermediary.
- FIG. 4 is a block diagram illustrating an exemplary system architecture for a conversation manager aspect of an adaptive cloud conversation platform.
- FIG. 5 is a block diagram illustrating an exemplary system architecture for a session manager aspect of an adaptive cloud conversation platform.
- FIG. 6 is a block diagram illustrating an exemplary system architecture for an event manager aspect of an adaptive cloud conversation platform.
- FIG. 7 is a block diagram illustrating an exemplary system architecture for a media server aspect of an adaptive cloud conversation platform.
- FIG. 8 is a block diagram illustrating an exemplary system architecture for a consumer manager aspect of an adaptive cloud conversation platform.
- FIG. 9 is a block diagram illustrating an exemplary system architecture for a schedule manager aspect of an adaptive cloud conversation platform.
- FIG. 10 is a block diagram illustrating an exemplary system architecture for an environment manager aspect of an adaptive cloud conversation platform.
- FIG. 11 is a block diagram illustrating an exemplary system architecture for a machine learning algorithm network aspect of an adaptive cloud conversation platform.
- FIG. 12 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for on-going session analysis.
- FIG. 13 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for callback mode analysis.
- FIG. 14 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for proactive conversation analysis.
- FIG. 15 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for callback planning.
- FIG. 16 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for event context analysis.
- FIG. 17 is a flow diagram illustrating an exemplary use case examples for an adaptive cloud conversation platform.
- FIG. 18 is a block diagram illustrating an exemplary system architecture for an adaptive cloud conversation platform connected to brand endpoints comprising contact centers.
- FIG. 19 is a block diagram illustrating an exemplary system architecture for a survey manager aspect of an adaptive cloud conversation platform.
- FIG. 20 is a block diagram illustrating an exemplary system architecture for a machine learning algorithm network aspect of an adaptive cloud conversation platform.
- FIG. 21 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for survey context manager.
- FIG. 22 is a block diagram illustrating an exemplary hardware architecture of a computing device.
- FIG. 23 is a block diagram illustrating an exemplary logical architecture for a client device.
- FIG. 24 is a block diagram showing an exemplary architectural arrangement of clients, servers, and external services.
- FIG. 25 is another block diagram illustrating an exemplary hardware architecture of a computing device.
- the system comprises a connection management services layer which determines what communications should be established and how they should be established, an initiation management services layer which determines when communications should be established, and a user management services layer which stores information about consumers and brands for determination of when and how communications should be established.
- Certain of these services have machine learning algorithms incorporated into them trained to perform analyses of the particular type of operation handled by that service.
- the outputs of each service can be used as inputs to other services, such that a network of machine learnings algorithms is created which, when operated together, determines when and how to establish on-going communications with consumers so as to maximize the relationship between the consumer and a given brand.
- the platform is made adaptive through the use of one or more machine learning algorithms, each trained to analyze data pertaining to a particular set of aspects of a conversation and make recommendations within the context of those aspects.
- each machine learning algorithm is part of one or more platform components, and configured as a context manager for that component, receiving data pertaining to the particular set of aspects of a conversation for which that component is designed, and making recommendations within the context of that component.
- a session manager component may have a machine learning algorithm which receives a real-time transcript of an on-going audio conversation between a consumer and agent, and which proposes responses for the agent based on current consumer statements, history of interactions with the consumer, consumer stored preferences, databases of similar conversations with other consumers, etc.
- the outputs of the machine learning algorithm of one components may be used an inputs to a machine learning algorithm of another component, creating a network of machine learning algorithms.
- the system adapts to conversations by listening to current conversations, learning from the current conversation and past conversations, changing its operation in response to changes in context or conditions, and adapting to new situations through the inherent predictive capabilities of machine learning algorithms.
- the platform adapts in response to incoming data by recommending proactive conversation actions such as a current conversation or recent interactions.
- the platform adapts (or evolves) by gradually incorporating newer information into its machine learning algorithms by periodic or continuous re-training based on the newer information. The platform thus become smarter over time about conversations in general and about conversations with specific consumers in particular.
- Consumer surveys are an important part of managing relationships between brands and their consumers. While consumer satisfaction can be inferred from interactions with consumers, receiving explicit feedback from consumers on their own time and in their preferred communication channels can be important for determining consumer satisfaction. For example, consumers who are hesitant to express dissatisfaction in an in-person communication with an agent such as a phone call may be more likely to express that dissatisfaction in a more remote communication such as a survey. Thus, surveys can lead to more honest feedback from consumers in certain situations.
- surveys can also lead to exaggerations of satisfaction or dissatisfaction from consumers, as consumers may be more likely to provide extreme feedback (e.g., one star out of five) in situations where there is not a live person on the other end of the communication who could be offended (such as an agent). So, it is useful to determine how and when to conduct consumer surveys so as to maximize the honesty and accuracy of consumer feedback.
- Factors to be taken into account in such determinations include, but are not limited to, the type of survey to be conducted, the channels of communication through which the survey is to be conducted, the consumer's preferences (e.g., channels, time of day, days of the week, etc.), whether the survey has been triggered by a specific event (e.g., the purchase of a product), and whether the consumer has left previous feedback (especially where the feedback is recent and negative).
- Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise.
- devices that are in communication with each other may communicate directly or indirectly through one or more communication means or intermediaries, logical or physical.
- steps may be performed simultaneously despite being described or implied as occurring non-simultaneously (e.g., because one step is described after the other step).
- the illustration of a process by its depiction in a drawing does not imply that the illustrated process is exclusive of other variations and modifications thereto, does not imply that the illustrated process or any of its steps are necessary to one or more of the aspects, and does not imply that the illustrated process is preferred.
- steps are generally described once per aspect, but this does not mean they must occur once, or that they may only occur once each time a process, method, or algorithm is carried out or executed. Some steps may be omitted in some aspects or some occurrences, or some steps may be executed more than once in a given aspect or occurrence.
- Callback refers to contact by a brand to a consumer after some interaction or attempted interaction between the consumer and the brand.
- the term callback is not limited to telephone communications, and includes any form of communication whether in person or via electronic means such as, but not limited to, phone, voice-over-Internet-protocol (VOIP), email, short message service (SMS), and online messaging platforms.
- VOIP voice-over-Internet-protocol
- SMS short message service
- Consumer as used herein means a potential buyer or consumer of products and/or services.
- a consumer may be a person, group of persons, or a legal entity such as a company.
- Conversation means a series of communications between at least one brand and at least one consumer.
- a conversation may comprise many sessions, may use many different forms of communication (e.g., phone, email, SMS), and may span long periods of time.
- conversations may be grouped into themes (e.g., a “ticket” related to a problem as used in some technical service systems), but the term conversation as used herein is not so limited and may span any number of themes.
- a conversation involves communication between at least one consumer and one brand, but is not limited to communications between single brand and a single consumer, and may involve other brands or third parties, as well.
- a conversation may involve two consumers (a buyer and a seller), as well as multiple brands (the seller's agent or broker, the buyer's agent or broker, a lender, a title company, an escrow company, etc.).
- Session as used herein means a single communication between at least one brand and at least one consumer.
- a session involves communication between at least one consumer and one brand, but is not limited to communications between single brand and a single consumer, and may involve other brands or third parties, as well.
- a session may involve two consumers (a buyer and a seller), as well as multiple brands (the seller's agent or broker, the buyer's agent or broker, a lender, a title company, an escrow company, etc.).
- FIG. 1 is a block diagram illustrating an exemplary system architecture for an adaptive cloud conversation platform connected to brand endpoints comprising contact centers.
- the adaptive cloud conversation platform (ACCP) 100 is designed to provide automated, machine-learning-algorithm-supported complex conversation support to brands to establish, enhance, and maintain relationships with their consumers. Its capabilities exceed those of traditional callback systems or customer relationship management systems in that it is designed not just to keep records of past interactions between a given brand and a given consumer and schedule callbacks from the brand to the consumer, but to manage the entirety of complex conversations that may occur between consumers and brands, including conversations involving multiple consumers and multiple brands.
- the adaptive cloud conversation platform 100 therefore, manages complex conversations, possibly over an extended period of time, between one or more brand endpoints 150 of a brand and one or more consumer endpoints 140 of a consumer or consumers.
- the consumer endpoints 140 may be any device used by a consumer for communications including, but not limited to plain old telephone service (POTS) 142 , mobile phones or smartphones 143 , tablet computers 144 , laptop computers 145 , and desktop computers 146 . While not shown here, in-person communications (without devices) is also considered to be a consumer endpoint 140 (e.g., in some cases, the adaptive cloud conversation platform 100 may recommend in-person communications for certain sessions).
- POTS plain old telephone service
- Consumer-side communication channels 141 between the consumer endpoints 140 and the adaptive cloud conversation platform 100 may be established or triggered through any means supported by the consumer endpoints 140 including, but not limited to, voice, virtual assistants (VAs), chatbots, web sessions, electronic beacons placed in physical locations such as store displays, and geofenced triggers.
- VAs virtual assistants
- chatbots web sessions
- electronic beacons placed in physical locations such as store displays
- geofenced triggers e.g., a geofenced triggers.
- the brand endpoints 140 may be any device used by a consumer for communications including, but not limited to plain old telephone service (POTS) 161 , mobile phones or smartphones 162 , tablet computers 163 , laptop computers 164 , and desktop computers 165 . While not shown here, in-person communications (without devices) is also considered to be a brand endpoint 140 (e.g., in some cases, the adaptive cloud conversation platform 100 may receive data from an in-person purchase at a brand-owned store). In this embodiment, the brand endpoints 150 are located at a contact center 160 which handles consumer relations for the brand, either as a brand-owned contact center or a third party contact center service.
- POTS plain old telephone service
- in-person communications is also considered to be a brand endpoint 140 (e.g., in some cases, the adaptive cloud conversation platform 100 may receive data from an in-person purchase at a brand-owned store).
- the brand endpoints 150 are located at a contact center 160 which handles consumer relations for the brand, either as a brand-owned contact center
- brand endpoints in some cases may be conversation bots 170 (also known as chatbots or interactive voice response (IVR) systems) instead of human agents.
- Brand-side communication channels 151 between the brand endpoints 150 and the adaptive cloud conversation platform 100 may be established or triggered through any means supported by the brand endpoints 150 including, but not limited to, voice, virtual assistants (VAs), chatbots, web sessions, electronic beacons placed in physical locations such as store displays, and geofenced triggers.
- VAs virtual assistants
- chatbots web sessions
- electronic beacons placed in physical locations such as store displays
- geofenced triggers geofenced triggers.
- the system can be conceived of as comprising a conversation manager 400 , a connection management services layer 110 , an initiation management services layer 120 , and a user management services layer 130 .
- certain components within each of these layers may perform some aspects of other layers, so there can be cross-over between layers in some cases.
- the functionalities of certain components described herein may be performed by other components, depending on platform configuration.
- the conversation manager 400 is the component that determines the scope of each conversation and manages overall communications between the components at each layer accordingly, although data may still be passed directly from component to component.
- the connection management services layer 110 generally determines what communications should be established and how they should be established (often referred to herein as a “mode” of communications).
- the connection management services layer 110 comprises a media server 700 which establishes communications between consumer endpoints 140 and brand endpoints 150 and performs any necessary media translations (e.g., automated speech recognition, text to speech, etc.), a session manager 500 which assigns session identifiers, instructs the media server 700 to establish connections, and handles all incoming, outgoing, and stored data associated with each session, and a callback manager 111 which executes callbacks initiated by the initiation management services layer 120 by instructing the session manager 500 to initiate a callback.
- media server 700 which establishes communications between consumer endpoints 140 and brand endpoints 150 and performs any necessary media translations (e.g., automated speech recognition, text to speech, etc.)
- a session manager 500 which assigns session identifiers, instructs the media server 700 to establish connections, and handles all incoming, outgoing, and stored data associated with each session
- a callback manager 111 which executes callbacks initiated by the initiation management services layer 120 by instructing the session manager 500 to initiate
- the initiation management services layer 120 determines when communications should be established.
- the initiation management services layer 120 comprises an event manager 600 which initiates callbacks based on events occurring outside of a session, and a schedule manager 900 which determines when communications should be established and schedules callbacks based on the determinations. Callbacks initiated by the event manager 600 and schedule manager 900 are passed up to the connection management service layer 110 and executed by the callback manager 111 .
- the user management services layer 130 stores information about consumers and brands for determination of when and how communications should be established.
- the user management services layer 130 comprises a consumer manager 800 which manages the profiles of consumers for use in establishing effective conversations with them, and an environment manager 1000 which stores information about brands including operations information and analysis, locations and status of communications infrastructure, and customer relationship management (CRM) information, plus and event thrower which can trigger scheduling of callbacks by sending instructions up to the initiation management services layer 120 for event rule establishment by the event manager 600 or scheduling by the schedule manager 900 .
- CRM customer relationship management
- Certain of these services have machine learning algorithms incorporated into them trained to perform analyses of the particular type of operation handled by that service.
- the outputs of each service can be used as inputs to other services, such that a network of machine learnings algorithms is created which, when operated together, determines when and how to establish on-going communications with consumers so as to maximize the relationship between the consumer and a given brand.
- FIG. 2 is a block diagram illustrating an exemplary system architecture for an adaptive cloud conversation platform connected to brand endpoints comprising a cloud-based server with remote agents.
- the adaptive cloud conversation platform 100 is the same as described above in FIG. 1 , but the interface with the brand endpoints is different.
- the brand endpoints 150 are remote agents managed through a cloud-based server 260 instead of being on-site agents at a contact center 160 .
- FIG. 3 is a block diagram illustrating an exemplary architecture for a multiple-instance adaptive cloud conversation platform connected to brand endpoints comprising a cloud-based server with remote agents and a broker server intermediary.
- a plurality of adaptive cloud conversation platforms (ACCPs) 100 a - n are managed by a broker server 180 .
- the broker server 180 mediates between brands and adaptive cloud conversation platform instances 100 a - n .
- this embodiment supports a federated conversation arrangement where a consumer can interact with multiple brands through a single ACCP, or where one brand can use different ACCP instances to handle callbacks, or a combination of the two.
- FIG. 4 is a block diagram illustrating an exemplary system architecture for a conversation manager aspect of an adaptive cloud conversation platform.
- the conversation manager 400 is responsible for determining the scope of conversations and for overall coordination of conversations with other components of the platform based on the scope.
- the conversation manager 400 comprises a conversation scope manager 410 , a conversation context manager 420 , a conversation script manager 430 , and a conversation management database 440 .
- the conversation scope manager 410 is responsible for determining and managing the scope of conversations.
- the conversation scope manager interfaces with other components of the system to either receive information about current or scheduled conversations or to direct initiation of conversations.
- the conversation scope manager interfaces with the event manager to establish rules for triggering events and to receive notification of events that have been triggered, the schedule manager to schedule callbacks and receive notification of callbacks due for initiation, the session manager to initiate callbacks and receive data regarding on-going callbacks, the consumer manager to store and retrieve consumer profile data, and the environment manager to receive brand-established rules, fitness parameters, and other brand-related information.
- the conversation scope manager 410 is responsible for determining the scope of a given conversation through the use of global and local variables. For example, consumers may be assigned a global variable such that they are recognized throughout all components of the platform and at all stages. However, local scope variables may be assigned for each conversation, session, event, brand campaign, etc., to decrease dependencies within the platform, to separate conversations, to decrease the likelihood of data corruption, and to reduce overall complexity of the platform. For example, if a conversation starts between a buyer's real estate agent (brand) and the buyer (consumer), a scope will be assigned to that conversation.
- the conversation scope manager 410 keeps track of conversations, sessions, participants, and scopes, and stores them in the conversation management database 440 for later use.
- the conversation context manager 420 is responsible for analyzing the context of conversations and, in particular, for determining the goals, needs, or intents of consumers for the purpose of recommending an action (e.g., scheduling a callback, changing modes of conversation, etc.).
- the conversation context manager incorporates a trained machine learning algorithm which receives conversation related data and determines a goal, need, or intent of the consumer using a goals and intents identifier 421 and recommends a corresponding action using an action generator 422 .
- the training and operation of the machine learning algorithm is described later herein.
- the output of the conversation context manager 420 may be fed to other components for actions to be taken (e.g., a recommendation to schedule a callback by phone with a particular agent may be sent to the schedule manager to schedule the callback) or may be fed to the machine learning algorithms of other components for further analysis (e.g., a determination that a consumer is dissatisfied with the current line of discussions with an agent may be sent to the session context manager 520 for proposal of a different set of responses).
- the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two.
- the conversation script manager 430 contains a library of conversation scripts against which transcripts of conversations may be compared for analysis purposes or from which conversation scripts can be drawn in order to respond to on-going sessions.
- Conversation scripts may be in the form of relational databases which associate consumer queries with agent (or chatbot) responses, and may further include associations with context such as the goals, needs, and intents of a consumer, which may be used with the outputs of the conversation context manager 420 to provide appropriate responses to consumer queries.
- FIG. 5 is a block diagram illustrating an exemplary system architecture for a session manager aspect of an adaptive cloud conversation platform.
- the session manager is responsible for handling of communication sessions including assigning of session identifiers, instructing the media server 700 to establish connections, and handling all incoming, outgoing, and stored data associated with each session.
- the session manager comprises a session scope manager 510 , a session context manager 520 , a session state manager 530 , a session receiver 540 , and a session initiator 550 .
- the session scope manager 510 is responsible for implementing the session within its defined scope as determined by the conversation scope manager 510 .
- the conversation manager 400 directs the session scope manager 510 to initiate communications with a consumer, the directions from the conversation manager 400 will contain the session scope.
- the session scope manager 510 will send session data to the conversation manager 400 for determination of the session scope.
- the session scope may be a phone call between a buyer and a buyer's agent in the context of a larger conversation about a real estate transaction.
- the session context manager 520 is responsible for analyzing the context of conversations and, in particular, for determining the sentiment of a consumer during the session using text of the session provided by the media server 700 .
- the session context manager 520 incorporates a trained machine learning algorithm which receives session related data and determines a sentiment of the consumer using a sentiment analyzer 521 and recommends a corresponding action using an action generator 522 .
- the training and operation of the machine learning algorithm is described later herein.
- the output of the session context manager 520 may be fed to other components for actions to be taken (e.g., a recommendation to escalate a conversation by switching modes from chat to a voice-based phone call) or may be fed to the machine learning algorithms of other components for further analysis (e.g., a determination that a consumer is satisfied with the current line of discussions with the current call, and may be receptive to additional offers, which action may be sent to the environment manager 1000 for consideration of follow up offers).
- the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two.
- the session state manager 530 stores state information such as the current session scope, whether the session is on-going or completed, what type of connection(s) are being used at the consumer endpoints 140 and brand endpoints 150 , the contact information used to establish the connection(s), etc.
- state information such as the current session scope, whether the session is on-going or completed, what type of connection(s) are being used at the consumer endpoints 140 and brand endpoints 150 , the contact information used to establish the connection(s), etc.
- the data stored in the session state manager 530 is sent to the conversation manager 400 for storage within the overall conversation (e.g., updates to the consumer profile, the brand CRM information, etc.).
- the session receiver 540 receives communications initiated by the consumer and initiates a session by notifying the session scope manager 510 . For example, if a consumer makes a phone call to a brand, the session receiver receives data about the phone call (e.g., consumer's phone number) from the media server, and notifies the session scope manager 510 which coordinates with the session scope with the conversation manager 400 .
- data about the phone call e.g., consumer's phone number
- the session initiator 550 receives directions from the session scope manager 510 to initiate a session, and directs the media server 700 to make the appropriate communiation connections.
- FIG. 6 is a block diagram illustrating an exemplary system architecture for an event manager aspect of an adaptive cloud conversation platform.
- the event manager 600 initiates callbacks based on events occurring outside of a session based on established event rules (e.g., callbacks on a consumer's birthday; promotional events established by a brand) or external events (e.g., a consumer's purchase of a product from a brand; weather events in the consumer's area that might suggest purchase of a product such as snow tires prior to a snow storm).
- Callbacks initiated by the event manager 600 are passed up to the connection management service layer 110 and executed by the callback manager 111 .
- the event manager 600 comprises an event handler 610 , an event context manager 620 , an event script database 630 , an event rules database 640 , and an event thrower 650 .
- the event handler 610 is responsible for triggering communication sessions based on events outside of a current session based on established event rules or external events. It does so by monitoring event notifications received from other components in the system, from outside sources (e.g., news websites, weather websites, etc.), or from schedules to determine whether any of the event notifications trigger a rule stored in the event rules database 640 .
- Such rules may be simple (e.g., contact a consumer on his/her birthday) or complex (e.g., offer snow tires to consumers living in a certain geographical area during the winter season when weather reports indicate snow in that geographical area within the next week).
- a corresponding event script is retrieved from an event script database 630 , the event script providing instructions for handling of the event (e.g., send out a broadcast email to all affected consumers), which instructions are sent to an event thrower 650 which implements the script by throwing an event with an event action to the communication manager 400 .
- the event context manager 620 analyzes established rules and external events to identify additional relationships between the rules, external events, and consumers.
- the event context manager 620 incorporates a trained machine learning algorithm which receives conversation related data and identifies additional relationships (possibly unknown or hidden) using a rules analyzer 621 and an external events analyzer 622 , and recommends a corresponding action using an action generator 322 .
- the training and operation of the machine learning algorithm is described later herein.
- the output of the event context manager 620 may be fed to other components for actions to be taken (e.g., a recommendation offer other winter-related products to certain consumers in addition to snow tires) or may be fed to the machine learning algorithms of other components for further analysis (e.g., forwarding of the identified additional relationships to the environment manager 1000 for analysis). In this way, the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two.
- FIG. 7 is a block diagram illustrating an exemplary system architecture for a media server aspect of an adaptive cloud conversation platform.
- the media server 700 establishes communications between consumer endpoints 140 and brand endpoints 150 and performs any necessary media translations (e.g., automated speech recognition, text to speech, etc.).
- the media server 700 comprises communications interfaces 710 , a text-to-speech engine 720 , an automated speech recognition engine 730 , and a bot interface manager 740 .
- the communications interfaces 710 comprise communications channels on both the consumer side 711 a - n and the brand endpoint side 712 a - n , including, but not limited to text channels 711 a , 711 b for chat windows and short message service (SMS) messages, email channels 711 b , 712 b for sending and receipt of commuications via email, phone channels 711 c , 712 c for communications via plain old telephone service (POTS) lines, and voice-over-Internet-protocol (VOIP) channels 711 n , 712 n for voice communications over the Internet.
- the communications interfaces 710 may also contain hardware and software for conversion of one type of channel on one end to a different type of channel on the other end.
- the audio of a call from a consumer who calls using a POTS phone channel 711 c may be converted to a VOIP channel 712 n on the brand end, and vice-versa, so as to facilitate communications between different channels on either end.
- text-based channels 711 a - b , 712 a - b may be converted to audio channels 711 c - n , 712 c - n and vice-versa by using the automated speech recognition (ASR) engine 730 to convert spoken audio to text and by using the text-to-speech (TTS) engine 720 to convert text to spoken audio.
- ASR automated speech recognition
- TTS text-to-speech
- the text-to-speech engine 720 may further be used to convert spoken audio to text for analysis by other components such as the session manager 500 or the conversation manager 400 . This may be done in near-real-time or may be done with a delay such as by recording the audio and converting the recorded audio at a later time.
- the bot interface manager 740 is used to relay communications from the brand-side communications interfaces 712 a, b to an appropriate conversation bot (e.g., a text-based chatbot or to an appropriate audio-based interactive voice response (IVR) system or virtual assistant such as Siri, Alexa, or similar). Where the conversation bot is a third party conversation bot such as Siri or Alexa, the bot interface manager 740 also forwards the consumer-bot communications the brand for integration into its CRM database and other systems, or for handling by an agent at a brand endpoint 150 if the call is later transferred to such agent.
- an appropriate conversation bot e.g., a text-based chatbot or to an appropriate audio-based interactive voice response (IVR) system or virtual assistant such as Siri, Alexa, or similar.
- the bot interface manager 740 also forwards the consumer-bot communications the brand for integration into its CRM database and other systems, or for handling by an agent at a brand endpoint 150 if the call is later transferred to such agent.
- FIG. 8 is a block diagram illustrating an exemplary system architecture for a consumer manager aspect of an adaptive cloud conversation platform.
- the consumer manager 800 manages the profiles of consumers for use in establishing effective conversations with them, and engages in proactive conversation analysis to determine whether a proactive communication with a consumer should be initiated.
- the consumer manager 800 comprises a profile manager 810 , a consumer profile database 820 , and a consumer context manager 830 .
- the profile manager 810 handles all consumer data updates received either from the consumer or from other components of the system, and stores and retrieves information from consumer profiles in the consumer profile database 820 and forwards this information to other platform components, as needed.
- Consumer profiles may contain any information relevant to a consumer, his or her relationships with one or more brands, and any conversations in which the consumer has taken part. This includes, but is not limited to, the name, address, phone number, and other identifying information of the consumer; brands with whom the consumer has interacted and histories of such interactions, including product/service inquiries, product/service purchases and returns, and product/service reviews and comments; and logs and recordings of conversations, analyses of such conversations to determine wants, needs, intents, and goals, and lists of other consumers with whom the consumer has had conversations and their relationships.
- each consumer will have a single, unique profile for all conversations and all brands. In other embodiments, more than one profile may be established for a given consumer, depending on the configuration (e.g., a profile may be established for each brand with whom the consumer has had one or more conversations).
- the profile manager 810 notifies the event manager 810 of changes to the state of the profile (e.g., a change in a consumer's address) that may impact event rules.
- the consumer context manager 830 learns about the consumer's behaviors and preferences in relation to events and brand attributes that are associated with consumer behaviors.
- Consumer behaviors and preferences include, but are not limited to, types and amounts of products and services purchased, dates and times of purchases, types and amounts of entertainment media consumed (e.g., computer games, television crime series, documentaries), interests indicated by certain purchases (e.g., purchases of season tickets to a baseball stadium indicate an interest in sports, especially baseball).
- Consumer behaviors and preferences may be implied (e.g., the purchase of baseball tickets implies an interest in baseball) or expressed (e.g., “I like watching baseball.”).
- the consumer behaviors and preferences are likely to be associated with certain events and/or brand attributes.
- the consumer context manager 830 incorporates a trained machine learning algorithm which recommends conversations with consumers based on predicted associations between consumer behaviors and preferences and events and/or brand attributes. The training and operation of the machine learning algorithm is described later herein.
- the output of the consumer context manager 830 may be fed to other components for actions to be taken (e.g., scheduling of a sales call based on an upcoming event to which the consumer may be responsive) or may be fed to the machine learning algorithms of other components for further analysis (e.g., to the conversation manager to determine the best mode of starting the a conversation based on the upcoming event).
- the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two.
- FIG. 9 is a block diagram illustrating an exemplary system architecture for a schedule manager aspect of an adaptive cloud conversation platform.
- the schedule manager 900 determines when communications should be established and schedules callbacks based on the determinations.
- the schedule manager 900 comprises a callback scheduler 910 , a callback planner 911 , a rules scheduler 920 , an agent scheduler 930 , and a schedule forecaster.
- the callback scheduler 910 receives requests to schedule callbacks from other platform components and determines when the callback should be made based on consumer preferences and availability from the consumer profile, rules for scheduling callbacks set forth in the rules scheduler 920 , agent availabilities set forth in an agent scheduler 930 , and forecasts made by the schedule forecaster 940 of when the consumer and agent will be mutually available if and when certain rules are active.
- the determination of when the callback should be made is performed by the callback planner 911 .
- the callback planner 911 is responsible for analyzing the data set forth above and determining when to schedule the call.
- the callback planner 911 incorporates a trained machine learning algorithm which receives the above data and predicts one or more preferred callback times, which are then placed into the schedule by the callback scheduler 910 .
- the training and operation of the machine learning algorithm is described later herein.
- the output of the callback planner 911 may be fed to other components for actions to be taken (e.g., a change in event rules of the event manager 600 ) or may be fed to the machine learning algorithms of other components for further analysis although, in this embodiment, the callback scheduler is the final destination of the determinations of all other machine learning algorithms. In this way, the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two.
- FIG. 10 is a block diagram illustrating an exemplary system architecture for an environment manager aspect of an adaptive cloud conversation platform.
- the environment manager 1000 stores information about brands including operations information and analysis, locations and status of communications infrastructure, and customer relationship management (CRM) information, which can be used to trigger scheduling of callbacks by sending instructions up to the initiation management services layer 120 for event rule establishment by the event manager 600 or scheduling by the schedule manager 900 .
- the environment manager 1000 comprises an operations manager 1010 , an environment context manager 1020 , a customer relationship management (CRM) database 1030 , an event thrower 1040 , and a brand environment database 1050 .
- CRM customer relationship management
- the operations manager 1010 contains an interface through which brands can enter or upload their brand environment data and customer relationship management (CRM) data.
- the brand environment data is information about the brand useful for management of conversations with consumers and may include, but is not limited to, infrastructure data (e.g., sales locations; contact center locations, capacities, and capabilities, etc.), operational data (e.g., current and scheduled call volumes, etc.), product/service information, fitness parameters (e.g., average 90% retention rate for consumers), all of which is stored in the brand environment database 1050 .
- the CRM data is information about the consumers and their contacts with the brand and includes, but is not limited to, consumer identifications and contact information, histories of interactions with the brand, and products and services purchased, all of which is stored in the CRM database 1030 . Note that the information stored in the CRM database 1030 may be exported to and duplicated in the consumer profile database 820 .
- the environment context manager 1020 is responsible for analyzing the information contained in the brand environment database 1050 and CRM database 1030 to determine whether a campaign of communications should be established with a plurality of consumers.
- the environment context manager 1020 incorporates a trained machine learning algorithm which analyzes the information brand environment database 1050 and CRM database 1030 using an environment analyzer 1021 , further determines whether there are appropriate operational resources (e.g., agents with appropriate skills, sufficient contact center capacity given current or predicted call volumes, etc.) using an operations analyzer 1022 , and recommends a corresponding action using an action generator 1023 .
- the training and operation of the machine learning algorithm is described later herein.
- the output of the environment context manager 1020 may be fed to other components for actions to be taken (e.g., a recommendation to schedule a callbacks by phone with a plurality of consumers may be sent to the schedule manager to schedule the callbacks) or may be fed to the machine learning algorithms of other components for further analysis (e.g., a request to determine a best mode of communication may be sent to the conversation manager for analysis).
- actions to be taken e.g., a recommendation to schedule a callbacks by phone with a plurality of consumers may be sent to the schedule manager to schedule the callbacks
- machine learning algorithms of other components for further analysis e.g., a request to determine a best mode of communication may be sent to the conversation manager for analysis.
- the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two.
- the event thrower 1040 throws events to other platform components with instructions to schedule or establish communications with a consumer either associated with an existing conversation or a new conversation.
- FIG. 11 is a block diagram illustrating an exemplary system architecture for a machine learning algorithm network aspect of an adaptive cloud conversation platform.
- This diagram shows the machine learning algorithm (MLA) of each platform component and an exemplary configuration of such MLAs into a network of MLAs for complex decision-making related to conversations.
- the MLA network comprises the session context manager 520 , the conversation context manager 420 , the environment analyzer 1050 , the event context manager 620 , the callback planner 911 , and the consumer context manager, arranged in a network such that the outputs of certain MLAs can be used as inputs to other MLAs to make more complex or refined decisions than are possible using a single MLA.
- the components of the MLA network are arranged conceptually into three overall types of analysis.
- On-going session analyses 1110 i.e., what is happening in the current communication
- Callback mode analyses 1120 i.e., how a call should be made, what channels, etc.
- Callback timing analyses 1130 i.e.g, when a call should be made
- the event context manager 620 the callback planner 911 , and the consumer context manager 830 .
- the session context manager 520 receives real-time or near-real-time text data from the media server for any on-going calls, processes the data through one or more machine learning algorithms to perform sentiment analysis and then propose responses to the consumer based on the sentiment analysis.
- the proposed responses may be generated from unsupervised machine learning algorithms or reinforcement machine learning algorithms rather than supervised (i.e., pre-trained) machine learning algorithms.
- An unsupervised machine learning algorithm learns from the data itself by association, clustering, or dimensionality reduction, rather than having been pre-trained to discriminate between labeled input data.
- Reinforcement learning algorithms learn from repeated iterations of outcomes based on probabilities with successful outcomes being rewarded.
- the sentiment analysis and proposed responses may be provided to the conversation context manager 420 for performance of a goals, needs, and intents analysis.
- the session context manager 520 determines that the consumer's sentiment on the call is negative, the text data and the indication of negative sentiment may be analyzed by the conversation context manager 420 which may determine that the consumer actually wants to buy a replacement product rather than fix the existing one.
- This intent analysis can then be sent back to the session manager for proposal of an appropriate responses.
- the intent analysis can be sent to the callback planner 911 for scheduling of a callback from a salesperson who can sell the replacement product instead of the current agent trying to fix the product.
- the environment context manager 1020 may likewise determine whether and how to establish a conversation with a consumer by analyzing the information contained in the brand environment database 1020 and CRM database 1030 to determine whether a communication should be scheduled or established with a consumer based on data within the brand's environment.
- the outputs of the environment context manager 1020 may be sent to a consumer context manager 830 for determination as to whether a proactive conversation should be started based on the combination of environment context manager 1020 outputs and the information in the consumer profile database such as conversation histories.
- the recommendation is sent either to the conversation context manager 420 for determination of a best mode of communication or, if the mode is known or not of particular importance, to the callback planner 911 for determination of a best communication time.
- the consumer context manager 830 performs proactive conversation analysis based on consumer behaviors, consumer preferences, events associated with consumer behaviors and/or preferences, and brand attributes associated with consumer behaviors and/or preferences to determine whether a proactive conversation should be initiated with a consumer.
- the outputs of the consumer context manager 830 may be sent to the callback planner 910 for scheduling, or to the conversation context manager 420 for determination of a best mode of for initiating a proactive conversation.
- the event context manager's 620 machine learning algorithms may determine that a communication should be established based on a rule, external event, or analysis of rules or external events combined with information stored in the consumer profile database. In such a case, the outputs of the event context manager 620 are sent to the callback planner 911 for determination of a best communication time.
- FIG. 12 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for on-going session analysis.
- MSA supervised machine learning algorithm
- the machine learning algorithm is trained 1210 on labeled data such as sentiment libraries 1211 a , indications of consumer wants/needs in relation to certain words and phrases 1211 b , agent skills 1211 c , and interaction outcomes based on the above 1211 n .
- actual data is processed 1220 through the trained machine learning algorithm such as a statement from a real-time conversation transcript from the media server 1221 a , consumer profile data 1221 b , and brand/agent data 1221 n .
- the MLA outputs a prediction regarding the best response 1230 to the consumer's statement, and an action is taken based on the prediction 1240 such as having the agent use the preferred response 1241 a , escalating the call to a manager 1241 b , or sending the data to the conversation context manager for a goals, needs, and intents analysis 1241 n to better determine a response.
- As feedback data is received from the callback 1250 , it may be used to retrain the machine learning algorithm 1260 . Over time, the MLA will adapt its outputs to the retraining based on real-world data to provide more accurate predictions.
- FIG. 13 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for callback mode analysis.
- MSA supervised machine learning algorithm
- the machine learning algorithm is trained 1310 on labeled data such as session context manager outputs 1311 a , indications of consumer wants/needs in relation to certain words and phrases 1311 b , agent skills 1311 c , fitness parameters established by the brand 1311 d , and interaction outcomes based on the above 1311 n .
- actual data is processed 1320 through the trained machine learning algorithm such as session context manager outputs 1321 a , consumer profile data 1321 b , and brand/agent data 1321 n .
- the MLA outputs a prediction regarding the best mode of communication 1330 with the consumer, and an action is taken based on the prediction 1340 such as changing the approach to the conversation 1341 a , changing the channel of communication 1341 b , changing agents 1341 c , or sending the data to the callback planner to schedule a callback 1341 n to better determine a response.
- As feedback data is received from the callback 1350 , it may be used to retrain the machine learning algorithm 1360 . Over time, the MLA will adapt its outputs to the retraining based on real-world data to provide more accurate predictions.
- FIG. 14 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for proactive conversation analysis.
- MSA supervised machine learning algorithm
- the machine learning algorithm is trained 1410 on labeled data such as consumer behaviors 1411 a , consumer preferences 1411 b , events associated with consumer behaviors and/or preferences 1411 c , and brand attributes associated with consumer behaviors and/or preferences 1411 n .
- actual data is processed 1420 through the trained machine learning algorithm such as consumer profile data 1421 a , and event data 1421 b , and brand attribute data 1421 n .
- the MLA outputs a recommendation regarding a proactive conversation 1430 with the consumer, and an action is taken based on the prediction 1440 such as sending the data to the callback planner to schedule a conversation 1441 a or sending the data to the conversation context manager 1441 n to select a best mode for initiating a conversation.
- As feedback data is received from the callback 1450 , it may be used to retrain the machine learning algorithm 1460 . Over time, the MLA will adapt its outputs to the retraining based on real-world data to provide more accurate predictions.
- FIG. 15 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for callback planning.
- MLA supervised machine learning algorithm
- the machine learning algorithm is trained 1510 on labeled data such as consumer mode preferences 1511 b , consumer availabilities 1511 c , agent skills 1511 d , and agent availabilities 1511 n .
- actual data is processed 1520 through the trained machine learning algorithm such as proactive conversation analysis outputs 1521 a , conversation context manager outputs 1521 b , and event context manager outputs 1521 n .
- the MLA outputs a recommendation regarding a callback time 1530 with the consumer, and the recommendation is sent to the callback scheduler for scheduling 1540 .
- the callback scheduler for scheduling 1540 .
- As feedback data is received from the callback 1550 it may be used to retrain the machine learning algorithm 1560 . Over time, the MLA will adapt its outputs to the retraining based on real-world data to provide more accurate predictions.
- FIG. 16 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for event context analysis.
- MLA supervised machine learning algorithm
- the machine learning algorithm is trained 1610 on labeled data such as triggering events 1611 b , consumer profile information 1611 c , agent skills 1611 d , and interaction outcomes from the above 1611 n .
- actual data is processed 1620 through the trained machine learning algorithm such as triggering events 1621 a from the event manager, consumer profile data 1621 b , and available agent skills 1611 n .
- the MLA outputs a recommendation for a callback based on the triggering event 1630 , and the recommendation is sent to the callback scheduler to schedule a callback 1640 .
- the callback scheduler may be used to retrain the machine learning algorithm 1660 .
- the MLA will adapt its outputs to the retraining based on real-world data to provide more accurate predictions.
- FIG. 17 is a flow diagram illustrating an exemplary use case examples for a mindful cloud conversation platform.
- a consumer may request a callback based on a failed or delayed contact with a brand 1711 (e.g., being put on hold prior to speaking with an agent), and a callback is made either by the first available agent or according to another rule 1712 .
- the consumer may interact with the brand in some way (e.g., by making a purchase) that is entered into the brand environment database.
- a determination is made that a callback is warranted or would be useful as some future time (e.g., survey on the following day, survey after delivery of the product purchased) 1721 .
- a consumer might be having an active chat session with a brand and the session context manager detects dissatisfaction with the call due to negative sentiment 1731 .
- the chat session is escalated to a voice-based callback to mitigate the negative impact of the dissatisfying chat session 1732 .
- a consumer takes some action which generates a callback event such as making an in-person purchase and consenting to a callback at a later time 1740 ; getting lost on the way to a store, wherein the navigation system detects the off-route driving and offers a callback 1741 ; communicating with a virtual assistant such as Siri or Alexa, wherein the forwarding of the interaction from the bot interface manager 740 leads to a callback 1742 ; or a consumer passes by a near field communication (NFC) beacon on a physical display at a store, and consents to a callback sent to the consumer's mobile device by the beacon 1743 .
- NFC near field communication
- some pre-established rule triggers a callback such as when a desired product is in stock 1750 , when a desired agent is available 1751 , or when the consumer's position in a physical queue (e.g., at a restaurant that operates a queue notification system) has advanced to the front of the queue 1752 .
- a callback is schedules using the callback scheduler.
- FIG. 18 is a block diagram illustrating an exemplary system architecture for an adaptive cloud conversation platform connected to brand endpoints comprising contact centers.
- the exemplary system architecture shown here is the same as that shown for FIG. 1 , but with the addition of a survey manager 1900 .
- survey manager 1900 is a component of user management layer 130 of adaptive cloud conversation platform 100 and, as such, is capable of communicating with other components of adaptive cloud conversation platform 100 , as has been previously described with respect to other components such as conversation manager 400 , session manager 500 , event manager 600 , etc.
- Survey manager 1900 determines when and how feedback from consumers should be requested in the form of consumer responses to surveys and determines when and how such feedback should result in downstream actions such as notifications to a brand manager, escalation to a supervising agent, or scheduling of a callback to the consumer.
- Survey manager 1900 may use machine learning algorithms to dynamically adapt survey strategies to meet certain fitness criteria such as improving the likelihood of obtaining a response, improving the quality of responses, or reducing consumer frustration.
- Such strategies may include, but are not limited to, changing the type of survey performed; changing the communication channel(s) through which the survey is performed; changing the time of performance of, or the time of invitation to, the survey; changing the questions asked in the survey; changing the order of the questions; and changing the wording of the questions.
- Surveys may be stored in a database such as brand environment database 1050 .
- FIG. 19 is a block diagram illustrating an exemplary system architecture for a survey manager aspect of an adaptive cloud conversation platform.
- survey manager 1900 is a component of user management layer 130 of adaptive cloud conversation platform 100 and, as such, is capable of communicating with other components of adaptive cloud conversation platform 100 , as has been previously described with respect to other components such as conversation manager 400 , session manager 500 , event manager 600 , etc.
- Survey manager 1900 of this embodiment comprises a consumer satisfaction analyzer 1910 , a survey context manager 1920 , an event thrower 1930 , and an environment manager interface 1940 .
- Survey manager 1900 determines when and how feedback from consumers should be requested in the form of surveys and determines when and how such feedback should result in downstream actions such as notifications to a brand manager or escalation to a supervising agent.
- Survey manager 1900 uses machine learning algorithms to dynamically adapt survey strategies to meet certain fitness criteria such as improving the likelihood of obtaining a response, improving the quality of responses, or reducing consumer frustration.
- Such strategies may include, but are not limited to, changing the type of survey performed; changing the communication channel(s) through which the survey is performed; changing the time of performance of, or the time of invitation to, the survey; changing the questions asked in the survey; changing the order of the questions; and changing the wording of the questions.
- Surveys may be of many types including, but not limited to, conversational short message service (SMS) surveys in which questions are sent to the consumer via SMS and the consumer responds via SMS; web SMS surveys in which an invitation to complete a survey and a link to the survey are sent via SMS and the consumer responds by clicking on the link and completing a web-based survey; phone surveys in which the survey takes place via an audio call between the consumer and an agent; chat-based surveys in which the survey takes place via a text chat between the consumer and an agent, or between the consumer and a chatbot; email surveys in which an email is sent to the consumer either with questions to which the consumer can respond by reply email or with a link to a web-based survey; interactive voice response (IVR) surveys in which an outbound call is made to a consumer by an IVR or an inbound consumer's call is routed to an IVR configured to provide survey questions to the consumer via audio and to receive answers from the consumer via the phone keypad (e.g., dual-tone multi-frequency (DTMF) signals) or by speech
- Consumer satisfaction analyzer 1910 determines a level of consumer satisfaction.
- consumer satisfaction analyzer 1910 received goals and intents data from conversation manager 400 and sentiment data either from session manager 500 or from stored sentiment data from prior interactions.
- the sentiment data provides a direct indication of satisfaction related to a session, a conversation, a product, overall satisfaction with a brand, or other aspect of a consumer-brand relationship.
- the sentiment data may be compared with the goals and intents data to obtain a further indirect indication of satisfaction with the session, conversation, product, brand, or other aspect of a consumer-brand relationship. This can provide additional granularity in the determination of a consumer's satisfaction.
- sentiment is typically analyzed on a discrete three-level scale (e.g., negative, neutral, or positive).
- consumer satisfaction analyzer 1910 may receive fitness parameters from environment manager 1000 via environment manager interface.
- the consumer's determined satisfaction (e.g., “low” positive sentiment) can be further compared against fitness parameters (long-term consumer loyalty) to determine thresholds (brand's goal is minimum of “moderate” positive sentiment) for taking action such as requesting a survey from the consumer.
- Survey context manager 1920 receives a determination of satisfaction from consumer satisfaction analyzer 1910 along with information from consumer profile database 820 such as the consumer profile, any relevant conversation data, and any previously obtained survey data, and recommends a strategy for surveying consumers based on the received data.
- the received data is processed by survey strategy analyzer 1921 to determine whether, when, and how to conduct a survey with the consumer to obtain relevant information about the consumer's satisfaction.
- Action generator 1922 generates recommended actions based on the outputs from survey strategy analyzer 1921 .
- Survey context manager 1920 learns about the consumer's consumer potential responses to surveys by analyzing data such as satisfaction data produced by the consumer satisfaction analyzer 1910 , information from the consumer's profile such as communication channel preferences and time of contact preferences, current and prior conversation data, and prior survey feedback data.
- Survey context manager 1920 uses machine learning algorithms to dynamically adapt survey strategies to meet certain fitness criteria such as improving the likelihood of obtaining a response, improving the quality of responses, or reducing consumer frustration.
- Such strategies may include, but are not limited to, changing the type of survey performed; changing the communication channel(s) through which the survey is performed; changing the time of performance of, or the time of invitation to, the survey; changing the questions asked in the survey; changing the order of the questions; and changing the wording of the questions.
- the training and operation of the machine learning algorithm is described later herein.
- the output of survey context manager 1920 may be fed to other components for actions to be taken (e.g., scheduling of a survey to determine a consumer's current satisfaction after a period of little or no contact from the consumer) or may be fed to the machine learning algorithms of other components for further analysis (e.g., to the conversation manager to determine the best mode of starting a conversation or session to implement the survey).
- actions to be taken e.g., scheduling of a survey to determine a consumer's current satisfaction after a period of little or no contact from the consumer
- the machine learning algorithms of other components for further analysis (e.g., to the conversation manager to determine the best mode of starting a conversation or session to implement the survey).
- the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two.
- Event thrower 1930 throws events to other platform components with instructions to schedule or establish communications with a consumer either associated with an existing conversation or a new conversation. Further, event thrower 1930 passes events related to downstream actions to environment manager interface for handling by environment manager 1000 .
- Environment manager interface 1940 receives fitness parameters from environment manager 1000 and passes them to consumer satisfaction analyzer 1910 . Environment manager interface 1940 further receives events thrown by event thrower 1930 related to downstream actions generated by action generator 1922 and passes them to environment manager 1000 . Downstream events are actions to be taken by brand such as sending notifications to a team or group at brand (e.g., via group messaging systems such as Slack, Microsoft® Teams, or brand-proprietary equivalents), sending notifications using native tools in an underlying consumer service (e.g., contact center as a service (CCAAS) platforms); creating a service request in a customer relationship management (CRM) platform; and notifying supervisors of managers via SMS, email, or other means.
- brand such as sending notifications to a team or group at brand (e.g., via group messaging systems such as Slack, Microsoft® Teams, or brand-proprietary equivalents), sending notifications using native tools in an underlying consumer service (e.g., contact center as a service (CCAAS) platforms); creating a service request in a customer relationship management
- FIG. 20 is a block diagram illustrating an exemplary system architecture for a machine learning algorithm network aspect of an adaptive cloud conversation platform.
- the exemplary system architecture shown here is the same as that shown in FIG. 11 , with the addition of a survey context manager 1920 .
- Survey context manager 1920 determines a level of consumer satisfaction from the sentiment analyses and goals/needs analyses, and uses machine learning algorithms to dynamically adapt survey strategies to the fitness criteria such as improving the likelihood of obtaining a response, improving the quality of responses, or reducing consumer frustration.
- Such strategies may include, but are not limited to, changing the type of survey performed; changing the communication channel(s) through which the survey is performed; changing the time of performance of, or the time of invitation to, the survey; changing the questions asked in the survey; changing the order of the questions; and changing the wording of the questions.
- the output of survey context manager 1920 may be fed to other components for actions to be taken (e.g., scheduling of a survey to determine a consumer's current satisfaction after a period of little or no contact from the consumer) or may be fed to the machine learning algorithms of other components for further analysis (e.g., to the conversation manager to determine the best mode of starting a conversation or session to implement the survey).
- the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two.
- the survey strategies may be generated from unsupervised machine learning algorithms or reinforcement machine learning algorithms rather than supervised (i.e., pre-trained) machine learning algorithms.
- An unsupervised machine learning algorithm learns from the data itself by association, clustering, or dimensionality reduction, rather than having been pre-trained to discriminate between labeled input data.
- Reinforcement learning algorithms learn from repeated iterations of outcomes based on probabilities with successful outcomes being rewarded.
- FIG. 21 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for survey context manager.
- MSA supervised machine learning algorithm
- unsupervised machine learning algorithms or reinforcement machine learning algorithms may be used if better suited to the analyses being performed.
- machine learning algorithm is trained 2110 on labeled data such as satisfaction data 2111 a , consumer profile information 2111 b , conversation and session data 2111 c , and prior survey information 2111 n .
- MLA has been trained, actual data is processed 2120 through trained machine learning algorithm such as satisfaction data 2121 a from consumer satisfaction analyzer 2110 , consumer profile data 2121 b , and conversation and session data 2121 c , and prior survey data 2111 n .
- MLA outputs a strategy for conducting the survey 2130 , and an action is taken based on the strategy 2140 such as scheduling a survey 2141 a , changing the survey type 2141 b , changing the channel of communication 2141 c , changing the questions asked 2141 n , etc.
- feedback data is received from the callback 2150 , it may be used to retrain the machine learning algorithm 2160 . Over time, the MLA will adapt its outputs to the retraining based on real-world data to provide more accurate predictions.
- the techniques disclosed herein may be implemented on hardware or a combination of software and hardware. For example, they may be implemented in an operating system kernel, in a separate user process, in a library package bound into network applications, on a specially constructed machine, on an application-specific integrated circuit (“ASIC”), or on a network interface card.
- ASIC application-specific integrated circuit
- Software/hardware hybrid implementations of at least some of the aspects disclosed herein may be implemented on a programmable network-resident machine (which should be understood to include intermittently connected network-aware machines) selectively activated or reconfigured by a computer program stored in memory.
- a programmable network-resident machine which should be understood to include intermittently connected network-aware machines
- Such network devices may have multiple network interfaces that may be configured or designed to utilize different types of network communication protocols.
- a general architecture for some of these machines may be described herein in order to illustrate one or more exemplary means by which a given unit of functionality may be implemented.
- At least some of the features or functionalities of the various aspects disclosed herein may be implemented on one or more general-purpose computers associated with one or more networks, such as for example an end-user computer system, a client computer, a network server or other server system, a mobile computing device (e.g., tablet computing device, mobile phone, smartphone, laptop, or other appropriate computing device), a consumer electronic device, a music player, or any other suitable electronic device, router, switch, or other suitable device, or any combination thereof.
- at least some of the features or functionalities of the various aspects disclosed herein may be implemented in one or more virtualized computing environments (e.g., network computing clouds, virtual machines hosted on one or more physical computing machines, or other appropriate virtual environments).
- Computing device 10 may be, for example, any one of the computing machines listed in the previous paragraph, or indeed any other electronic device capable of executing software- or hardware-based instructions according to one or more programs stored in memory.
- Computing device 10 may be configured to communicate with a plurality of other computing devices, such as clients or servers, over communications networks such as a wide area network a metropolitan area network, a local area network, a wireless network, the Internet, or any other network, using known protocols for such communication, whether wireless or wired.
- communications networks such as a wide area network a metropolitan area network, a local area network, a wireless network, the Internet, or any other network, using known protocols for such communication, whether wireless or wired.
- computing device 10 includes one or more central processing units (CPU) 12 , one or more interfaces 15 , and one or more busses 14 (such as a peripheral component interconnect (PCI) bus).
- CPU 12 may be responsible for implementing specific functions associated with the functions of a specifically configured computing device or machine.
- a computing device 10 may be configured or designed to function as a server system utilizing CPU 12 , local memory 11 and/or remote memory 16 , and interface(s) 15 .
- CPU 12 may be caused to perform one or more of the different types of functions and/or operations under the control of software modules or components, which for example, may include an operating system and any appropriate applications software, drivers, and the like.
- CPU 12 may include one or more processors 13 such as, for example, a processor from one of the Intel, ARM, Qualcomm, and AMD families of microprocessors.
- processors 13 may include specially designed hardware such as application-specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), field-programmable gate arrays (FPGAs), and so forth, for controlling operations of computing device 10 .
- ASICs application-specific integrated circuits
- EEPROMs electrically erasable programmable read-only memories
- FPGAs field-programmable gate arrays
- a local memory 11 such as non-volatile random access memory (RAM) and/or read-only memory (ROM), including for example one or more levels of cached memory
- RAM non-volatile random access memory
- ROM read-only memory
- Memory 11 may be used for a variety of purposes such as, for example, caching and/or storing data, programming instructions, and the like. It should be further appreciated that CPU 12 may be one of a variety of system-on-a-chip (SOC) type hardware that may include additional hardware such as memory or graphics processing chips, such as a QUALCOMM SNAPDRAGONTM or SAMSUNG EXYNOSTM CPU as are becoming increasingly common in the art, such as for use in mobile devices or integrated devices.
- SOC system-on-a-chip
- processor is not limited merely to those integrated circuits referred to in the art as a processor, a mobile processor, or a microprocessor, but broadly refers to a microcontroller, a microcomputer, a programmable logic controller, an application-specific integrated circuit, and any other programmable circuit.
- interfaces 15 are provided as network interface cards (NICs).
- NICs control the sending and receiving of data packets over a computer network; other types of interfaces 15 may for example support other peripherals used with computing device 10 .
- the interfaces that may be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, graphics interfaces, and the like.
- interfaces may be provided such as, for example, universal serial bus (USB), Serial, Ethernet, FIREWIRETM, THUNDERBOLTTM, PCI, parallel, radio frequency (RF), BLUETOOTHTM, near-field communications (e.g., using near-field magnetics), 802.11 (Wi-Fi), frame relay, TCP/IP, ISDN, fast Ethernet interfaces, Gigabit Ethernet interfaces, Serial ATA (SATA) or external SATA (ESATA) interfaces, high-definition multimedia interface (HDMI), digital visual interface (DVI), analog or digital audio interfaces, asynchronous transfer mode (ATM) interfaces, high-speed serial interface (HSSI) interfaces, Point of Sale (POS) interfaces, fiber data distributed interfaces (FDDIs), and the like.
- USB universal serial bus
- RF radio frequency
- BLUETOOTHTM near-field communications
- near-field communications e.g., using near-field magnetics
- Wi-Fi 802.11
- ESATA external SATA
- Such interfaces 15 may include physical ports appropriate for communication with appropriate media. In some cases, they may also include an independent processor (such as a dedicated audio or video processor, as is common in the art for high-fidelity AN hardware interfaces) and, in some instances, volatile and/or non-volatile memory (e.g., RAM).
- an independent processor such as a dedicated audio or video processor, as is common in the art for high-fidelity AN hardware interfaces
- volatile and/or non-volatile memory e.g., RAM
- FIG. 22 illustrates one specific architecture for a computing device 10 for implementing one or more of the inventions described herein, it is by no means the only device architecture on which at least a portion of the features and techniques described herein may be implemented.
- architectures having one or any number of processors 13 may be used, and such processors 13 may be present in a single device or distributed among any number of devices.
- a single processor 13 handles communications as well as routing computations, while in other embodiments a separate dedicated communications processor may be provided.
- different types of features or functionalities may be implemented in a system according to the invention that includes a client device (such as a tablet device or smartphone running client software) and server systems (such as a server system described in more detail below).
- the system of the present invention may employ one or more memories or memory modules (such as, for example, remote memory block 16 and local memory 11 ) configured to store data, program instructions for the general-purpose network operations, or other information relating to the functionality of the embodiments described herein (or any combinations of the above).
- Program instructions may control execution of or comprise an operating system and/or one or more applications, for example.
- Memory 16 or memories 11 , 16 may also be configured to store data structures, configuration data, encryption data, historical system operations information, or any other specific or generic non-program information described herein.
- At least some network device embodiments may include nontransitory machine-readable storage media, which, for example, may be configured or designed to store program instructions, state information, and the like for performing various operations described herein.
- nontransitory machine-readable storage media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as optical disks, and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM), flash memory (as is common in mobile devices and integrated systems), solid state drives (SSD) and “hybrid SSD” storage drives that may combine physical components of solid state and hard disk drives in a single hardware device (as are becoming increasingly common in the art with regard to personal computers), memristor memory, random access memory (RAM), and the like.
- ROM read-only memory
- flash memory as is common in mobile devices and integrated systems
- SSD solid state drives
- hybrid SSD hybrid SSD
- such storage means may be integral and non-removable (such as RAM hardware modules that may be soldered onto a motherboard or otherwise integrated into an electronic device), or they may be removable such as swappable flash memory modules (such as “thumb drives” or other removable media designed for rapidly exchanging physical storage devices), “hot-swappable” hard disk drives or solid state drives, removable optical storage discs, or other such removable media, and that such integral and removable storage media may be utilized interchangeably.
- swappable flash memory modules such as “thumb drives” or other removable media designed for rapidly exchanging physical storage devices
- hot-swappable hard disk drives or solid state drives
- removable optical storage discs or other such removable media
- program instructions include both object code, such as may be produced by a compiler, machine code, such as may be produced by an assembler or a linker, byte code, such as may be generated by for example a JAVATM compiler and may be executed using a Java virtual machine or equivalent, or files containing higher level code that may be executed by the computer using an interpreter (for example, scripts written in Python, Perl, Ruby, Groovy, or any other scripting language).
- interpreter for example, scripts written in Python, Perl, Ruby, Groovy, or any other scripting language.
- systems according to the present invention may be implemented on a standalone computing system.
- FIG. 23 there is shown a block diagram depicting a typical exemplary architecture of one or more embodiments or components thereof on a standalone computing system.
- Computing device 20 includes processors 21 that may run software that carry out one or more functions or applications of embodiments of the invention, such as for example a client application 24 .
- Processors 21 may carry out computing instructions under control of an operating system 22 such as, for example, a version of MICROSOFT WINDOWSTM operating system, APPLE OSXTM or iOSTM operating systems, some variety of the Linux operating system, ANDROIDTM operating system, or the like.
- an operating system 22 such as, for example, a version of MICROSOFT WINDOWSTM operating system, APPLE OSXTM or iOSTM operating systems, some variety of the Linux operating system, ANDROIDTM operating system, or the like.
- one or more shared services 23 may be operable in system 20 , and may be useful for providing common services to client applications 24 .
- Services 23 may for example be WINDOWSTM services, user-space common services in a Linux environment, or any other type of common service architecture used with operating system 21 .
- Input devices 28 may be of any type suitable for receiving user input, including for example a keyboard, touchscreen, microphone (for example, for voice input), mouse, touchpad, trackball, or any combination thereof.
- Output devices 27 may be of any type suitable for providing output to one or more users, whether remote or local to system 20 , and may include for example one or more screens for visual output, speakers, printers, or any combination thereof.
- Memory 25 may be random-access memory having any structure and architecture known in the art, for use by processors 21 , for example to run software.
- Storage devices 26 may be any magnetic, optical, mechanical, memristor, or electrical storage device for storage of data in digital form (such as those described above, referring to FIG. 22 ). Examples of storage devices 26 include flash memory, magnetic hard drive, CD-ROM, and/or the like.
- systems of the present invention may be implemented on a distributed computing network, such as one having any number of clients and/or servers.
- FIG. 24 there is shown a block diagram depicting an exemplary architecture 30 for implementing at least a portion of a system according to an embodiment of the invention on a distributed computing network.
- any number of clients 33 may be provided.
- Each client 33 may run software for implementing client-side portions of the present invention; clients may comprise a system 20 such as that illustrated in FIG. 23 .
- any number of servers 32 may be provided for handling requests received from one or more clients 33 .
- Clients 33 and servers 32 may communicate with one another via one or more electronic networks 31 , which may be in various embodiments any of the Internet, a wide area network, a mobile telephony network (such as CDMA or GSM cellular networks), a wireless network (such as WiFi, WiMAX, LTE, and so forth), or a local area network (or indeed any network topology known in the art; the invention does not prefer any one network topology over any other).
- Networks 31 may be implemented using any known network protocols, including for example wired and/or wireless protocols.
- servers 32 may call external services 37 when needed to obtain additional information, or to refer to additional data concerning a particular call. Communications with external services 37 may take place, for example, via one or more networks 31 .
- external services 37 may comprise web-enabled services or functionality related to or installed on the hardware device itself. For example, in an embodiment where client applications 24 are implemented on a smartphone or other electronic device, client applications 24 may obtain information stored in a server system 32 in the cloud or on an external service 37 deployed on one or more of a particular enterprise's or user's premises.
- clients 33 or servers 32 may make use of one or more specialized services or appliances that may be deployed locally or remotely across one or more networks 31 .
- one or more databases 34 may be used or referred to by one or more embodiments of the invention. It should be understood by one having ordinary skill in the art that databases 34 may be arranged in a wide variety of architectures and using a wide variety of data access and manipulation means.
- one or more databases 34 may comprise a relational database system using a structured query language (SQL), while others may comprise an alternative data storage technology such as those referred to in the art as “NoSQL” (for example, HADOOP CASSANDRATM, GOOGLE BIGTABLETM, and so forth).
- SQL structured query language
- variant database architectures such as column-oriented databases, in-memory databases, clustered databases, distributed databases, or even flat file data repositories may be used according to the invention. It will be appreciated by one having ordinary skill in the art that any combination of known or future database technologies may be used as appropriate, unless a specific database technology or a specific arrangement of components is specified for a particular embodiment herein. Moreover, it should be appreciated that the term “database” as used herein may refer to a physical database machine, a cluster of machines acting as a single database system, or a logical database within an overall database management system.
- security and configuration management are common information technology (IT) and web functions, and some amount of each are generally associated with any IT or web systems. It should be understood by one having ordinary skill in the art that any configuration or security subsystems known in the art now or in the future may be used in conjunction with embodiments of the invention without limitation, unless a specific security 36 or configuration system 35 or approach is specifically required by the description of any specific embodiment.
- FIG. 25 shows an exemplary overview of a computer system 40 as may be used in any of the various locations throughout the system. It is exemplary of any computer that may execute code to process data. Various modifications and changes may be made to computer system 40 without departing from the broader scope of the system and method disclosed herein.
- Central processor unit (CPU) 41 is connected to bus 42 , to which bus is also connected memory 43 , nonvolatile memory 44 , display 47 , input/output (I/O) unit 48 , and network interface card (NIC) 53 .
- I/O unit 48 may, typically, be connected to keyboard 49 , pointing device 50 , hard disk 52 , and real-time clock 51 .
- NIC 53 connects to network 54 , which may be the Internet or a local network, which local network may or may not have connections to the Internet. Also shown as part of system 40 is power supply unit 45 connected, in this example, to a main alternating current (AC) supply 46 . Not shown are batteries that could be present, and many other devices and modifications that are well known but are not applicable to the specific novel functions of the current system and method disclosed herein.
- AC alternating current
- functionality for implementing systems or methods of the present invention may be distributed among any number of client and/or server components.
- various software modules may be implemented for performing various functions in connection with the present invention, and such modules may be variously implemented to run on server and/or client components.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Marketing (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
- Telephonic Communication Services (AREA)
Abstract
An adaptive cloud conversation platform capable of making automated decisions regarding when and how to establish on-going communications with consumers so as to maximize the relationship between the consumer and a given brand. The system has a connection management services layer which determines what communications should be established and how they should be established, an initiation management services layer which determines when communications should be established, and a user management services layer which stores information about consumers and brands for determination of when and how communications should be established. Certain of these services have machine learning algorithms incorporated into them trained to perform analyses of the particular type of operation handled by that service. The outputs of each service can be used as inputs to other services, such that a network of machine learnings algorithms is created which determines when and how to establish on-going communications with consumers.
Description
- Priority is claimed in the application data sheet to the following patents or patent applications, the entire written description of each of which is expressly incorporated herein by reference in its entirety:
-
- Ser. No. 17/893,006
- Ser. No. 17/235,408
- Ser. No. 17/358,331
- Ser. No. 16/836,798
- Ser. No. 16/591,096
- Ser. No. 17/336,405
- Ser. No. 17/011,248
- Ser. No. 16/995,424
- Ser. No. 16/896,108
- Ser. No. 16/542,577
- 62/820,190
- 62/858,454
- Ser. No. 16/152,403
- Ser. No. 16/058,044
- Ser. No. 14/532,001
- Ser. No. 13/659,902
- Ser. No. 13/479,870
- Ser. No. 12/320,517
- Ser. No. 13/446,758
- Ser. No. 15/411,534
- 62/291,049
- The disclosure relates to the field of contact center technology, specifically to the field of cloud-implemented automated callback systems.
- While various types of callback scheduling systems exist, they are limited to basic scheduling functions such as queuing for callbacks by the next available agent or callbacks based on consumer indications of appropriate callback times. These systems can keep track of repeated interactions with consumers either by identifying the consumer's phone number or account, or by assigning repeated interactions to ticket numbers specific to a particular reason for the interaction. However, other than tracking these repeated interactions so that agents can see the history of interactions, these systems do not account for the complexity of on-going conversations with consumers and have no ability to determine when and how to establish further communications with consumers so as to maximize the relationship between the consumer and a given brand.
- What is needed is an adaptive cloud conversation platform capable of automated decisions regarding when and how to establish on-going communications with consumers so as to maximize the relationship between the consumer and a given brand.
- Accordingly, the inventor has conceived and reduced to practice, an adaptive cloud conversation platform capable of making automated decisions regarding when and how to establish on-going communications with consumers so as to maximize the relationship between the consumer and a given brand. In an embodiment, the system comprises a connection management services layer which determines what communications should be established and how they should be established, an initiation management services layer which determines when communications should be established, and a user management services layer which stores information about consumers and brands for determination of when and how communications should be established. Certain of these services have machine learning algorithms incorporated into them trained to perform analyses of the particular type of operation handled by that service. The outputs of each service can be used as inputs to other services, such that a network of machine learnings algorithms is created which, when operated together, determines when and how to establish on-going communications with consumers so as to maximize the relationship between the consumer and a given brand.
- According to a preferred embodiment, an adaptive cloud conversation platform is disclosed, comprising: a computing device comprising a memory, a processor, and a non-volatile data storage device; a consumer profile database stored on the non-volatile data storage device, the consumer profile database comprising one or more consumer profiles; a survey manager comprising a first plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to: receive conversation data for a conversation with a consumer, the conversation data comprising an interaction between the consumer and a brand and satisfaction data for the conversation; process the conversation data through a first machine learning algorithm to obtain a survey strategy, the survey strategy comprising a determination that a survey of the consumer should be conducted and a type of survey to be conducted; and forward the survey strategy to a conversation manager; a conversation manager comprising a second plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to: receive the survey strategy; retrieve a consumer profile for the consumer from the consumer profile database, the consumer profile comprising a plurality of preferences of the consumer; process the plurality of preferences through a second machine learning algorithm to select a channel through which to conduct the survey with the consumer; and forward the channel selection to a schedule manager; a schedule manager comprising a third plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to: receive the channel selection from the conversation manager; retrieve the consumer profile; process the plurality of preferences through a third machine learning algorithm to select a time at which to conduct the callback with the consumer through the selected channel; schedule a survey to be conducted with the consumer at the selected time through the selected channel; and forward the survey schedule to a callback manager; and a callback manager comprising a fourth plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to: receive the survey schedule; and retrieve a survey of the type specified in the survey strategy; execute the survey strategy by conducting the survey at the selected time through the selected channel as indicated in the survey schedule.
- According to another preferred embodiment, method for operating an adaptive cloud conversation platform, comprising the steps of: using a survey manager operating on a computing device comprising a memory, a processor, and a non-volatile data storage device to: receive conversation data for a conversation with a consumer, the conversation data comprising an interaction between the consumer and a brand and satisfaction data for the conversation; process the conversation data through a first machine learning algorithm to obtain a survey strategy, the survey strategy comprising a determination that a survey of the consumer should be conducted and a type of survey to be conducted; and forward the survey strategy to a conversation manager; a conversation manager comprising a second plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to: receive the survey strategy; retrieve a consumer profile for the consumer from a consumer profile database stored on the non-volatile data storage device, the consumer profile database comprising one or more consumer profiles, and the consumer profile comprising a plurality of preferences of the consumer; process the plurality of preferences through a second machine learning algorithm to select a channel through which to conduct the survey with the consumer; and forward the channel selection to a schedule manager; using a schedule manager operating on the computing device to: receive the channel selection from the conversation manager; retrieve the consumer profile; process the plurality of preferences through a third machine learning algorithm to select a time at which to conduct the callback with the consumer through the selected channel; schedule a survey to be conducted with the consumer at the selected time through the selected channel; and forward the survey schedule to a callback manager; and using a callback manager operating on the computing device to: receive the survey schedule; and retrieve a survey of the type specified in the survey strategy; execute the survey strategy by conducting the survey at the selected time through the selected channel as indicated in the survey schedule.
- According to an aspect of an embodiment, the survey manager is further configured to: receive survey feedback from the consumer; process the survey feedback through the first machine learning algorithm to determine whether a callback is recommended based on the survey feedback; and forward the determination to the conversation manager; the conversation manager is further configured to: receive the determination; retrieve the consumer profile; process the plurality of preferences through the second machine learning algorithm to select a channel through which to conduct the callback with the consumer; the schedule manager is further configured to: receive the channel selection from the conversation manager; retrieve the consumer profile; process the plurality of preferences through the third machine learning algorithm to select a time at which to conduct the callback with the consumer through the selected channel; schedule a callback to be conducted with the consumer at the selected time through the selected channel; and forward the survey schedule to the callback manager; and the callback manager is further configured to: receive the callback schedule; and execute the callback by conducting the callback at the selected time through the selected channel as indicated in the callback schedule.
- According to an aspect of an embodiment, a consumer context manager is used to: receive the conversation data; retrieve the consumer profile, the consumer profile further comprising a plurality of behaviors of the consumer; process the conversation data and the plurality of behaviors of the consumer through a fourth machine learning algorithm to determine whether a second callback to the consumer should be made; and where the determination is that a second callback should be made, forward the determination to the conversation manager as the determination that a callback should be made to a consumer.
- According to an aspect of an embodiment, a session manager is used to: receive the conversation data; process the conversation data through a fifth machine learning algorithm to determine a consumer sentiment; and forward the determined sentiment to the consumer context manager as an additional input to the fourth machine learning algorithm's determination as to whether a callback to the consumer should be made.
- According to an aspect of an embodiment, the conversation manager is further configured to: process the conversation data through a sixth machine learning algorithm to determine a consumer goal, need, or intent; and forward the determined goal, need, or intent to the consumer context manager as an additional input to the fourth machine learning algorithm's determination as to whether a callback to the consumer should be made.
- According to an aspect of an embodiment, an event rules database is stored on the non-volatile data storage device, the event rules database comprising rules for triggering communications with consumers based on events occurring outside of a conversation; and an event manager is used to: receive notification of an event; match the event to a rule in the event rules database; and forward the matched event to the conversation manager as the determination that a callback should be made to the consumer.
- According to an aspect of an embodiment, the event manager is further configured to: retrieve the consumer profile; process the consumer profile and one or more rules from the event rules database through an eighth machine learning algorithm to determine a new rule for triggering communications with the consumer; and store the new rule in the event rules database.
- According to an aspect of an embodiment, a brand environment database is stored on the non-volatile data storage device, the brand environment database comprising brand information related to conversations with consumers of the brand; and an environment manager is used to: retrieve the consumer profile; retrieve the brand information from the brand environment database; process the consumer profile and the brand information through a ninth machine learning algorithm to determine whether a campaign of communications should be established with a plurality of consumers; and forward the determination to the conversation manager as the determination that a callback should be made to the consumer.
- According to an aspect of an embodiment, a consumer manager is used to: retrieve the consumer profile for the consumer from the consumer profile database; receive a fitness parameter from the environment manager; process the consumer profile and the fitness parameter through a tenth machine learning algorithm to identify opportunities for proactive conversations with the consumer; and forward the identified opportunities to the consumer context manager as an additional input to the second machine learning algorithm's selection of the channel through which the callback should be made.
- The accompanying drawings illustrate several aspects and, together with the description, serve to explain the principles of the invention according to the aspects. It will be appreciated by one skilled in the art that the particular arrangements illustrated in the drawings are merely exemplary and are not to be considered as limiting of the scope of the invention or the claims herein in any way.
-
FIG. 1 is a block diagram illustrating an exemplary system architecture for an adaptive cloud conversation platform connected to brand endpoints comprising contact centers. -
FIG. 2 is a block diagram illustrating an exemplary system architecture for an adaptive cloud conversation platform connected to brand endpoints comprising a cloud-based server with remote agents. -
FIG. 3 is a block diagram illustrating an exemplary architecture for a multiple-instance adaptive cloud conversation platform connected to brand endpoints comprising a cloud-based server with remote agents and a broker server intermediary. -
FIG. 4 is a block diagram illustrating an exemplary system architecture for a conversation manager aspect of an adaptive cloud conversation platform. -
FIG. 5 is a block diagram illustrating an exemplary system architecture for a session manager aspect of an adaptive cloud conversation platform. -
FIG. 6 is a block diagram illustrating an exemplary system architecture for an event manager aspect of an adaptive cloud conversation platform. -
FIG. 7 is a block diagram illustrating an exemplary system architecture for a media server aspect of an adaptive cloud conversation platform. -
FIG. 8 is a block diagram illustrating an exemplary system architecture for a consumer manager aspect of an adaptive cloud conversation platform. -
FIG. 9 is a block diagram illustrating an exemplary system architecture for a schedule manager aspect of an adaptive cloud conversation platform. -
FIG. 10 is a block diagram illustrating an exemplary system architecture for an environment manager aspect of an adaptive cloud conversation platform. -
FIG. 11 is a block diagram illustrating an exemplary system architecture for a machine learning algorithm network aspect of an adaptive cloud conversation platform. -
FIG. 12 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for on-going session analysis. -
FIG. 13 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for callback mode analysis. -
FIG. 14 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for proactive conversation analysis. -
FIG. 15 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for callback planning. -
FIG. 16 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for event context analysis. -
FIG. 17 is a flow diagram illustrating an exemplary use case examples for an adaptive cloud conversation platform. -
FIG. 18 is a block diagram illustrating an exemplary system architecture for an adaptive cloud conversation platform connected to brand endpoints comprising contact centers. -
FIG. 19 is a block diagram illustrating an exemplary system architecture for a survey manager aspect of an adaptive cloud conversation platform. -
FIG. 20 is a block diagram illustrating an exemplary system architecture for a machine learning algorithm network aspect of an adaptive cloud conversation platform. -
FIG. 21 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for survey context manager. -
FIG. 22 is a block diagram illustrating an exemplary hardware architecture of a computing device. -
FIG. 23 is a block diagram illustrating an exemplary logical architecture for a client device. -
FIG. 24 is a block diagram showing an exemplary architectural arrangement of clients, servers, and external services. -
FIG. 25 is another block diagram illustrating an exemplary hardware architecture of a computing device. - The inventor has conceived, and reduced to practice, an adaptive cloud conversation platform capable of making automated decisions regarding when and how to establish on-going communications with consumers so as to maximize the relationship between the consumer and a given brand. In an embodiment, the system comprises a connection management services layer which determines what communications should be established and how they should be established, an initiation management services layer which determines when communications should be established, and a user management services layer which stores information about consumers and brands for determination of when and how communications should be established. Certain of these services have machine learning algorithms incorporated into them trained to perform analyses of the particular type of operation handled by that service. The outputs of each service can be used as inputs to other services, such that a network of machine learnings algorithms is created which, when operated together, determines when and how to establish on-going communications with consumers so as to maximize the relationship between the consumer and a given brand.
- The platform is made adaptive through the use of one or more machine learning algorithms, each trained to analyze data pertaining to a particular set of aspects of a conversation and make recommendations within the context of those aspects. In certain embodiments, each machine learning algorithm is part of one or more platform components, and configured as a context manager for that component, receiving data pertaining to the particular set of aspects of a conversation for which that component is designed, and making recommendations within the context of that component. For example, a session manager component may have a machine learning algorithm which receives a real-time transcript of an on-going audio conversation between a consumer and agent, and which proposes responses for the agent based on current consumer statements, history of interactions with the consumer, consumer stored preferences, databases of similar conversations with other consumers, etc. The outputs of the machine learning algorithm of one components may be used an inputs to a machine learning algorithm of another component, creating a network of machine learning algorithms. In this way, the system adapts to conversations by listening to current conversations, learning from the current conversation and past conversations, changing its operation in response to changes in context or conditions, and adapting to new situations through the inherent predictive capabilities of machine learning algorithms. On shorter time scales, the platform adapts in response to incoming data by recommending proactive conversation actions such as a current conversation or recent interactions. On a longer time scale, the platform adapts (or evolves) by gradually incorporating newer information into its machine learning algorithms by periodic or continuous re-training based on the newer information. The platform thus become smarter over time about conversations in general and about conversations with specific consumers in particular. These adaptations over short and long time scales about how to call, who to call, and when to call allow the platform to be “adaptive” of context and circumstances from the largest scales (all consumers across all brands or large groups/representative averages, etc.), through mid-sized scales (certain types or groups of consumers across brands, consumers for certain brands, certain types of conversations with a certain consumer, etc.), to the smallest scales (a current conversation with a certain consumer, etc.). This “adaptiveness” provides a level of personalization and authenticity lacking in existing customer relationship management systems, and enables consumers to get the help they need from the brands they love on the terms they choose.
- Consumer surveys are an important part of managing relationships between brands and their consumers. While consumer satisfaction can be inferred from interactions with consumers, receiving explicit feedback from consumers on their own time and in their preferred communication channels can be important for determining consumer satisfaction. For example, consumers who are hesitant to express dissatisfaction in an in-person communication with an agent such as a phone call may be more likely to express that dissatisfaction in a more remote communication such as a survey. Thus, surveys can lead to more honest feedback from consumers in certain situations.
- However, surveys can also lead to exaggerations of satisfaction or dissatisfaction from consumers, as consumers may be more likely to provide extreme feedback (e.g., one star out of five) in situations where there is not a live person on the other end of the communication who could be offended (such as an agent). So, it is useful to determine how and when to conduct consumer surveys so as to maximize the honesty and accuracy of consumer feedback. Factors to be taken into account in such determinations include, but are not limited to, the type of survey to be conducted, the channels of communication through which the survey is to be conducted, the consumer's preferences (e.g., channels, time of day, days of the week, etc.), whether the survey has been triggered by a specific event (e.g., the purchase of a product), and whether the consumer has left previous feedback (especially where the feedback is recent and negative).
- One or more different aspects may be described in the present application. Further, for one or more of the aspects described herein, numerous alternative arrangements may be described; it should be appreciated that these are presented for illustrative purposes only and are not limiting of the aspects contained herein or the claims presented herein in any way. One or more of the arrangements may be widely applicable to numerous aspects, as may be readily apparent from the disclosure. In general, arrangements are described in sufficient detail to enable those skilled in the art to practice one or more of the aspects, and it should be appreciated that other arrangements may be utilized and that structural, logical, software, electrical and other changes may be made without departing from the scope of the particular aspects. Particular features of one or more of the aspects described herein may be described with reference to one or more particular aspects or figures that form a part of the present disclosure, and in which are shown, by way of illustration, specific arrangements of one or more of the aspects. It should be appreciated, however, that such features are not limited to usage in the one or more particular aspects or figures with reference to which they are described. The present disclosure is neither a literal description of all arrangements of one or more of the aspects nor a listing of features of one or more of the aspects that must be present in all arrangements.
- Headings of sections provided in this patent application and the title of this patent application are for convenience only, and are not to be taken as limiting the disclosure in any way.
- Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more communication means or intermediaries, logical or physical.
- A description of an aspect with several components in communication with each other does not imply that all such components are required. To the contrary, a variety of optional components may be described to illustrate a wide variety of possible aspects and in order to more fully illustrate one or more aspects. Similarly, although process steps, method steps, algorithms or the like may be described in a sequential order, such processes, methods and algorithms may generally be configured to work in alternate orders, unless specifically stated to the contrary. In other words, any sequence or order of steps that may be described in this patent application does not, in and of itself, indicate a requirement that the steps be performed in that order. The steps of described processes may be performed in any order practical. Further, some steps may be performed simultaneously despite being described or implied as occurring non-simultaneously (e.g., because one step is described after the other step). Moreover, the illustration of a process by its depiction in a drawing does not imply that the illustrated process is exclusive of other variations and modifications thereto, does not imply that the illustrated process or any of its steps are necessary to one or more of the aspects, and does not imply that the illustrated process is preferred. Also, steps are generally described once per aspect, but this does not mean they must occur once, or that they may only occur once each time a process, method, or algorithm is carried out or executed. Some steps may be omitted in some aspects or some occurrences, or some steps may be executed more than once in a given aspect or occurrence.
- When a single device or article is described herein, it will be readily apparent that more than one device or article may be used in place of a single device or article. Similarly, where more than one device or article is described herein, it will be readily apparent that a single device or article may be used in place of the more than one device or article.
- The functionality or the features of a device may be alternatively embodied by one or more other devices that are not explicitly described as having such functionality or features. Thus, other aspects need not include the device itself.
- Techniques and mechanisms described or referenced herein will sometimes be described in singular form for clarity. However, it should be appreciated that particular aspects may include multiple iterations of a technique or multiple instantiations of a mechanism unless noted otherwise. Process descriptions or blocks in figures should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of various aspects in which, for example, functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those having ordinary skill in the art.
- “Callback” as used herein refers to contact by a brand to a consumer after some interaction or attempted interaction between the consumer and the brand. The term callback is not limited to telephone communications, and includes any form of communication whether in person or via electronic means such as, but not limited to, phone, voice-over-Internet-protocol (VOIP), email, short message service (SMS), and online messaging platforms.
- “Consumer” as used herein means a potential buyer or consumer of products and/or services. A consumer may be a person, group of persons, or a legal entity such as a company.
- “Conversation” as used herein means a series of communications between at least one brand and at least one consumer. A conversation may comprise many sessions, may use many different forms of communication (e.g., phone, email, SMS), and may span long periods of time. In some cases, conversations may be grouped into themes (e.g., a “ticket” related to a problem as used in some technical service systems), but the term conversation as used herein is not so limited and may span any number of themes. A conversation involves communication between at least one consumer and one brand, but is not limited to communications between single brand and a single consumer, and may involve other brands or third parties, as well. For example, in a real estate transaction, a conversation may involve two consumers (a buyer and a seller), as well as multiple brands (the seller's agent or broker, the buyer's agent or broker, a lender, a title company, an escrow company, etc.).
- “Session” as used herein means a single communication between at least one brand and at least one consumer. A session involves communication between at least one consumer and one brand, but is not limited to communications between single brand and a single consumer, and may involve other brands or third parties, as well. For example, in a real estate transaction, a session may involve two consumers (a buyer and a seller), as well as multiple brands (the seller's agent or broker, the buyer's agent or broker, a lender, a title company, an escrow company, etc.).
-
FIG. 1 is a block diagram illustrating an exemplary system architecture for an adaptive cloud conversation platform connected to brand endpoints comprising contact centers. The adaptive cloud conversation platform (ACCP) 100 is designed to provide automated, machine-learning-algorithm-supported complex conversation support to brands to establish, enhance, and maintain relationships with their consumers. Its capabilities exceed those of traditional callback systems or customer relationship management systems in that it is designed not just to keep records of past interactions between a given brand and a given consumer and schedule callbacks from the brand to the consumer, but to manage the entirety of complex conversations that may occur between consumers and brands, including conversations involving multiple consumers and multiple brands. - The adaptive
cloud conversation platform 100, therefore, manages complex conversations, possibly over an extended period of time, between one ormore brand endpoints 150 of a brand and one ormore consumer endpoints 140 of a consumer or consumers. Theconsumer endpoints 140 may be any device used by a consumer for communications including, but not limited to plain old telephone service (POTS) 142, mobile phones orsmartphones 143,tablet computers 144,laptop computers 145, anddesktop computers 146. While not shown here, in-person communications (without devices) is also considered to be a consumer endpoint 140 (e.g., in some cases, the adaptivecloud conversation platform 100 may recommend in-person communications for certain sessions). Consumer-side communication channels 141 between theconsumer endpoints 140 and the adaptivecloud conversation platform 100 may be established or triggered through any means supported by theconsumer endpoints 140 including, but not limited to, voice, virtual assistants (VAs), chatbots, web sessions, electronic beacons placed in physical locations such as store displays, and geofenced triggers. - The
brand endpoints 140 may be any device used by a consumer for communications including, but not limited to plain old telephone service (POTS) 161, mobile phones orsmartphones 162,tablet computers 163,laptop computers 164, anddesktop computers 165. While not shown here, in-person communications (without devices) is also considered to be a brand endpoint 140 (e.g., in some cases, the adaptivecloud conversation platform 100 may receive data from an in-person purchase at a brand-owned store). In this embodiment, thebrand endpoints 150 are located at acontact center 160 which handles consumer relations for the brand, either as a brand-owned contact center or a third party contact center service. Further, the brand endpoints in some cases may be conversation bots 170 (also known as chatbots or interactive voice response (IVR) systems) instead of human agents. Brand-side communication channels 151 between thebrand endpoints 150 and the adaptivecloud conversation platform 100 may be established or triggered through any means supported by thebrand endpoints 150 including, but not limited to, voice, virtual assistants (VAs), chatbots, web sessions, electronic beacons placed in physical locations such as store displays, and geofenced triggers. - In this embodiment, the system can be conceived of as comprising a
conversation manager 400, a connectionmanagement services layer 110, an initiationmanagement services layer 120, and a user management services layer 130. However, certain components within each of these layers may perform some aspects of other layers, so there can be cross-over between layers in some cases. Further, in other embodiments, the functionalities of certain components described herein may be performed by other components, depending on platform configuration. - The
conversation manager 400 is the component that determines the scope of each conversation and manages overall communications between the components at each layer accordingly, although data may still be passed directly from component to component. The connectionmanagement services layer 110 generally determines what communications should be established and how they should be established (often referred to herein as a “mode” of communications). The connectionmanagement services layer 110 comprises amedia server 700 which establishes communications betweenconsumer endpoints 140 andbrand endpoints 150 and performs any necessary media translations (e.g., automated speech recognition, text to speech, etc.), asession manager 500 which assigns session identifiers, instructs themedia server 700 to establish connections, and handles all incoming, outgoing, and stored data associated with each session, and acallback manager 111 which executes callbacks initiated by the initiationmanagement services layer 120 by instructing thesession manager 500 to initiate a callback. - The initiation
management services layer 120 determines when communications should be established. The initiationmanagement services layer 120 comprises anevent manager 600 which initiates callbacks based on events occurring outside of a session, and aschedule manager 900 which determines when communications should be established and schedules callbacks based on the determinations. Callbacks initiated by theevent manager 600 andschedule manager 900 are passed up to the connectionmanagement service layer 110 and executed by thecallback manager 111. - The user management services layer 130 stores information about consumers and brands for determination of when and how communications should be established. The user management services layer 130 comprises a
consumer manager 800 which manages the profiles of consumers for use in establishing effective conversations with them, and anenvironment manager 1000 which stores information about brands including operations information and analysis, locations and status of communications infrastructure, and customer relationship management (CRM) information, plus and event thrower which can trigger scheduling of callbacks by sending instructions up to the initiationmanagement services layer 120 for event rule establishment by theevent manager 600 or scheduling by theschedule manager 900. - Certain of these services have machine learning algorithms incorporated into them trained to perform analyses of the particular type of operation handled by that service. The outputs of each service can be used as inputs to other services, such that a network of machine learnings algorithms is created which, when operated together, determines when and how to establish on-going communications with consumers so as to maximize the relationship between the consumer and a given brand.
-
FIG. 2 is a block diagram illustrating an exemplary system architecture for an adaptive cloud conversation platform connected to brand endpoints comprising a cloud-based server with remote agents. In this embodiment, the adaptivecloud conversation platform 100 is the same as described above inFIG. 1 , but the interface with the brand endpoints is different. In this embodiment, thebrand endpoints 150 are remote agents managed through a cloud-basedserver 260 instead of being on-site agents at acontact center 160. -
FIG. 3 is a block diagram illustrating an exemplary architecture for a multiple-instance adaptive cloud conversation platform connected to brand endpoints comprising a cloud-based server with remote agents and a broker server intermediary. In this embodiment, a plurality of adaptive cloud conversation platforms (ACCPs) 100 a-n, each having capabilities the same as or similar to that described inFIG. 1 , are managed by abroker server 180. In this embodiment, thebroker server 180 mediates between brands and adaptive cloudconversation platform instances 100 a-n. Depending on configuration, this embodiment supports a federated conversation arrangement where a consumer can interact with multiple brands through a single ACCP, or where one brand can use different ACCP instances to handle callbacks, or a combination of the two. -
FIG. 4 is a block diagram illustrating an exemplary system architecture for a conversation manager aspect of an adaptive cloud conversation platform. Theconversation manager 400 is responsible for determining the scope of conversations and for overall coordination of conversations with other components of the platform based on the scope. In this embodiment, theconversation manager 400 comprises aconversation scope manager 410, aconversation context manager 420, a conversation script manager 430, and aconversation management database 440. - The
conversation scope manager 410 is responsible for determining and managing the scope of conversations. The conversation scope manager interfaces with other components of the system to either receive information about current or scheduled conversations or to direct initiation of conversations. In this embodiment, the conversation scope manager interfaces with the event manager to establish rules for triggering events and to receive notification of events that have been triggered, the schedule manager to schedule callbacks and receive notification of callbacks due for initiation, the session manager to initiate callbacks and receive data regarding on-going callbacks, the consumer manager to store and retrieve consumer profile data, and the environment manager to receive brand-established rules, fitness parameters, and other brand-related information. As conversations may involve multiple themes, extend over many sessions and over extended periods of time, and may involve more than one consumer and/or more than one brand, theconversation scope manager 410 is responsible for determining the scope of a given conversation through the use of global and local variables. For example, consumers may be assigned a global variable such that they are recognized throughout all components of the platform and at all stages. However, local scope variables may be assigned for each conversation, session, event, brand campaign, etc., to decrease dependencies within the platform, to separate conversations, to decrease the likelihood of data corruption, and to reduce overall complexity of the platform. For example, if a conversation starts between a buyer's real estate agent (brand) and the buyer (consumer), a scope will be assigned to that conversation. If and when the conversation extends to include other parties such as a seller's real estate agent (brand) and the seller, the seller's agent and seller may be recognized by the platform due to their global scope, but will be incorporated into the conversation's local scope for purposes of negotiating and completing that particular real estate transaction. Other scope variables may be assigned, such as session scope variables for communications between parties within the overall scope of the conversation about the real estate transaction. Theconversation scope manager 410 keeps track of conversations, sessions, participants, and scopes, and stores them in theconversation management database 440 for later use. - The
conversation context manager 420 is responsible for analyzing the context of conversations and, in particular, for determining the goals, needs, or intents of consumers for the purpose of recommending an action (e.g., scheduling a callback, changing modes of conversation, etc.). The conversation context manager incorporates a trained machine learning algorithm which receives conversation related data and determines a goal, need, or intent of the consumer using a goals and intents identifier 421 and recommends a corresponding action using anaction generator 422. The training and operation of the machine learning algorithm is described later herein. The output of theconversation context manager 420 may be fed to other components for actions to be taken (e.g., a recommendation to schedule a callback by phone with a particular agent may be sent to the schedule manager to schedule the callback) or may be fed to the machine learning algorithms of other components for further analysis (e.g., a determination that a consumer is dissatisfied with the current line of discussions with an agent may be sent to thesession context manager 520 for proposal of a different set of responses). In this way, the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two. - The conversation script manager 430 contains a library of conversation scripts against which transcripts of conversations may be compared for analysis purposes or from which conversation scripts can be drawn in order to respond to on-going sessions. Conversation scripts may be in the form of relational databases which associate consumer queries with agent (or chatbot) responses, and may further include associations with context such as the goals, needs, and intents of a consumer, which may be used with the outputs of the
conversation context manager 420 to provide appropriate responses to consumer queries. -
FIG. 5 is a block diagram illustrating an exemplary system architecture for a session manager aspect of an adaptive cloud conversation platform. The session manager is responsible for handling of communication sessions including assigning of session identifiers, instructing themedia server 700 to establish connections, and handling all incoming, outgoing, and stored data associated with each session. In this embodiment, the session manager comprises asession scope manager 510, asession context manager 520, asession state manager 530, asession receiver 540, and asession initiator 550. - The
session scope manager 510 is responsible for implementing the session within its defined scope as determined by theconversation scope manager 510. In the case where theconversation manager 400 directs thesession scope manager 510 to initiate communications with a consumer, the directions from theconversation manager 400 will contain the session scope. In the event that contact is initiated by a consumer, thesession scope manager 510 will send session data to theconversation manager 400 for determination of the session scope. For example, the session scope may be a phone call between a buyer and a buyer's agent in the context of a larger conversation about a real estate transaction. - The
session context manager 520 is responsible for analyzing the context of conversations and, in particular, for determining the sentiment of a consumer during the session using text of the session provided by themedia server 700. Thesession context manager 520 incorporates a trained machine learning algorithm which receives session related data and determines a sentiment of the consumer using asentiment analyzer 521 and recommends a corresponding action using anaction generator 522. The training and operation of the machine learning algorithm is described later herein. The output of thesession context manager 520 may be fed to other components for actions to be taken (e.g., a recommendation to escalate a conversation by switching modes from chat to a voice-based phone call) or may be fed to the machine learning algorithms of other components for further analysis (e.g., a determination that a consumer is satisfied with the current line of discussions with the current call, and may be receptive to additional offers, which action may be sent to theenvironment manager 1000 for consideration of follow up offers). In this way, the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two. - The
session state manager 530 stores state information such as the current session scope, whether the session is on-going or completed, what type of connection(s) are being used at theconsumer endpoints 140 andbrand endpoints 150, the contact information used to establish the connection(s), etc. When a session is completed, the data stored in thesession state manager 530 is sent to theconversation manager 400 for storage within the overall conversation (e.g., updates to the consumer profile, the brand CRM information, etc.). - The
session receiver 540 receives communications initiated by the consumer and initiates a session by notifying thesession scope manager 510. For example, if a consumer makes a phone call to a brand, the session receiver receives data about the phone call (e.g., consumer's phone number) from the media server, and notifies thesession scope manager 510 which coordinates with the session scope with theconversation manager 400. - The
session initiator 550 receives directions from thesession scope manager 510 to initiate a session, and directs themedia server 700 to make the appropriate communiation connections. -
FIG. 6 is a block diagram illustrating an exemplary system architecture for an event manager aspect of an adaptive cloud conversation platform. Theevent manager 600 initiates callbacks based on events occurring outside of a session based on established event rules (e.g., callbacks on a consumer's birthday; promotional events established by a brand) or external events (e.g., a consumer's purchase of a product from a brand; weather events in the consumer's area that might suggest purchase of a product such as snow tires prior to a snow storm). Callbacks initiated by theevent manager 600 are passed up to the connectionmanagement service layer 110 and executed by thecallback manager 111. In this embodiment, theevent manager 600 comprises anevent handler 610, anevent context manager 620, anevent script database 630, anevent rules database 640, and anevent thrower 650. - The
event handler 610 is responsible for triggering communication sessions based on events outside of a current session based on established event rules or external events. It does so by monitoring event notifications received from other components in the system, from outside sources (e.g., news websites, weather websites, etc.), or from schedules to determine whether any of the event notifications trigger a rule stored in theevent rules database 640. Such rules may be simple (e.g., contact a consumer on his/her birthday) or complex (e.g., offer snow tires to consumers living in a certain geographical area during the winter season when weather reports indicate snow in that geographical area within the next week). When a rule is triggered by an event notification, a corresponding event script is retrieved from anevent script database 630, the event script providing instructions for handling of the event (e.g., send out a broadcast email to all affected consumers), which instructions are sent to anevent thrower 650 which implements the script by throwing an event with an event action to thecommunication manager 400. - The
event context manager 620 analyzes established rules and external events to identify additional relationships between the rules, external events, and consumers. Theevent context manager 620 incorporates a trained machine learning algorithm which receives conversation related data and identifies additional relationships (possibly unknown or hidden) using arules analyzer 621 and anexternal events analyzer 622, and recommends a corresponding action using an action generator 322. The training and operation of the machine learning algorithm is described later herein. The output of theevent context manager 620 may be fed to other components for actions to be taken (e.g., a recommendation offer other winter-related products to certain consumers in addition to snow tires) or may be fed to the machine learning algorithms of other components for further analysis (e.g., forwarding of the identified additional relationships to theenvironment manager 1000 for analysis). In this way, the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two. -
FIG. 7 is a block diagram illustrating an exemplary system architecture for a media server aspect of an adaptive cloud conversation platform. Themedia server 700 establishes communications betweenconsumer endpoints 140 andbrand endpoints 150 and performs any necessary media translations (e.g., automated speech recognition, text to speech, etc.). In this embodiment, themedia server 700 comprisescommunications interfaces 710, a text-to-speech engine 720, an automatedspeech recognition engine 730, and abot interface manager 740. - The communications interfaces 710 comprise communications channels on both the consumer side 711 a-n and the brand endpoint side 712 a-n, including, but not limited to text
channels email channels phone channels channels POTS phone channel 711 c may be converted to aVOIP channel 712 n on the brand end, and vice-versa, so as to facilitate communications between different channels on either end. In some cases, text-based channels 711 a-b, 712 a-b may be converted toaudio channels 711 c-n, 712 c-n and vice-versa by using the automated speech recognition (ASR)engine 730 to convert spoken audio to text and by using the text-to-speech (TTS)engine 720 to convert text to spoken audio. - The text-to-
speech engine 720 may further be used to convert spoken audio to text for analysis by other components such as thesession manager 500 or theconversation manager 400. This may be done in near-real-time or may be done with a delay such as by recording the audio and converting the recorded audio at a later time. - The
bot interface manager 740 is used to relay communications from the brand-side communications interfaces 712 a, b to an appropriate conversation bot (e.g., a text-based chatbot or to an appropriate audio-based interactive voice response (IVR) system or virtual assistant such as Siri, Alexa, or similar). Where the conversation bot is a third party conversation bot such as Siri or Alexa, thebot interface manager 740 also forwards the consumer-bot communications the brand for integration into its CRM database and other systems, or for handling by an agent at abrand endpoint 150 if the call is later transferred to such agent. -
FIG. 8 is a block diagram illustrating an exemplary system architecture for a consumer manager aspect of an adaptive cloud conversation platform. Theconsumer manager 800 manages the profiles of consumers for use in establishing effective conversations with them, and engages in proactive conversation analysis to determine whether a proactive communication with a consumer should be initiated. In this embodiment, theconsumer manager 800 comprises aprofile manager 810, aconsumer profile database 820, and aconsumer context manager 830. - The
profile manager 810 handles all consumer data updates received either from the consumer or from other components of the system, and stores and retrieves information from consumer profiles in theconsumer profile database 820 and forwards this information to other platform components, as needed. Consumer profiles may contain any information relevant to a consumer, his or her relationships with one or more brands, and any conversations in which the consumer has taken part. This includes, but is not limited to, the name, address, phone number, and other identifying information of the consumer; brands with whom the consumer has interacted and histories of such interactions, including product/service inquiries, product/service purchases and returns, and product/service reviews and comments; and logs and recordings of conversations, analyses of such conversations to determine wants, needs, intents, and goals, and lists of other consumers with whom the consumer has had conversations and their relationships. In some embodiments, each consumer will have a single, unique profile for all conversations and all brands. In other embodiments, more than one profile may be established for a given consumer, depending on the configuration (e.g., a profile may be established for each brand with whom the consumer has had one or more conversations). Theprofile manager 810 notifies theevent manager 810 of changes to the state of the profile (e.g., a change in a consumer's address) that may impact event rules. - The
consumer context manager 830 learns about the consumer's behaviors and preferences in relation to events and brand attributes that are associated with consumer behaviors. Consumer behaviors and preferences include, but are not limited to, types and amounts of products and services purchased, dates and times of purchases, types and amounts of entertainment media consumed (e.g., computer games, television crime series, documentaries), interests indicated by certain purchases (e.g., purchases of season tickets to a baseball stadium indicate an interest in sports, especially baseball). Consumer behaviors and preferences may be implied (e.g., the purchase of baseball tickets implies an interest in baseball) or expressed (e.g., “I like watching baseball.”). The consumer behaviors and preferences are likely to be associated with certain events and/or brand attributes. Theconsumer context manager 830 incorporates a trained machine learning algorithm which recommends conversations with consumers based on predicted associations between consumer behaviors and preferences and events and/or brand attributes. The training and operation of the machine learning algorithm is described later herein. The output of theconsumer context manager 830 may be fed to other components for actions to be taken (e.g., scheduling of a sales call based on an upcoming event to which the consumer may be responsive) or may be fed to the machine learning algorithms of other components for further analysis (e.g., to the conversation manager to determine the best mode of starting the a conversation based on the upcoming event). In this way, the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two. -
FIG. 9 is a block diagram illustrating an exemplary system architecture for a schedule manager aspect of an adaptive cloud conversation platform. Theschedule manager 900 determines when communications should be established and schedules callbacks based on the determinations. In this embodiment, theschedule manager 900 comprises acallback scheduler 910, acallback planner 911, arules scheduler 920, anagent scheduler 930, and a schedule forecaster. - The
callback scheduler 910 receives requests to schedule callbacks from other platform components and determines when the callback should be made based on consumer preferences and availability from the consumer profile, rules for scheduling callbacks set forth in therules scheduler 920, agent availabilities set forth in anagent scheduler 930, and forecasts made by theschedule forecaster 940 of when the consumer and agent will be mutually available if and when certain rules are active. The determination of when the callback should be made is performed by thecallback planner 911. Thecallback planner 911 is responsible for analyzing the data set forth above and determining when to schedule the call. Thecallback planner 911 incorporates a trained machine learning algorithm which receives the above data and predicts one or more preferred callback times, which are then placed into the schedule by thecallback scheduler 910. The training and operation of the machine learning algorithm is described later herein. The output of thecallback planner 911 may be fed to other components for actions to be taken (e.g., a change in event rules of the event manager 600) or may be fed to the machine learning algorithms of other components for further analysis although, in this embodiment, the callback scheduler is the final destination of the determinations of all other machine learning algorithms. In this way, the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two. -
FIG. 10 is a block diagram illustrating an exemplary system architecture for an environment manager aspect of an adaptive cloud conversation platform. Theenvironment manager 1000 stores information about brands including operations information and analysis, locations and status of communications infrastructure, and customer relationship management (CRM) information, which can be used to trigger scheduling of callbacks by sending instructions up to the initiationmanagement services layer 120 for event rule establishment by theevent manager 600 or scheduling by theschedule manager 900. In this embodiment, theenvironment manager 1000 comprises anoperations manager 1010, anenvironment context manager 1020, a customer relationship management (CRM)database 1030, anevent thrower 1040, and abrand environment database 1050. - The
operations manager 1010 contains an interface through which brands can enter or upload their brand environment data and customer relationship management (CRM) data. The brand environment data is information about the brand useful for management of conversations with consumers and may include, but is not limited to, infrastructure data (e.g., sales locations; contact center locations, capacities, and capabilities, etc.), operational data (e.g., current and scheduled call volumes, etc.), product/service information, fitness parameters (e.g., average 90% retention rate for consumers), all of which is stored in thebrand environment database 1050. The CRM data is information about the consumers and their contacts with the brand and includes, but is not limited to, consumer identifications and contact information, histories of interactions with the brand, and products and services purchased, all of which is stored in theCRM database 1030. Note that the information stored in theCRM database 1030 may be exported to and duplicated in theconsumer profile database 820. - The
environment context manager 1020 is responsible for analyzing the information contained in thebrand environment database 1050 andCRM database 1030 to determine whether a campaign of communications should be established with a plurality of consumers. Theenvironment context manager 1020 incorporates a trained machine learning algorithm which analyzes the informationbrand environment database 1050 andCRM database 1030 using anenvironment analyzer 1021, further determines whether there are appropriate operational resources (e.g., agents with appropriate skills, sufficient contact center capacity given current or predicted call volumes, etc.) using anoperations analyzer 1022, and recommends a corresponding action using an action generator 1023. The training and operation of the machine learning algorithm is described later herein. The output of theenvironment context manager 1020 may be fed to other components for actions to be taken (e.g., a recommendation to schedule a callbacks by phone with a plurality of consumers may be sent to the schedule manager to schedule the callbacks) or may be fed to the machine learning algorithms of other components for further analysis (e.g., a request to determine a best mode of communication may be sent to the conversation manager for analysis). In this way, the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two. - The
event thrower 1040 throws events to other platform components with instructions to schedule or establish communications with a consumer either associated with an existing conversation or a new conversation. -
FIG. 11 is a block diagram illustrating an exemplary system architecture for a machine learning algorithm network aspect of an adaptive cloud conversation platform. This diagram shows the machine learning algorithm (MLA) of each platform component and an exemplary configuration of such MLAs into a network of MLAs for complex decision-making related to conversations. In this embodiment, the MLA network comprises thesession context manager 520, theconversation context manager 420, theenvironment analyzer 1050, theevent context manager 620, thecallback planner 911, and the consumer context manager, arranged in a network such that the outputs of certain MLAs can be used as inputs to other MLAs to make more complex or refined decisions than are possible using a single MLA. The components of the MLA network are arranged conceptually into three overall types of analysis. On-going session analyses 1110 (i.e., what is happening in the current communication) are performed by thesession context manager 520. Callback mode analyses 1120 (i.e., how a call should be made, what channels, etc.) are performed by theconversation context manager 420 and/or theenvironment analyzer 1050. Callback timing analyses 1130 (i.e.g, when a call should be made) are performed by theevent context manager 620, thecallback planner 911, and theconsumer context manager 830. - In this embodiment, the
session context manager 520 receives real-time or near-real-time text data from the media server for any on-going calls, processes the data through one or more machine learning algorithms to perform sentiment analysis and then propose responses to the consumer based on the sentiment analysis. In some embodiments, the proposed responses may be generated from unsupervised machine learning algorithms or reinforcement machine learning algorithms rather than supervised (i.e., pre-trained) machine learning algorithms. An unsupervised machine learning algorithm learns from the data itself by association, clustering, or dimensionality reduction, rather than having been pre-trained to discriminate between labeled input data. Reinforcement learning algorithms learn from repeated iterations of outcomes based on probabilities with successful outcomes being rewarded. These types of machine learning algorithms are ideal for exploring large number of possible outcomes such as possible outcomes from different approaches to a conversation, and so would be suitable for proposing responses to consumer queries. - In this embodiment, the sentiment analysis and proposed responses may be provided to the
conversation context manager 420 for performance of a goals, needs, and intents analysis. For example, thesession context manager 520 determines that the consumer's sentiment on the call is negative, the text data and the indication of negative sentiment may be analyzed by theconversation context manager 420 which may determine that the consumer actually wants to buy a replacement product rather than fix the existing one. This intent analysis can then be sent back to the session manager for proposal of an appropriate responses. Alternately, the intent analysis can be sent to thecallback planner 911 for scheduling of a callback from a salesperson who can sell the replacement product instead of the current agent trying to fix the product. - In this embodiment, the
environment context manager 1020 may likewise determine whether and how to establish a conversation with a consumer by analyzing the information contained in thebrand environment database 1020 andCRM database 1030 to determine whether a communication should be scheduled or established with a consumer based on data within the brand's environment. The outputs of theenvironment context manager 1020 may be sent to aconsumer context manager 830 for determination as to whether a proactive conversation should be started based on the combination ofenvironment context manager 1020 outputs and the information in the consumer profile database such as conversation histories. If a conversation is recommended either by theenvironment context manager 1020 or theconsumer context manager 830, the recommendation is sent either to theconversation context manager 420 for determination of a best mode of communication or, if the mode is known or not of particular importance, to thecallback planner 911 for determination of a best communication time. - In this embodiment, the
consumer context manager 830 performs proactive conversation analysis based on consumer behaviors, consumer preferences, events associated with consumer behaviors and/or preferences, and brand attributes associated with consumer behaviors and/or preferences to determine whether a proactive conversation should be initiated with a consumer. The outputs of theconsumer context manager 830 may be sent to thecallback planner 910 for scheduling, or to theconversation context manager 420 for determination of a best mode of for initiating a proactive conversation. - Finally, in this embodiment, the event context manager's 620 machine learning algorithms may determine that a communication should be established based on a rule, external event, or analysis of rules or external events combined with information stored in the consumer profile database. In such a case, the outputs of the
event context manager 620 are sent to thecallback planner 911 for determination of a best communication time. -
FIG. 12 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for on-going session analysis. In this example, it is assumed that a supervised machine learning algorithm (MLA) is being used, but in other embodiments, unsupervised machine learning algorithms or reinforcement machine learning algorithms may be used if better suited to the analyses being performed. Here, the machine learning algorithm is trained 1210 on labeled data such assentiment libraries 1211 a, indications of consumer wants/needs in relation to certain words and phrases 1211 b,agent skills 1211 c, and interaction outcomes based on the above 1211 n. Once the MLA has been trained, actual data is processed 1220 through the trained machine learning algorithm such as a statement from a real-time conversation transcript from themedia server 1221 a, consumer profile data 1221 b, and brand/agent data 1221 n. The MLA outputs a prediction regarding thebest response 1230 to the consumer's statement, and an action is taken based on theprediction 1240 such as having the agent use the preferred response 1241 a, escalating the call to amanager 1241 b, or sending the data to the conversation context manager for a goals, needs, andintents analysis 1241 n to better determine a response. As feedback data is received from thecallback 1250, it may be used to retrain the machine learning algorithm 1260. Over time, the MLA will adapt its outputs to the retraining based on real-world data to provide more accurate predictions. -
FIG. 13 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for callback mode analysis. In this example, it is assumed that a supervised machine learning algorithm (MLA) is being used, but in other embodiments, unsupervised machine learning algorithms or reinforcement machine learning algorithms may be used if better suited to the analyses being performed. Here, the machine learning algorithm is trained 1310 on labeled data such as session context manager outputs 1311 a, indications of consumer wants/needs in relation to certain words and phrases 1311 b,agent skills 1311 c, fitness parameters established by thebrand 1311 d, and interaction outcomes based on the above 1311 n. Once the MLA has been trained, actual data is processed 1320 through the trained machine learning algorithm such as session context manager outputs 1321 a, consumer profile data 1321 b, and brand/agent data 1321 n. The MLA outputs a prediction regarding the best mode ofcommunication 1330 with the consumer, and an action is taken based on theprediction 1340 such as changing the approach to theconversation 1341 a, changing the channel ofcommunication 1341 b, changingagents 1341 c, or sending the data to the callback planner to schedule acallback 1341 n to better determine a response. As feedback data is received from thecallback 1350, it may be used to retrain the machine learning algorithm 1360. Over time, the MLA will adapt its outputs to the retraining based on real-world data to provide more accurate predictions. -
FIG. 14 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for proactive conversation analysis. In this example, it is assumed that a supervised machine learning algorithm (MLA) is being used, but in other embodiments, unsupervised machine learning algorithms or reinforcement machine learning algorithms may be used if better suited to the analyses being performed. Here, the machine learning algorithm is trained 1410 on labeled data such as consumer behaviors 1411 a,consumer preferences 1411 b, events associated with consumer behaviors and/orpreferences 1411 c, and brand attributes associated with consumer behaviors and/orpreferences 1411 n. Once the MLA has been trained, actual data is processed 1420 through the trained machine learning algorithm such as consumer profile data 1421 a, andevent data 1421 b, andbrand attribute data 1421 n. The MLA outputs a recommendation regarding a proactive conversation 1430 with the consumer, and an action is taken based on theprediction 1440 such as sending the data to the callback planner to schedule aconversation 1441 a or sending the data to theconversation context manager 1441 n to select a best mode for initiating a conversation. As feedback data is received from thecallback 1450, it may be used to retrain themachine learning algorithm 1460. Over time, the MLA will adapt its outputs to the retraining based on real-world data to provide more accurate predictions. -
FIG. 15 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for callback planning. In this example, it is assumed that a supervised machine learning algorithm (MLA) is being used, but in other embodiments, unsupervised machine learning algorithms or reinforcement machine learning algorithms may be used if better suited to the analyses being performed. Here, the machine learning algorithm is trained 1510 on labeled data such asconsumer mode preferences 1511 b, consumer availabilities 1511 c, agent skills 1511 d, and agent availabilities 1511 n. Once the MLA has been trained, actual data is processed 1520 through the trained machine learning algorithm such as proactiveconversation analysis outputs 1521 a, conversationcontext manager outputs 1521 b, and eventcontext manager outputs 1521 n. The MLA outputs a recommendation regarding acallback time 1530 with the consumer, and the recommendation is sent to the callback scheduler forscheduling 1540. As feedback data is received from thecallback 1550, it may be used to retrain the machine learning algorithm 1560. Over time, the MLA will adapt its outputs to the retraining based on real-world data to provide more accurate predictions. -
FIG. 16 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for event context analysis. In this example, it is assumed that a supervised machine learning algorithm (MLA) is being used, but in other embodiments, unsupervised machine learning algorithms or reinforcement machine learning algorithms may be used if better suited to the analyses being performed. Here, the machine learning algorithm is trained 1610 on labeled data such as triggeringevents 1611 b,consumer profile information 1611 c,agent skills 1611 d, and interaction outcomes from the above 1611 n. Once the MLA has been trained, actual data is processed 1620 through the trained machine learning algorithm such as triggeringevents 1621 a from the event manager,consumer profile data 1621 b, andavailable agent skills 1611 n. The MLA outputs a recommendation for a callback based on the triggeringevent 1630, and the recommendation is sent to the callback scheduler to schedule acallback 1640. As feedback data is received from thecallback 1650, it may be used to retrain the machine learning algorithm 1660. Over time, the MLA will adapt its outputs to the retraining based on real-world data to provide more accurate predictions. -
FIG. 17 is a flow diagram illustrating an exemplary use case examples for a mindful cloud conversation platform. In a standard callback scenario 1710, a consumer may request a callback based on a failed or delayed contact with a brand 1711 (e.g., being put on hold prior to speaking with an agent), and a callback is made either by the first available agent or according to another rule 1712. In aproactive conversation scenario 1720, the consumer may interact with the brand in some way (e.g., by making a purchase) that is entered into the brand environment database. A determination is made that a callback is warranted or would be useful as some future time (e.g., survey on the following day, survey after delivery of the product purchased) 1721. In a media-switching callback scenario 1730, a consumer might be having an active chat session with a brand and the session context manager detects dissatisfaction with the call due to negative sentiment 1731. The chat session is escalated to a voice-based callback to mitigate the negative impact of thedissatisfying chat session 1732. In a consumer event-based callback scenario, a consumer takes some action which generates a callback event such as making an in-person purchase and consenting to a callback at a later time 1740; getting lost on the way to a store, wherein the navigation system detects the off-route driving and offers acallback 1741; communicating with a virtual assistant such as Siri or Alexa, wherein the forwarding of the interaction from thebot interface manager 740 leads to acallback 1742; or a consumer passes by a near field communication (NFC) beacon on a physical display at a store, and consents to a callback sent to the consumer's mobile device by the beacon 1743. In each of these circumstances, a callback is scheduled using thecallback scheduler 1744. In a rule-based callback scenario, some pre-established rule triggers a callback such as when a desired product is instock 1750, when a desired agent is available 1751, or when the consumer's position in a physical queue (e.g., at a restaurant that operates a queue notification system) has advanced to the front of thequeue 1752. In each of these circumstances, a callback is schedules using the callback scheduler. The above-listed examples are not intended to be limiting, and many other such use cases may be handled by the platform. -
FIG. 18 is a block diagram illustrating an exemplary system architecture for an adaptive cloud conversation platform connected to brand endpoints comprising contact centers. The exemplary system architecture shown here is the same as that shown forFIG. 1 , but with the addition of asurvey manager 1900. In this embodiment,survey manager 1900 is a component of user management layer 130 of adaptivecloud conversation platform 100 and, as such, is capable of communicating with other components of adaptivecloud conversation platform 100, as has been previously described with respect to other components such asconversation manager 400,session manager 500,event manager 600, etc.Survey manager 1900 determines when and how feedback from consumers should be requested in the form of consumer responses to surveys and determines when and how such feedback should result in downstream actions such as notifications to a brand manager, escalation to a supervising agent, or scheduling of a callback to the consumer.Survey manager 1900 may use machine learning algorithms to dynamically adapt survey strategies to meet certain fitness criteria such as improving the likelihood of obtaining a response, improving the quality of responses, or reducing consumer frustration. Such strategies may include, but are not limited to, changing the type of survey performed; changing the communication channel(s) through which the survey is performed; changing the time of performance of, or the time of invitation to, the survey; changing the questions asked in the survey; changing the order of the questions; and changing the wording of the questions. Surveys may be stored in a database such asbrand environment database 1050. -
FIG. 19 is a block diagram illustrating an exemplary system architecture for a survey manager aspect of an adaptive cloud conversation platform. In this embodiment,survey manager 1900 is a component of user management layer 130 of adaptivecloud conversation platform 100 and, as such, is capable of communicating with other components of adaptivecloud conversation platform 100, as has been previously described with respect to other components such asconversation manager 400,session manager 500,event manager 600, etc.Survey manager 1900 of this embodiment comprises aconsumer satisfaction analyzer 1910, asurvey context manager 1920, anevent thrower 1930, and anenvironment manager interface 1940. -
Survey manager 1900 determines when and how feedback from consumers should be requested in the form of surveys and determines when and how such feedback should result in downstream actions such as notifications to a brand manager or escalation to a supervising agent.Survey manager 1900 uses machine learning algorithms to dynamically adapt survey strategies to meet certain fitness criteria such as improving the likelihood of obtaining a response, improving the quality of responses, or reducing consumer frustration. Such strategies may include, but are not limited to, changing the type of survey performed; changing the communication channel(s) through which the survey is performed; changing the time of performance of, or the time of invitation to, the survey; changing the questions asked in the survey; changing the order of the questions; and changing the wording of the questions. - Surveys may be of many types including, but not limited to, conversational short message service (SMS) surveys in which questions are sent to the consumer via SMS and the consumer responds via SMS; web SMS surveys in which an invitation to complete a survey and a link to the survey are sent via SMS and the consumer responds by clicking on the link and completing a web-based survey; phone surveys in which the survey takes place via an audio call between the consumer and an agent; chat-based surveys in which the survey takes place via a text chat between the consumer and an agent, or between the consumer and a chatbot; email surveys in which an email is sent to the consumer either with questions to which the consumer can respond by reply email or with a link to a web-based survey; interactive voice response (IVR) surveys in which an outbound call is made to a consumer by an IVR or an inbound consumer's call is routed to an IVR configured to provide survey questions to the consumer via audio and to receive answers from the consumer via the phone keypad (e.g., dual-tone multi-frequency (DTMF) signals) or by speech from the consumer processed through speech-to-text (STT) processing; stand-alone web surveys to which the consumer may be connected after a website interaction such as completing a purchase online; surveys using application programming interfaces (APIs) to provide surveys through a standardized interface that can be integrated into websites, applications, and user interfaces.
-
Consumer satisfaction analyzer 1910 determines a level of consumer satisfaction. In this embodiment,consumer satisfaction analyzer 1910 received goals and intents data fromconversation manager 400 and sentiment data either fromsession manager 500 or from stored sentiment data from prior interactions. The sentiment data provides a direct indication of satisfaction related to a session, a conversation, a product, overall satisfaction with a brand, or other aspect of a consumer-brand relationship. The sentiment data may be compared with the goals and intents data to obtain a further indirect indication of satisfaction with the session, conversation, product, brand, or other aspect of a consumer-brand relationship. This can provide additional granularity in the determination of a consumer's satisfaction. For example, sentiment is typically analyzed on a discrete three-level scale (e.g., negative, neutral, or positive). If the consumer's sentiment data indicates a positive sentiment, this is a good indicator, but provides little additional information. However, ifconversation manager 400 determines that the consumer's goal was to obtain repair of a product, and the brand replaced the product with a new one instead, it can be assumed that the brand exceeded the consumer's goal and a modifier can be added to the sentiment, such as “high” positive sentiment. Conversely, ifconversation manager 400 determines that the consumer's goal was to obtain replacement of a product, and the brand repaired the product instead, it can be assumed that the brand fell short of the consumer's goal and a modifier can be added to the sentiment, such as “low” positive sentiment. Likewise,consumer satisfaction analyzer 1910 may receive fitness parameters fromenvironment manager 1000 via environment manager interface. The consumer's determined satisfaction (e.g., “low” positive sentiment) can be further compared against fitness parameters (long-term consumer loyalty) to determine thresholds (brand's goal is minimum of “moderate” positive sentiment) for taking action such as requesting a survey from the consumer. -
Survey context manager 1920 receives a determination of satisfaction fromconsumer satisfaction analyzer 1910 along with information fromconsumer profile database 820 such as the consumer profile, any relevant conversation data, and any previously obtained survey data, and recommends a strategy for surveying consumers based on the received data. The received data is processed bysurvey strategy analyzer 1921 to determine whether, when, and how to conduct a survey with the consumer to obtain relevant information about the consumer's satisfaction.Action generator 1922 generates recommended actions based on the outputs fromsurvey strategy analyzer 1921.Survey context manager 1920 learns about the consumer's consumer potential responses to surveys by analyzing data such as satisfaction data produced by theconsumer satisfaction analyzer 1910, information from the consumer's profile such as communication channel preferences and time of contact preferences, current and prior conversation data, and prior survey feedback data.Survey context manager 1920 uses machine learning algorithms to dynamically adapt survey strategies to meet certain fitness criteria such as improving the likelihood of obtaining a response, improving the quality of responses, or reducing consumer frustration. Such strategies may include, but are not limited to, changing the type of survey performed; changing the communication channel(s) through which the survey is performed; changing the time of performance of, or the time of invitation to, the survey; changing the questions asked in the survey; changing the order of the questions; and changing the wording of the questions. The training and operation of the machine learning algorithm is described later herein. The output ofsurvey context manager 1920 may be fed to other components for actions to be taken (e.g., scheduling of a survey to determine a consumer's current satisfaction after a period of little or no contact from the consumer) or may be fed to the machine learning algorithms of other components for further analysis (e.g., to the conversation manager to determine the best mode of starting a conversation or session to implement the survey). In this way, the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two. -
Event thrower 1930 throws events to other platform components with instructions to schedule or establish communications with a consumer either associated with an existing conversation or a new conversation. Further,event thrower 1930 passes events related to downstream actions to environment manager interface for handling byenvironment manager 1000. -
Environment manager interface 1940 receives fitness parameters fromenvironment manager 1000 and passes them toconsumer satisfaction analyzer 1910.Environment manager interface 1940 further receives events thrown byevent thrower 1930 related to downstream actions generated byaction generator 1922 and passes them toenvironment manager 1000. Downstream events are actions to be taken by brand such as sending notifications to a team or group at brand (e.g., via group messaging systems such as Slack, Microsoft® Teams, or brand-proprietary equivalents), sending notifications using native tools in an underlying consumer service (e.g., contact center as a service (CCAAS) platforms); creating a service request in a customer relationship management (CRM) platform; and notifying supervisors of managers via SMS, email, or other means. -
FIG. 20 is a block diagram illustrating an exemplary system architecture for a machine learning algorithm network aspect of an adaptive cloud conversation platform. The exemplary system architecture shown here is the same as that shown inFIG. 11 , with the addition of asurvey context manager 1920. In this embodiment, thesurvey context manager 1920 sentiment analyses (Session CM outputs) as a pass-through fromconversation context manager 420 and goals/needs analyses (Conversation CM outputs) fromconversation context manager 420, as well as fitness parameters fromenvironment manager 1000.Survey context manager 1920 determines a level of consumer satisfaction from the sentiment analyses and goals/needs analyses, and uses machine learning algorithms to dynamically adapt survey strategies to the fitness criteria such as improving the likelihood of obtaining a response, improving the quality of responses, or reducing consumer frustration. Such strategies may include, but are not limited to, changing the type of survey performed; changing the communication channel(s) through which the survey is performed; changing the time of performance of, or the time of invitation to, the survey; changing the questions asked in the survey; changing the order of the questions; and changing the wording of the questions. The output ofsurvey context manager 1920 may be fed to other components for actions to be taken (e.g., scheduling of a survey to determine a consumer's current satisfaction after a period of little or no contact from the consumer) or may be fed to the machine learning algorithms of other components for further analysis (e.g., to the conversation manager to determine the best mode of starting a conversation or session to implement the survey). In this way, the outputs of the machine learning algorithm(s) of each component of the platform may be acted on separately, or may be used as part of a network of machine learning algorithms, or some combination of the two. - The training and operation of the machine learning algorithm is described later herein. In some embodiments, the survey strategies may be generated from unsupervised machine learning algorithms or reinforcement machine learning algorithms rather than supervised (i.e., pre-trained) machine learning algorithms. An unsupervised machine learning algorithm learns from the data itself by association, clustering, or dimensionality reduction, rather than having been pre-trained to discriminate between labeled input data. Reinforcement learning algorithms learn from repeated iterations of outcomes based on probabilities with successful outcomes being rewarded. These types of machine learning algorithms are ideal for exploring large number of possible outcomes such as possible outcomes from different approaches to a conversation, and so would be suitable for proposing responses to consumer queries.
-
FIG. 21 is a flow diagram illustrating an exemplary method for training and operation of machine learning algorithms for survey context manager. In this example, it is assumed that a supervised machine learning algorithm (MLA) is being used, but in other embodiments, unsupervised machine learning algorithms or reinforcement machine learning algorithms may be used if better suited to the analyses being performed. Here, machine learning algorithm is trained 2110 on labeled data such assatisfaction data 2111 a,consumer profile information 2111 b, conversation and session data 2111 c, andprior survey information 2111 n. Once MLA has been trained, actual data is processed 2120 through trained machine learning algorithm such assatisfaction data 2121 a fromconsumer satisfaction analyzer 2110,consumer profile data 2121 b, and conversation andsession data 2121 c, andprior survey data 2111 n. MLA outputs a strategy for conducting thesurvey 2130, and an action is taken based on thestrategy 2140 such as scheduling asurvey 2141 a, changing thesurvey type 2141 b, changing the channel ofcommunication 2141 c, changing the questions asked 2141 n, etc. As feedback data is received from thecallback 2150, it may be used to retrain the machine learning algorithm 2160. Over time, the MLA will adapt its outputs to the retraining based on real-world data to provide more accurate predictions. - Generally, the techniques disclosed herein may be implemented on hardware or a combination of software and hardware. For example, they may be implemented in an operating system kernel, in a separate user process, in a library package bound into network applications, on a specially constructed machine, on an application-specific integrated circuit (“ASIC”), or on a network interface card.
- Software/hardware hybrid implementations of at least some of the aspects disclosed herein may be implemented on a programmable network-resident machine (which should be understood to include intermittently connected network-aware machines) selectively activated or reconfigured by a computer program stored in memory. Such network devices may have multiple network interfaces that may be configured or designed to utilize different types of network communication protocols. A general architecture for some of these machines may be described herein in order to illustrate one or more exemplary means by which a given unit of functionality may be implemented. According to specific aspects, at least some of the features or functionalities of the various aspects disclosed herein may be implemented on one or more general-purpose computers associated with one or more networks, such as for example an end-user computer system, a client computer, a network server or other server system, a mobile computing device (e.g., tablet computing device, mobile phone, smartphone, laptop, or other appropriate computing device), a consumer electronic device, a music player, or any other suitable electronic device, router, switch, or other suitable device, or any combination thereof. In at least some aspects, at least some of the features or functionalities of the various aspects disclosed herein may be implemented in one or more virtualized computing environments (e.g., network computing clouds, virtual machines hosted on one or more physical computing machines, or other appropriate virtual environments).
- Referring now to
FIG. 22 , there is shown a block diagram depicting anexemplary computing device 10 suitable for implementing at least a portion of the features or functionalities disclosed herein.Computing device 10 may be, for example, any one of the computing machines listed in the previous paragraph, or indeed any other electronic device capable of executing software- or hardware-based instructions according to one or more programs stored in memory.Computing device 10 may be configured to communicate with a plurality of other computing devices, such as clients or servers, over communications networks such as a wide area network a metropolitan area network, a local area network, a wireless network, the Internet, or any other network, using known protocols for such communication, whether wireless or wired. - In one embodiment,
computing device 10 includes one or more central processing units (CPU) 12, one ormore interfaces 15, and one or more busses 14 (such as a peripheral component interconnect (PCI) bus). When acting under the control of appropriate software or firmware,CPU 12 may be responsible for implementing specific functions associated with the functions of a specifically configured computing device or machine. For example, in at least one embodiment, acomputing device 10 may be configured or designed to function as a serversystem utilizing CPU 12,local memory 11 and/orremote memory 16, and interface(s) 15. In at least one embodiment,CPU 12 may be caused to perform one or more of the different types of functions and/or operations under the control of software modules or components, which for example, may include an operating system and any appropriate applications software, drivers, and the like. -
CPU 12 may include one ormore processors 13 such as, for example, a processor from one of the Intel, ARM, Qualcomm, and AMD families of microprocessors. In some embodiments,processors 13 may include specially designed hardware such as application-specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), field-programmable gate arrays (FPGAs), and so forth, for controlling operations ofcomputing device 10. In a specific embodiment, a local memory 11 (such as non-volatile random access memory (RAM) and/or read-only memory (ROM), including for example one or more levels of cached memory) may also form part ofCPU 12. However, there are many different ways in which memory may be coupled tosystem 10.Memory 11 may be used for a variety of purposes such as, for example, caching and/or storing data, programming instructions, and the like. It should be further appreciated thatCPU 12 may be one of a variety of system-on-a-chip (SOC) type hardware that may include additional hardware such as memory or graphics processing chips, such as a QUALCOMM SNAPDRAGON™ or SAMSUNG EXYNOS™ CPU as are becoming increasingly common in the art, such as for use in mobile devices or integrated devices. - As used herein, the term “processor” is not limited merely to those integrated circuits referred to in the art as a processor, a mobile processor, or a microprocessor, but broadly refers to a microcontroller, a microcomputer, a programmable logic controller, an application-specific integrated circuit, and any other programmable circuit.
- In one embodiment, interfaces 15 are provided as network interface cards (NICs). Generally, NICs control the sending and receiving of data packets over a computer network; other types of
interfaces 15 may for example support other peripherals used withcomputing device 10. Among the interfaces that may be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, graphics interfaces, and the like. In addition, various types of interfaces may be provided such as, for example, universal serial bus (USB), Serial, Ethernet, FIREWIRE™, THUNDERBOLT™, PCI, parallel, radio frequency (RF), BLUETOOTH™, near-field communications (e.g., using near-field magnetics), 802.11 (Wi-Fi), frame relay, TCP/IP, ISDN, fast Ethernet interfaces, Gigabit Ethernet interfaces, Serial ATA (SATA) or external SATA (ESATA) interfaces, high-definition multimedia interface (HDMI), digital visual interface (DVI), analog or digital audio interfaces, asynchronous transfer mode (ATM) interfaces, high-speed serial interface (HSSI) interfaces, Point of Sale (POS) interfaces, fiber data distributed interfaces (FDDIs), and the like. Generally,such interfaces 15 may include physical ports appropriate for communication with appropriate media. In some cases, they may also include an independent processor (such as a dedicated audio or video processor, as is common in the art for high-fidelity AN hardware interfaces) and, in some instances, volatile and/or non-volatile memory (e.g., RAM). - Although the system shown in
FIG. 22 illustrates one specific architecture for acomputing device 10 for implementing one or more of the inventions described herein, it is by no means the only device architecture on which at least a portion of the features and techniques described herein may be implemented. For example, architectures having one or any number ofprocessors 13 may be used, andsuch processors 13 may be present in a single device or distributed among any number of devices. In one embodiment, asingle processor 13 handles communications as well as routing computations, while in other embodiments a separate dedicated communications processor may be provided. In various embodiments, different types of features or functionalities may be implemented in a system according to the invention that includes a client device (such as a tablet device or smartphone running client software) and server systems (such as a server system described in more detail below). - Regardless of network device configuration, the system of the present invention may employ one or more memories or memory modules (such as, for example,
remote memory block 16 and local memory 11) configured to store data, program instructions for the general-purpose network operations, or other information relating to the functionality of the embodiments described herein (or any combinations of the above). Program instructions may control execution of or comprise an operating system and/or one or more applications, for example.Memory 16 ormemories - Because such information and program instructions may be employed to implement one or more systems or methods described herein, at least some network device embodiments may include nontransitory machine-readable storage media, which, for example, may be configured or designed to store program instructions, state information, and the like for performing various operations described herein. Examples of such nontransitory machine-readable storage media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as optical disks, and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM), flash memory (as is common in mobile devices and integrated systems), solid state drives (SSD) and “hybrid SSD” storage drives that may combine physical components of solid state and hard disk drives in a single hardware device (as are becoming increasingly common in the art with regard to personal computers), memristor memory, random access memory (RAM), and the like. It should be appreciated that such storage means may be integral and non-removable (such as RAM hardware modules that may be soldered onto a motherboard or otherwise integrated into an electronic device), or they may be removable such as swappable flash memory modules (such as “thumb drives” or other removable media designed for rapidly exchanging physical storage devices), “hot-swappable” hard disk drives or solid state drives, removable optical storage discs, or other such removable media, and that such integral and removable storage media may be utilized interchangeably. Examples of program instructions include both object code, such as may be produced by a compiler, machine code, such as may be produced by an assembler or a linker, byte code, such as may be generated by for example a JAVA™ compiler and may be executed using a Java virtual machine or equivalent, or files containing higher level code that may be executed by the computer using an interpreter (for example, scripts written in Python, Perl, Ruby, Groovy, or any other scripting language).
- In some embodiments, systems according to the present invention may be implemented on a standalone computing system. Referring now to
FIG. 23 , there is shown a block diagram depicting a typical exemplary architecture of one or more embodiments or components thereof on a standalone computing system.Computing device 20 includesprocessors 21 that may run software that carry out one or more functions or applications of embodiments of the invention, such as for example aclient application 24.Processors 21 may carry out computing instructions under control of anoperating system 22 such as, for example, a version of MICROSOFT WINDOWS™ operating system, APPLE OSX™ or iOS™ operating systems, some variety of the Linux operating system, ANDROID™ operating system, or the like. In many cases, one or more sharedservices 23 may be operable insystem 20, and may be useful for providing common services toclient applications 24.Services 23 may for example be WINDOWS™ services, user-space common services in a Linux environment, or any other type of common service architecture used withoperating system 21.Input devices 28 may be of any type suitable for receiving user input, including for example a keyboard, touchscreen, microphone (for example, for voice input), mouse, touchpad, trackball, or any combination thereof.Output devices 27 may be of any type suitable for providing output to one or more users, whether remote or local tosystem 20, and may include for example one or more screens for visual output, speakers, printers, or any combination thereof.Memory 25 may be random-access memory having any structure and architecture known in the art, for use byprocessors 21, for example to run software.Storage devices 26 may be any magnetic, optical, mechanical, memristor, or electrical storage device for storage of data in digital form (such as those described above, referring toFIG. 22 ). Examples ofstorage devices 26 include flash memory, magnetic hard drive, CD-ROM, and/or the like. - In some embodiments, systems of the present invention may be implemented on a distributed computing network, such as one having any number of clients and/or servers. Referring now to
FIG. 24 , there is shown a block diagram depicting anexemplary architecture 30 for implementing at least a portion of a system according to an embodiment of the invention on a distributed computing network. According to the embodiment, any number ofclients 33 may be provided. Eachclient 33 may run software for implementing client-side portions of the present invention; clients may comprise asystem 20 such as that illustrated inFIG. 23 . In addition, any number ofservers 32 may be provided for handling requests received from one ormore clients 33.Clients 33 andservers 32 may communicate with one another via one or moreelectronic networks 31, which may be in various embodiments any of the Internet, a wide area network, a mobile telephony network (such as CDMA or GSM cellular networks), a wireless network (such as WiFi, WiMAX, LTE, and so forth), or a local area network (or indeed any network topology known in the art; the invention does not prefer any one network topology over any other).Networks 31 may be implemented using any known network protocols, including for example wired and/or wireless protocols. - In addition, in some embodiments,
servers 32 may callexternal services 37 when needed to obtain additional information, or to refer to additional data concerning a particular call. Communications withexternal services 37 may take place, for example, via one ormore networks 31. In various embodiments,external services 37 may comprise web-enabled services or functionality related to or installed on the hardware device itself. For example, in an embodiment whereclient applications 24 are implemented on a smartphone or other electronic device,client applications 24 may obtain information stored in aserver system 32 in the cloud or on anexternal service 37 deployed on one or more of a particular enterprise's or user's premises. - In some embodiments of the invention,
clients 33 or servers 32 (or both) may make use of one or more specialized services or appliances that may be deployed locally or remotely across one ormore networks 31. For example, one ormore databases 34 may be used or referred to by one or more embodiments of the invention. It should be understood by one having ordinary skill in the art thatdatabases 34 may be arranged in a wide variety of architectures and using a wide variety of data access and manipulation means. For example, in various embodiments one ormore databases 34 may comprise a relational database system using a structured query language (SQL), while others may comprise an alternative data storage technology such as those referred to in the art as “NoSQL” (for example, HADOOP CASSANDRA™, GOOGLE BIGTABLE™, and so forth). In some embodiments, variant database architectures such as column-oriented databases, in-memory databases, clustered databases, distributed databases, or even flat file data repositories may be used according to the invention. It will be appreciated by one having ordinary skill in the art that any combination of known or future database technologies may be used as appropriate, unless a specific database technology or a specific arrangement of components is specified for a particular embodiment herein. Moreover, it should be appreciated that the term “database” as used herein may refer to a physical database machine, a cluster of machines acting as a single database system, or a logical database within an overall database management system. Unless a specific meaning is specified for a given use of the term “database”, it should be construed to mean any of these senses of the word, all of which are understood as a plain meaning of the term “database” by those having ordinary skill in the art. - Similarly, most embodiments of the invention may make use of one or
more security systems 36 andconfiguration systems 35. Security and configuration management are common information technology (IT) and web functions, and some amount of each are generally associated with any IT or web systems. It should be understood by one having ordinary skill in the art that any configuration or security subsystems known in the art now or in the future may be used in conjunction with embodiments of the invention without limitation, unless aspecific security 36 orconfiguration system 35 or approach is specifically required by the description of any specific embodiment. -
FIG. 25 shows an exemplary overview of acomputer system 40 as may be used in any of the various locations throughout the system. It is exemplary of any computer that may execute code to process data. Various modifications and changes may be made tocomputer system 40 without departing from the broader scope of the system and method disclosed herein. Central processor unit (CPU) 41 is connected tobus 42, to which bus is also connectedmemory 43,nonvolatile memory 44,display 47, input/output (I/O) unit 48, and network interface card (NIC) 53. I/O unit 48 may, typically, be connected tokeyboard 49, pointingdevice 50,hard disk 52, and real-time clock 51.NIC 53 connects to network 54, which may be the Internet or a local network, which local network may or may not have connections to the Internet. Also shown as part ofsystem 40 is power supply unit 45 connected, in this example, to a main alternating current (AC)supply 46. Not shown are batteries that could be present, and many other devices and modifications that are well known but are not applicable to the specific novel functions of the current system and method disclosed herein. It should be appreciated that some or all components illustrated may be combined, such as in various integrated applications, for example Qualcomm or Samsung system-on-a-chip (SOC) devices, or whenever it may be appropriate to combine multiple capabilities or functions into a single hardware device (for instance, in mobile devices such as smartphones, video game consoles, in-vehicle computer systems such as navigation or multimedia systems in automobiles, or other integrated hardware devices). - In various embodiments, functionality for implementing systems or methods of the present invention may be distributed among any number of client and/or server components. For example, various software modules may be implemented for performing various functions in connection with the present invention, and such modules may be variously implemented to run on server and/or client components.
- The skilled person will be aware of a range of possible modifications of the various embodiments described above. Accordingly, the present invention is defined by the claims and their equivalents.
Claims (18)
1. An adaptive cloud conversation platform, comprising:
a computing device comprising a memory, a processor, and a non-volatile data storage device;
a consumer profile database stored on the non-volatile data storage device, the consumer profile database comprising one or more consumer profiles;
a survey manager comprising a first plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to:
receive conversation data for a conversation with a consumer, the conversation data comprising an interaction between the consumer and a brand and satisfaction data for the conversation;
process the conversation data through a first machine learning algorithm to obtain a survey strategy, the survey strategy comprising a determination that a survey of the consumer should be conducted and a type of survey to be conducted; and
forward the survey strategy to a conversation manager;
the conversation manager comprising a second plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to:
receive the survey strategy;
retrieve a consumer profile for the consumer from the consumer profile database, the consumer profile comprising a plurality of preferences of the consumer;
process the plurality of preferences through a second machine learning algorithm to select a channel through which to conduct the survey with the consumer; and
forward the channel selection to a schedule manager;
the schedule manager comprising a third plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to:
receive the channel selection from the conversation manager;
retrieve the consumer profile;
process the plurality of preferences through a third machine learning algorithm to select a time at which to conduct the callback with the consumer through the selected channel;
schedule a survey to be conducted with the consumer at the selected time through the selected channel; and forward the survey schedule to a callback manager; and
the callback manager comprising a fourth plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to:
receive the survey schedule; and
retrieve a survey of the type specified in the survey strategy;
execute the survey strategy by conducting the survey at the selected time through the selected channel as indicated in the survey schedule.
2. The platform of claim 1 , wherein:
the survey manager is further configured to:
receive survey feedback from the consumer;
process the survey feedback through the first machine learning algorithm to determine whether a callback is recommended based on the survey feedback; and
forward the determination to the conversation manager;
the conversation manager is further configured to:
receive the determination;
retrieve the consumer profile;
process the plurality of preferences through the second machine learning algorithm to select a channel through which to conduct the callback with the consumer;
the schedule manager is further configured to:
receive the channel selection from the conversation manager;
retrieve the consumer profile;
process the plurality of preferences through the third machine learning algorithm to select a time at which to conduct the callback with the consumer through the selected channel;
schedule a callback to be conducted with the consumer at the selected time through the selected channel; and
forward the survey schedule to the callback manager; and
the callback manager is further configured to:
receive the callback schedule; and
execute the callback by conducting the callback at the selected time through the selected channel as indicated in the callback schedule.
3. The platform of claim 1 , further comprising a consumer context manager comprising a third plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to:
receive the conversation data;
retrieve the consumer profile, the consumer profile further comprising a plurality of behaviors of the consumer;
process the conversation data and the plurality of behaviors of the consumer through a fourth machine learning algorithm to determine whether a second callback to the consumer should be made; and
where the determination is that a second callback should be made, forward the determination to the conversation manager as the determination that a callback should be made to a consumer.
4. The platform of claim 3 , further comprising a session manager comprising a fourth plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to:
receive the conversation data;
process the conversation data through a fifth machine learning algorithm to determine a consumer sentiment; and
forward the determined sentiment to the consumer context manager as an additional input to the fourth machine learning algorithm's determination as to whether a callback to the consumer should be made.
5. The platform of claim 3 , wherein:
the conversation manager is further configured to:
process the conversation data through a sixth machine learning algorithm to determine a consumer goal, need, or intent; and
forward the determined goal, need, or intent to the consumer context manager as an additional input to the fourth machine learning algorithm's determination as to whether a callback to the consumer should be made.
6. The platform of claim 3 , further comprising:
an event rules database stored on the non-volatile data storage device, the event rules database comprising rules for triggering communications with consumers based on events occurring outside of a conversation; and
an event manager comprising a seventh plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to:
receive notification of an event;
match the event to a rule in the event rules database; and
forward the matched event to the conversation manager as the determination that a callback should be made to the consumer.
7. The platform of claim 6 , wherein:
the event manager is further configured to:
retrieve the consumer profile;
process the consumer profile and one or more rules from the event rules database through an eighth machine learning algorithm to determine a new rule for triggering communications with the consumer; and
store the new rule in the event rules database.
8. The platform of claim 3 , further comprising:
a brand environment database stored on the non-volatile data storage device, the brand environment database comprising brand information related to conversations with consumers of the brand;
an environment manager comprising an eighth plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to:
retrieve the consumer profile;
retrieve the brand information from the brand environment database;
process the consumer profile and the brand information through a ninth machine learning algorithm to determine whether a campaign of communications should be established with a plurality of consumers; and
forward the determination to the conversation manager as the determination that a callback should be made to the consumer.
9. The platform of claim 8 , further comprising:
a consumer manager comprising a ninth plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to:
retrieve the consumer profile for the consumer from the consumer profile database;
receive a fitness parameter from the environment manager;
process the consumer profile and the fitness parameter through a tenth machine learning algorithm to identify opportunities for proactive conversations with the consumer; and
forward the identified to the consumer context manager as an additional input to the second machine learning algorithm's selection of the channel through which the callback should be made.
10. A method for operating an adaptive cloud conversation platform, comprising the steps of:
using a survey manager operating on a computing device comprising a memory, a processor, and a non-volatile data storage device to:
receive conversation data for a conversation with a consumer, the conversation data comprising an interaction between the consumer and a brand and satisfaction data for the conversation;
process the conversation data through a first machine learning algorithm to obtain a survey strategy, the survey strategy comprising a determination that a survey of the consumer should be conducted and a type of survey to be conducted; and
forward the survey strategy to a conversation manager;
a conversation manager comprising a second plurality of programming instructions stored in the memory which, when operating on the processor, causes the computing device to:
receive the survey strategy;
retrieve a consumer profile for the consumer from a consumer profile database stored on the non-volatile data storage device, the consumer profile database comprising one or more consumer profiles, and the consumer profile comprising a plurality of preferences of the consumer;
process the plurality of preferences through a second machine learning algorithm to select a channel through which to conduct the survey with the consumer; and
forward the channel selection to a schedule manager;
using a schedule manager operating on the computing device to:
receive the channel selection from the conversation manager;
retrieve the consumer profile;
process the plurality of preferences through a third machine learning algorithm to select a time at which to conduct the callback with the consumer through the selected channel;
schedule a survey to be conducted with the consumer at the selected time through the selected channel; and forward the survey schedule to a callback manager; and
using a callback manager operating on the computing device to:
receive the survey schedule; and
retrieve a survey of the type specified in the survey strategy;
execute the survey strategy by conducting the survey at the selected time through the selected channel as indicated in the survey schedule.
11. The method of claim 10 , further comprising the steps of:
using the survey manager to:
receive survey feedback from the consumer;
process the survey feedback through the first machine learning algorithm to determine whether a callback is recommended based on the survey feedback; and
forward the determination to the conversation manager;
using the conversation manager to:
receive the determination;
retrieve the consumer profile;
process the plurality of preferences through the second machine learning algorithm to select a channel through which to conduct the callback with the consumer;
using the schedule manager to:
receive the channel selection from the conversation manager;
retrieve the consumer profile;
process the plurality of preferences through the third machine learning algorithm to select a time at which to conduct the callback with the consumer through the selected channel;
schedule a callback to be conducted with the consumer at the selected time through the selected channel; and
forward the survey schedule to the callback manager; and
using the callback manager to:
receive the callback schedule; and
execute the callback by conducting the callback at the selected time through the selected channel as indicated in the callback schedule.
12. The method of claim 10 , further comprising the steps of using a consumer context manager operating on the computing device to:
receive the conversation data;
retrieve the consumer profile, the consumer profile further comprising a plurality of behaviors of the consumer;
process the conversation data and the plurality of behaviors of the consumer through a fourth machine learning algorithm to determine whether a second callback to the consumer should be made; and
where the determination is that a second callback should be made, forward the determination to the conversation manager as the determination that a callback should be made to a consumer.
13. The method of claim 12 , further comprising the steps of using a session manager operating on the computing device to:
receive the conversation data;
process the conversation data through a fifth machine learning algorithm to determine a consumer sentiment; and
forward the determined sentiment to the consumer context manager as an additional input to the fourth machine learning algorithm's determination as to whether a callback to the consumer should be made.
14. The method of claim 12 , further comprising the steps of:
using the conversation manager to:
process the conversation data through a sixth machine learning algorithm to determine a consumer goal, need, or intent; and
forward the determined goal, need, or intent to the consumer context manager as an additional input to the fourth machine learning algorithm's determination as to whether a callback to the consumer should be made.
15. The method of claim 12 , further comprising the steps of:
creating an event rules database on the non-volatile data storage device, the event rules database comprising rules for triggering communications with consumers based on events occurring outside of a conversation; and
using an event manager operating on the computing device to:
receive notification of an event;
match the event to a rule in the event rules database; and
forward the matched event to the conversation manager as the determination that a callback should be made to the consumer.
16. The method of claim 15 , further comprising the steps of:
using the event manager to:
retrieve the consumer profile;
process the consumer profile and one or more rules from the event rules database through an eighth machine learning algorithm to determine a new rule for triggering communications with the consumer; and
store the new rule in the event rules database.
17. The method of claim 12 , further comprising the steps of:
creating a brand environment database on the non-volatile data storage device, the brand environment database comprising brand information related to conversations with consumers of the brand;
using an environment manager operating on the computing device to:
retrieve the consumer profile;
retrieve the brand information from the brand environment database;
process the consumer profile and the brand information through a ninth machine learning algorithm to determine whether a campaign of communications should be established with a plurality of consumers; and
forward the determination to the conversation manager as the determination that a callback should be made to the consumer.
18. The method of claim 17 , further comprising the steps of:
using a consumer manager operating on the computing device to:
retrieve the consumer profile for the consumer from the consumer profile database;
receive a fitness parameter from the environment manager;
process the consumer profile and the fitness parameter through a tenth machine learning algorithm to identify opportunities for proactive conversations with the consumer; and
forward the identified to the consumer context manager as an additional input to the second machine learning algorithm's selection of the channel through which the callback should be made.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/896,013 US20230057877A1 (en) | 2009-01-28 | 2022-08-25 | Consumer - oriented adaptive cloud conversation platform |
US17/895,573 US20230073930A1 (en) | 2009-01-28 | 2022-08-25 | A system and method for adaptive cloud conversation platform |
US17/895,651 US11743387B2 (en) | 2009-01-28 | 2022-08-25 | System and method for an adaptive cloud conversation platform |
US17/895,955 US11856142B2 (en) | 2009-01-28 | 2022-08-25 | Adaptive cloud conversation ecosystem |
US18/325,065 US20230388420A1 (en) | 2009-01-28 | 2023-05-29 | Adaptive cloud conversation ecosystem |
US18/325,062 US20230388419A1 (en) | 2009-01-28 | 2023-05-29 | System and method for an adaptive cloud conversation platform |
Applications Claiming Priority (22)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/320,517 US8213911B2 (en) | 2009-01-28 | 2009-01-28 | Mobile communication device for establishing automated call back |
US13/446,758 US8792866B2 (en) | 2009-01-28 | 2012-04-13 | Communication device for establishing call back |
US13/479,870 US9055149B2 (en) | 2009-01-28 | 2012-05-24 | Managing, directing, and queuing communication events using image technology |
US13/659,902 US8938221B2 (en) | 2009-01-28 | 2012-10-24 | System and method for providing a callback cloud |
US14/532,001 US10375245B2 (en) | 2009-01-28 | 2014-11-04 | Unified cross channel communications |
US201662291049P | 2016-02-04 | 2016-02-04 | |
US15/411,534 US10455090B2 (en) | 2016-02-04 | 2017-01-20 | Intermediary device for data message network routing and enhancement in a contact center environment |
US16/058,044 US11012568B2 (en) | 2009-01-28 | 2018-08-08 | System and method for providing chat-based customer callbacks |
US16/152,403 US20190028588A1 (en) | 2009-01-28 | 2018-10-04 | System and method for assisting customers in accessing appropriate customer service options related to a company's products or services |
US201962820190P | 2019-03-18 | 2019-03-18 | |
US201962858454P | 2019-06-07 | 2019-06-07 | |
US16/542,577 US10609218B1 (en) | 2019-03-18 | 2019-08-16 | System and method for intent-based active callback management |
US16/591,096 US11431847B2 (en) | 2016-02-04 | 2019-10-02 | Intermediary device for data message network routing and enhancement in a contact center environment |
US16/836,798 US10992811B2 (en) | 2019-03-18 | 2020-03-31 | System and method for intent-based active callback management |
US16/896,108 US20200304641A1 (en) | 2009-01-28 | 2020-06-08 | System and method for hybrid callback management and failure recovery |
US16/995,424 US20200382643A1 (en) | 2009-01-28 | 2020-08-17 | System and method for hybrid callback management and failure recovery |
US17/011,248 US11032424B2 (en) | 2009-01-28 | 2020-09-03 | System and method for hybrid callback management and failure recovery |
US17/235,408 US11489964B2 (en) | 2019-03-18 | 2021-04-20 | System and method for intent-based active callback management |
US17/336,405 US11522997B2 (en) | 2009-01-28 | 2021-06-02 | System and method for hybrid callback management and failure recovery |
US17/358,331 US11546472B2 (en) | 2009-01-28 | 2021-06-25 | System and method for a cloud callback platform |
US17/893,006 US11611658B2 (en) | 2009-01-28 | 2022-08-22 | System and method for adaptive cloud conversation platform |
US17/895,573 US20230073930A1 (en) | 2009-01-28 | 2022-08-25 | A system and method for adaptive cloud conversation platform |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/893,006 Continuation US11611658B2 (en) | 2009-01-28 | 2022-08-22 | System and method for adaptive cloud conversation platform |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/895,651 Continuation-In-Part US11743387B2 (en) | 2009-01-28 | 2022-08-25 | System and method for an adaptive cloud conversation platform |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230073930A1 true US20230073930A1 (en) | 2023-03-09 |
Family
ID=84390102
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/893,006 Active US11611658B2 (en) | 2009-01-28 | 2022-08-22 | System and method for adaptive cloud conversation platform |
US17/895,573 Abandoned US20230073930A1 (en) | 2009-01-28 | 2022-08-25 | A system and method for adaptive cloud conversation platform |
US18/078,914 Active US11800016B2 (en) | 2009-01-28 | 2022-12-09 | System and method for adaptive cloud conversation platform |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/893,006 Active US11611658B2 (en) | 2009-01-28 | 2022-08-22 | System and method for adaptive cloud conversation platform |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/078,914 Active US11800016B2 (en) | 2009-01-28 | 2022-12-09 | System and method for adaptive cloud conversation platform |
Country Status (1)
Country | Link |
---|---|
US (3) | US11611658B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11943392B2 (en) * | 2022-08-31 | 2024-03-26 | Capital One Services, Llc | System and method for providing personalized customer experience in interactive communications |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095575A1 (en) * | 2001-02-27 | 2006-05-04 | Sureka Ashutosh K | Interactive assistant for managing telephone communications |
US20120106728A1 (en) * | 2001-02-27 | 2012-05-03 | Verizon Laboratories Inc. | Methods and systems for integrating communications services |
US20140378110A1 (en) * | 2002-02-27 | 2014-12-25 | Verizon Patent And Licensing Inc. | Methods and systems for call management with user intervention |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6731625B1 (en) | 1997-02-10 | 2004-05-04 | Mci Communications Corporation | System, method and article of manufacture for a call back architecture in a hybrid network with support for internet telephony |
US7912193B2 (en) * | 2001-02-27 | 2011-03-22 | Verizon Data Services Llc | Methods and systems for call management with user intervention |
US20030130864A1 (en) | 2002-01-09 | 2003-07-10 | Ho Edwin Kong-Sun | Facilitation of mobile direct response by service callback |
US8781092B2 (en) | 2005-05-16 | 2014-07-15 | Noble Systems Corporation | Systems and methods for callback processing |
US9106704B2 (en) | 2007-01-18 | 2015-08-11 | Yellowpages.Com Llc | Systems and methods to provide connections via callback acceptance |
US8831203B2 (en) | 2008-12-23 | 2014-09-09 | Genesys Telecommunications Laboratories, Inc. | System and methods for tracking unresolved customer involvement with a service organization and automatically formulating a dynamic service solution |
US9124694B2 (en) | 2012-08-08 | 2015-09-01 | 24/7 Customer, Inc. | Method and apparatus for intent prediction and proactive service offering |
US9148512B1 (en) | 2013-10-11 | 2015-09-29 | Angel.Com Incorporated | Routing user communications to agents |
US9282124B2 (en) | 2013-03-14 | 2016-03-08 | Twilio, Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US11200485B2 (en) | 2017-05-22 | 2021-12-14 | Genesys Telecommunications Laboratories, Inc. | Contact center system and method for advanced outbound communications to a contact group |
US10229370B1 (en) | 2017-08-29 | 2019-03-12 | Massachusetts Mutual Life Insurance Company | System and method for managing routing of customer calls to agents |
US10044647B1 (en) | 2018-03-09 | 2018-08-07 | Capital One Services, Llc | Systems and methods for controlling enrollment and secure persistent SMS texting account servicing with an intelligent assistant |
US10496438B1 (en) | 2018-09-28 | 2019-12-03 | Afiniti, Ltd. | Techniques for adapting behavioral pairing to runtime conditions in a task assignment system |
US10931825B2 (en) | 2018-10-26 | 2021-02-23 | Cisco Technology, Inc. | Contact center interaction routing using machine learning |
US20200202272A1 (en) | 2018-12-20 | 2020-06-25 | Genesys Telecommunications Laboratories, Inc. | Method and system for estimating expected improvement in a target metric for a contact center |
US11568305B2 (en) | 2019-04-09 | 2023-01-31 | Genesys Telecommunications Laboratories, Inc. | System and method for customer journey event representation learning and outcome prediction using neural sequence models |
US11170168B2 (en) | 2019-04-11 | 2021-11-09 | Genesys Telecommunications Laboratories, Inc. | Unsupervised adaptation of sentiment lexicon |
US20200334615A1 (en) | 2019-04-22 | 2020-10-22 | Google Llc | Predicting Business-Agnostic Contact Center Expected Wait Times With Deep Neural Networks |
US20200380984A1 (en) | 2019-06-01 | 2020-12-03 | Apple Inc. | Synchronization of remote context data |
CA3143020A1 (en) | 2019-06-12 | 2020-12-17 | Liveperson, Inc. | Systems and methods for communication system intent analysis |
US10904390B1 (en) | 2020-06-30 | 2021-01-26 | Avaya Management L.P. | Method of integrating artificial intelligence systems to dynamically adjust wrap-up time |
US11196864B1 (en) | 2020-10-20 | 2021-12-07 | International Business Machines Corporation | Analyzing voice response to telephone call to assign appropriate agent |
US11128754B1 (en) | 2020-11-16 | 2021-09-21 | Allstate Insurance Company | Machine learning system for routing optimization based on historical performance data |
US11134155B1 (en) | 2020-12-31 | 2021-09-28 | Genesys Telecommunications Laboratories, Inc. | Technologies for automated generation of contact center system embeddings |
-
2022
- 2022-08-22 US US17/893,006 patent/US11611658B2/en active Active
- 2022-08-25 US US17/895,573 patent/US20230073930A1/en not_active Abandoned
- 2022-12-09 US US18/078,914 patent/US11800016B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095575A1 (en) * | 2001-02-27 | 2006-05-04 | Sureka Ashutosh K | Interactive assistant for managing telephone communications |
US20120106728A1 (en) * | 2001-02-27 | 2012-05-03 | Verizon Laboratories Inc. | Methods and systems for integrating communications services |
US20140378110A1 (en) * | 2002-02-27 | 2014-12-25 | Verizon Patent And Licensing Inc. | Methods and systems for call management with user intervention |
Also Published As
Publication number | Publication date |
---|---|
US11611658B2 (en) | 2023-03-21 |
US11800016B2 (en) | 2023-10-24 |
US20230179711A1 (en) | 2023-06-08 |
US20220400179A1 (en) | 2022-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108476230B (en) | Optimal routing of machine learning based interactions to contact center agents | |
US20210304106A1 (en) | Automated multi-channel customer journey testing | |
US10586175B2 (en) | System and method for an optimized, self-learning and self-organizing contact center | |
US20180121766A1 (en) | Enhanced human/machine workforce management using reinforcement learning | |
US11856142B2 (en) | Adaptive cloud conversation ecosystem | |
US20180082210A1 (en) | System and method for optimizing communications using reinforcement learning | |
US11734648B2 (en) | Systems and methods relating to emotion-based action recommendations | |
US11763148B2 (en) | Systems and methods for managing interaction invitations | |
US11431725B2 (en) | Systems and methods for dynamic network pairings to enable end-to-end communications between electronic devices | |
US20230216959A1 (en) | System and method for enhanced virtual queuing | |
US20230388419A1 (en) | System and method for an adaptive cloud conversation platform | |
US11800016B2 (en) | System and method for adaptive cloud conversation platform | |
US20140081689A1 (en) | Work assignment through merged selection mechanisms | |
US20230396709A1 (en) | System and method for mobile device active callback prioritization with predictive outcome scoring | |
US11863706B2 (en) | System and method for a cloud callback platform with predictive multi-channel routing | |
US20230214783A1 (en) | System and method for adaptive cloud conversation platform | |
US20230370550A1 (en) | System and method for hybrid callback management utilizing conversational bots | |
US20230224408A1 (en) | System and method for callback management with alternate site routing and context-aware callback pacing | |
US11948160B2 (en) | System and method for autogenerated synthetic operational customer satisfaction scoring and analysis | |
US20230308545A1 (en) | System and method for callback management with alternate site routing, skill-based matching, and callback pacing | |
US20230199119A1 (en) | System and method for providing chat-based customer callbacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: VIRTUAL HOLD TECHNOLOGY SOLUTIONS, LLC, OHIO Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE THE APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 062133 FRAME: 0251. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNORS:DIMARIA, MATTHEW;MOLLER, MATTHEW DONALDSON;LEKAS, SHANNON;AND OTHERS;SIGNING DATES FROM 20220613 TO 20220718;REEL/FRAME:063169/0091 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |