WO2020068808A1 - Système et procédé pour optimiser le fonctionnement d'un système de gestion de conversation - Google Patents

Système et procédé pour optimiser le fonctionnement d'un système de gestion de conversation Download PDF

Info

Publication number
WO2020068808A1
WO2020068808A1 PCT/US2019/052671 US2019052671W WO2020068808A1 WO 2020068808 A1 WO2020068808 A1 WO 2020068808A1 US 2019052671 W US2019052671 W US 2019052671W WO 2020068808 A1 WO2020068808 A1 WO 2020068808A1
Authority
WO
WIPO (PCT)
Prior art keywords
dag
conversation
module
node
management system
Prior art date
Application number
PCT/US2019/052671
Other languages
English (en)
Inventor
Matthew B. COUGHLIN
Mark STOEHR
Original Assignee
XSELL Technologies, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by XSELL Technologies, Inc. filed Critical XSELL Technologies, Inc.
Publication of WO2020068808A1 publication Critical patent/WO2020068808A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • G06Q30/015Providing customer assistance, e.g. assisting a customer within a business location or via helpdesk
    • G06Q30/016After-sales
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area

Definitions

  • the present subj ect matter relates to a conversation management system and more particularly, to a system and method for optimizing operation of the conversation management system.
  • a customer (or prospective customer) of a vendor may contact an agent thereof to assist in a purchase of a product or service, obtain assistance with use of an already purchased product or service, or to obtain a modification of the product or terms of the service.
  • the agent may be, for example, a sales agent, a customer service representative, and the like.
  • the contact typically includes a conversation between the customer and the agent, and ideally, such conversation results in an outcome that is satisfactory for both the customer and the vendor or service provider.
  • FIG. l is a block diagram of conversation management system
  • FIG. 2 is a flowchart of steps undertaken by a conversation data acyclic graph generation module of the conversation management system of FIG. 1;
  • FIG. 3 is a flowchart of steps undertaken by a conversation module of the conversation management system of FIG. 1;
  • FIGS. 4 and 5 when joined along similarly lettered lines, together comprise a flowchart of steps undertaken by an optimization module of the conversation management system of FIG. 1;
  • FIG. 6 is a flowchart of steps undertaken by a testing module of the conversation management system of FIG. 1.
  • a conversation management system for optimizing operation of a conversation management system includes an optimization module operating on at least one processor.
  • the optimization module loads a directed acyclic graph (DAG) used by the conversation management system to facilitate a conversation between an agent and a customer, wherein the DAG includes a plurality of nodes and each node specifies a proposed agent response to generate in response a message received by the conversation management system.
  • the optimization module also analyzes a plurality of chat transcripts generated by the conversation management system, each chat transcript generated as a result of a conversation undertaken in accordance with the DAG, to identify a problem node of the DAG that specifies a proposed agent response that is substantially different than an actual agent response transmitted in response to a plurality of received customer messages. Thereafter, the optimization module displays statistics about the problem node and determines a corrective action to apply to problem node.
  • a method for optimizing operation of a conversation management system includes operating one or more processors the step of loading a directed acyclic graph (DAG) used by the conversation management system to facilitate a conversation between an agent and a customer.
  • the DAG includes a plurality of nodes and each node specifies a proposed agent response to generate in response a message received by the conversation management system.
  • the processor(s) also undertake the steps of analyzing a plurality of chat transcripts generated by the conversation management system, each chat transcript generated as a result of a conversation undertaken in accordance with the DAG, to identify a problem node of the DAG that specifies a proposed agent response that is substantially different than an actual agent response transmitted in response to a plurality of received customer messages.
  • the processor(s) undertake the steps of displaying statistics about problem node determining a corrective action to apply to problem node.
  • a method for improving operation of a state machine wherein the state machine transitions through a plurality of states until one of a plurality of terminal states is reached, wherein each of the plurality of terminal state is associated with one of a positive outcome and a negative outcome includes the step of developing a directed acyclic graph (DAG) representation of the state machine, wherein each node of the DAG represents a state of the state machine and specifies actions undertaken when the state represented thereby is executed.
  • DAG directed acyclic graph
  • the method also includes the steps of analyzing a performance history of the state machine to identify a node of the DAG that results in a terminal state associated with the negative outcome, determining a corrective action to apply to actions specified by the identified node, and modifying the execution of the state represented by the identified node in accordance with the corrective action.
  • a conversation management system (CMS) 100 facilitates a conversation between an agent using an agent computer 102 and a customer using a customer device 104.
  • the CMS 100 and the agent computer 102 communicate with one another over a local area network as depicted in FIG. 1.
  • the CMS 100 and the agent computer 102 communicate with one another over a wide area network 106 such as, for example, the Internet, a private network, a wireless network, a telephone network, a cellular network, and the like.
  • the CMS 100 facilitates communications of messages between the agent and the customer.
  • Such communications may be, for example, chat messages exchanged between the agent and the customer using the agent computer 102 and the customer device 104, respectively.
  • the agent specifies to the CMS 100 a message to send to the customer device 104 and in response the CMS 100 sends such message to the customer device 104.
  • the CMS 100 receives a message entered by the customer into the customer device 104 and presents the entered message at the agent computer 102.
  • the customer device 104 may be a computer, a telephone, or any other device that can produce visual and/or aural output and accept text and/or voice as input.
  • the communications sent by the CMS 100 to the customer device 104 and received thereby from the customer device 104 may include one or more of voice, images, video, and the like as specified by the agent and/or the customer into the agent computer 102 and/or customer device 104, respectively.
  • the description below specifies the exchange of textual chat messages between the agent and the customer, it should the apparent that any mode of communications therebetween may be facilitated by the CMS 100.
  • speech-to-text technologies may be used to convert audio messages from one or both of the agent computer 102 and the customer device 104 into text that is analyzed by the CMS 100 as described below, and to convert text messages from the CMS 100 into audio messages sent to one or both of the agent computer 102 and the customer device 104.
  • the CMS 100 may be configured to analyze and/or generate audio messages directly without intermediate conversion into and/or from text.
  • the CMS 100 includes a conversation directed acyclic graph (“conversation DAG”) 108 associated with the type of product or service sold or supported by the agent, a user interface module 110, a conversation module 112 that uses the conversation DAG 108 to manage the conversation between the agent and the customer, one or more classification modules(s) 114 that parse(s) and analyze(s) messages received from the customer device 104, a chat transcript data store 116 in which conversations are recorded, and a conversation optimization module 118 that analyzes transcripts of conversations stored in the chat transcript data store 114 to modify operation of one or more of the classification module(s) 114 and/or the conversation DAG 108 to improve the operation of the conversation module 112.
  • conversation DAG conversation directed acyclic graph
  • the optimization module 118 facilitates modification of the classification module(s) 114 and/or the conversation DAG 108 by a user operating an optimization user computer 120.
  • a testing module 122 evaluates the performance of the modified conversation DAG 108 and/or classification module(s) 114.
  • a directed acyclic graph is a collection of a plurality of nodes connected to another node by an edge. When followed, such edges specify a non-cyclic path that starts at a head node, passes through one or more intermediate nodes, and ends at a terminal node.
  • the conversation DAG 108 is a DAG that has nodes that represent a conversation between the agent and the customer regarding the product or service sold or supported by the agent on behalf of the vendor.
  • product or service may be, for example, consumer cellphone equipment and services, home improvement equipment and services, real estate services, and the like.
  • Each node of the conversation DAG 108 specifies a node name, an identifier of a chapter associated with the node, a plurality of output messages the agent should present to the customer in a ranked order, state variables used to track the conversation, and identities of one or more of classification module(s) 114 used to analyze the messages received from the customer device 104.
  • Each classification module 114 identified in the node is associated with a particular aspect or characteristic of the conversation.
  • the conversation module 112 receives a message from the customer device 104 at a particular portion of the conversation, the conversation module 112 directs the one or more classification module(s) 114 to analyze the received message. Thereafter, each classification module 114 returns a predetermined message annotation value that indicates whether the received message is associated with the aspect or characteristic associated with the classification module 114.
  • the predetermined message annotation generated by the classification module 114 may indicate, for example, a topic of the conversation, indication of a rapport between the agent and the customer, and the like.
  • Each such aspect is associated with one of the predetermined message annotation values and such values may include, for example, “greeting completed,”“product identified,”“topic identified,”“purchase new phone,” “upgrade service,”“already has phone,”“wants special offer,” and the like.
  • the node may specify multiple classification modules 114, each associated with a different aspect of a conversation, to analyze the received message to determine if the received message includes information about such aspect.
  • classifiers 114 are neural networks, natural language processors, other artificial engines, and the like that are trained and/or configured to analyze the received messages.
  • each node also specifies one or more state variable(s) that are used to record such aspects or characteristics of received messages, and thus track the progress of the conversation.
  • state variables specify, for example, whether the intent of the customer has been identified, whether a product has been identified, and the like.
  • a DAG generation module 124 of the CMS analyzes historical conversation between agents and customers stored in a historical conversation data store 126 to create the conversation DAG 108 and to train the classification module(s) 114.
  • FIG. 2 shows a flowchart 200 of the steps undertaken by the DAG generation module 124.
  • the DAG generation module 124 selects a transcript from the historical conversations data store 126.
  • Each such transcript includes natural language messages exchanged between an agent of the vendor and the customer of the vendor during a conversation.
  • the DAG generation module 124 associates one or more of the predetermined message annotations described above with the natural language messages received from the customer represented in the transcript.
  • the DAG generation module 124 uses a natural language processor to automatically associate the one or more message annotation(s) with the received messages. If such natural language processor is unable to automatically associate the one or more annotations with a particular received message, the DAG generation module 124 displays to a human annotator the received message (and portions of the conversation before and after the received message) and receives the one or more message annotations.
  • the DAG generation module 124 determines if there are any additional transcripts in the historical conversations data store 126 that have not been annotated, and if so proceeds to the step 202 to select another transcript.
  • the DAG generation module 124 uses the annotated transcripts to train the classifications module(s) 114.
  • each classification module(s) 114 may be associated with a particular aspect of a received message.
  • Each classification module 114 is trained so that when a received message is provided as an input thereto, the classification module 114 returns the message annotation associated with the received message.
  • the possible message annotation(s) the classification module 114 is trained to return are associated with the particular aspect associated with the classification module 114.
  • the DAG generation module 124 further analyzes the transcripts in the historical conversations data store 126, and clusters portions of such transcripts that are semantically equivalent. In some embodiments, the DAG generation module 124 uses a semantic equivalence engine or other semantic matching technique to undertake such clustering.
  • the DAG generation module 124 creates a node of the conversation DAG 108 for each cluster developed at the step 210. For each such node, the DAG generation module 124 stores information in each node regarding the classification module(s) 114 to be used to analyze the received messages associated with node, state variables associated with the annotations generated by such classification module(s) 114, and combinations of values of the state variables that cause a transition to another node of the conversation DAG 108.
  • the DAG generation module 124 stores the newly created DAG in the conversation DAG data store 108.
  • the conversation DAG 108 is stored as a data structure comprising nodes linked to other nodes.
  • the conversation DAG 108 may be stored in a relational database, a text file, one or more XML files, and the like.
  • the conversation DAG 108 is converted into a computer program (or portion thereof) that comprises the conversation module 112.
  • each node is converted to a function (or subroutine) of the computer program.
  • Such function includes program code that analyzes received messages, analyzes the state variables, makes calls to the classification module(s) 114 as necessary, and provides suggested messages to the user interface module 110. Further, in these embodiments, a transition to a follower node is accomplished by calling the function associated with the follower node.
  • the computer program representation of the conversation DAG 108 can be automatically converted into a data structure or non-program representation, for example, for use by the optimization module 118.
  • FIG. 3 shows a flowchart 300 of the steps undertaken by the CMS 100 to manage a conversation between the agent and the user.
  • the conversation module 112 loads the conversation DAG 112 associated with the product or service sold or supported by the agent.
  • the conversation module 112 initializes the state variables that track the conversation to default values and the user interface module 110 creates a new conversation chat transcript in the chat transcript data store 116. Thereafter, at a step 306, the conversation module 112 selects the head node of the conversation DAG 108. At a step 308, the conversation module 112 then transmits the output messages specified by the node selected at a step 306 and the identifier associated with such node to the user interface module 110. Also, at a step 308, the user interface module 110 generates and sends instructions to the agent computer 102 to display such output messages.
  • the output messages in each node of the DAG 108 are in ranked order and the instructions generated by the user interface module 110 cause the agent computer 102 to display the output messages in such ranked order.
  • the user interface module 110 generates instructions that cause a browser page to display the output messages, for example, on a screen of the agent computer 102.
  • the user interface module 110 waits to receive an agent message that is either a selection of one of the proposed output messages generated at the step 308 or a different message entered by the agent into the agent computer 102.
  • the user interface module 110 generates and transmits instructions to the customer device 104 to display the agent message received at the step 310. If the customer device 104 accepts audio messages and the agent message is a text message, the user interface module 110 converts the agent message into an audio representation thereof using text to speech techniques apparent to one of ordinary skill, also at the step 312.
  • the user interface module 110 waits to receive a customer message from the customer device 104 and receives such customer message. If the customer message is received as an audio message and the nodes of the conversation DAG 108 are configured to analyze text messages, the user interface module 110 converts the audio message into speech to text techniques apparent to one of ordinary skill, also at the step 314.
  • the conversation module 112 analyzes the customer message received by the user interface module 110 at the step 314. In particular, for each classification module 114 specified in the node selected at the step 306, the conversation module 112 invokes such classification module 114 with the received message as an input and in response receives one or more of the predetermined message annotation values described above. For example, one classification module 114 may analyze the customer message to determine if the message includes identification of a topic the customer wishes to discuss with the agent and in response returns“topic identified” annotation value.
  • Another classification module 114 may analyze the received message to evaluate a level of rapport between the customer and the agent and return a predetermined annotation value that indicates such level of rapport (e.g., one of the annotation values“rapport low,”“rapport high,” and the like). Yet another classification module 114 may analyze the received message to determine if such message indicates a particular product or service and the return, for example, an annotation that is one of “iPhone,”“Android Phone”,“tablet,”“new service,”“upgrade service,” and the like.
  • the conversation module 112 updates values of the state variables that track the conversation in accordance with one of predetermined message annotation value(s) developed by the one or more classification modules 114 invoked at the step 316 or a combination of such predetermined message annotation values.
  • Some state variables track the state of the conversation such as whether a high level of rapport has been established, whether a topic has been identified, and the like.
  • Other state variables track what the customer’s interest is, such as, to purchase new phone or to upgrade a service plan, and the like.
  • the user interface module 110 records in the chat transcript created at the step 304 the identifier of the node selected at the step 306, the ranked output messages received from the conversation module 112 at the step 308, the agent message received at the step 310, the customer message received at the step 314, and the identities and output generated by any classifications module(s) 114 invoked to analyze the received message.
  • the conversation module 112 analyzes the values of the state variables to determine whether such values indicate that the conversation has progressed to a chapter, or portion thereof, represented by a node that follows the node selected at the step 306 and whether the conversation module 112 should transition to such follower node.
  • each node specifies a plurality of sets of proposed output messages to generate.
  • each set of output messages is associated with the value(s) of one or more state variable(s) when the conversation module 112 undertakes the step 308. Therefore, even though the conversation module 112 may undertake the steps 308-322 multiple times in connection with a particular node of the conversation DAG 108, the output messages generated at the step 308 may vary in accordance with the values of the state variables each time the step 308 is undertaken.
  • the conversation module 112 determines whether a transition to a follower node is warranted, then, at a step 324, the conversation module 112 determines whether the follower node is a terminal node (i.e., the conversation has reached a conclusion). If the follower node is not a terminal node, the CMS 100 proceeds to the step 306 and the conversation module 112 selects the follower node. Otherwise, the CMS 100 exits.
  • the optimization module 118 analyzes one or more conversation transcript(s) stored in the chat transcript data store 116 to modify the one or more classification modules 114 and/or the conversation DAG 108 so that conversations that follow such conversation DAG 108 result in a desirable result (such as a sale of a product or service, or a satisfied customer). Further, such modifications may also be made to reduce the amount of time or the number of nodes of the conversation DAG 108 that are followed to reach the desirable result.
  • FIGS. 4 and 5 show a flowchart 400 of the steps undertaken by the optimization module 118. Referring to FIGS.
  • the optimization module 118 loads chat transcripts stored in the chat transcript data store 116 at a step 402.
  • a user operating the optimization user computer 120 directs the optimizer module 118 to load particular chat transcripts, for example, chat transcripts of conversations that resulted in undesirable outcomes such as a lack of a sale to the customer, a minimal sale to a customer, an unsatisfied customer, and the like.
  • the optimizer module 118 identifies those chat transcripts that are associated with conversations that reached terminal nodes of the conversation DAG 108 that are associated with undesirable or less than optimal outcomes.
  • the optimization module 118 loads the conversation DAG 108 used by the conversation module 112 during the conversations that resulted in the chat transcripts loaded at the step 402.
  • the optimization module 118 analyzes the loaded chat transcript to identify the nodes encountered by the conversation module 112 during conversations in which the agent overrode the proposed ranked output messages specified by such nodes in at least a predetermined proportion of the loaded chat transcripts.
  • the optimization module 118 records these nodes as“leaky nodes” in a memory thereof, also at the step 406.
  • the optimization module 118 analyzes the loaded chat transcripts to identify nodes of the conversation DAG 108 that are encountered by the conversation module 112 during conversations that do not lead to a desirable outcome in at least a predetermined proportion of the loaded chat transcripts.
  • the optimization module 118 records these nodes as“badage nodes” in a memory thereof, also at a step 408.
  • the leaky nodes identified at the step 406 and the badage nodes identified at the step 408 are problem nodes of the conversation DAG 108.
  • the optimization module may identify other types of problem nodes that may be apparent to one who has skill in the art.
  • the optimization module 118 develops and transmits instructions to the optimization user computer 120 that causes the optimization user computer 120 to display on a screen thereof a representation of the conversation DAG 108.
  • Such representation indicates, for example by color coding or indicia, those nodes that have been identified as problem nodes, and the type of problem (leakiness, badage, etc.) associated with such problem node.
  • the instructions generated transmitted by the optimization module 118 at the step 410 allow the user to select with an input device coupled to the optimization user computer 120 one of the displayed problem nodes and causes the optimization user computer 120 to transmit an identifier associated with the selected problem node to the optimization module 118.
  • the optimization module 118 receives such identifier at the step 412.
  • the optimization module 118 generates and transmits instructions to the optimizer user computer 120 that causes the optimizer user computer 120 to display one of chat transcripts loaded at the step 402 that resulted in the conversation module 112 reaching the problem node selected at the step 410. Further, at a step 416, the instructions allow the user of the optimizer user computer 120 to associate a predetermined node annotation with such displayed portion of the chat transcripts, the optimizer user computer 120 to transmit such predetermined node annotation to the optimization module 118, and the optimization module 118 to store the received predetermined node annotation in a data store associated therewith.
  • Such predetermined node annotation may be, for example, one of“message is not relevant,”“message does not address the customer’s request,”“message only addresses a portion of the customer’s request,” and the like.
  • the optimization module 118 determines if there are additional chat transcripts loaded at the step 402 that caused in the conversation module 112 to reach the problem node selected at the step 410. If so, the optimization module 118 proceeds to a step 414 to cause the optimizer user computer 120 to display a portion of another such chat transcript.
  • the optimization module 118 determines, at a step 420, if there are additional problem nodes that the user may wish to consider. If so, the optimization module 118 proceeds to the step 410 to display information regarding another such problem node. Otherwise the optimization module 118 proceeds to a step 422 (FIG. 5).
  • portions of chat transcripts that reached the problem node and have an identical node annotation may be considered as a cluster to determine the reason for reaching the problem node and to modify the conversation DAG 108 and/or one or more of the classification module(s) 114 to prevent future conversations from reaching the problem node.
  • the optimization module 118 selects a problem node and, at a step 424, selects a cluster of chat transcripts associated with the selected problem node and one of the node annotations.
  • the optimization module 118 generates and transmits instructions to the optimization user computer 120 that cause the optimization user computer 120 to display the problem node 322 and the cluster of chat transcripts selected at the steps 422 and 324, respectively.
  • the optimization module 118 determines a reason why the conversation module 112 reached the problem node in the conversation associated with the cluster of chat transcripts. In some cases, the optimization module 118 analyzes the cluster of chat transcripts, the node annotation associated therewith, and values of the state variables and recommended output messages associated with the problem node and/or nodes that led to the problem node to determine such reason.
  • the optimization module 118 generates and transmits to the optimization user computer 120 instructions that allow the user thereof to select one of the proposed reason(s) or specify a different reason and receives such selection or specification.
  • the instructions transmitted at the step 426 allow the user of the optimization user computer 120 and/or additional instructions transmitted at the step 428 allow the user to analyze the chat transcripts, the node annotation associated therewith, and the values of the state variables and recommended output messages to determine the reason, and to specify such reason using in input device associated with the optimization user computer 120.
  • the involvement of the user optimization computer 120 to determine the reason why the problem node was reached depends on the contents of the cluster of the chat transcripts selected at the step 424, the node annotation associated therewith, and the values of state variables and output messages recommended by the problem node or nodes that led to the problem node. That is, at the step 428, under some circumstances the optimization module 118 develops such reason autonomously without any user intervention and under other circumstances the user may be asked to confirm the reason proposed by the optimization module 118, and in yet other circumstance the user may be asked to specify such reason to the optimization module 118. In some embodiments, a menu or list of predetermined reasons is displayed on the optimization user computer 120, and the user is prompted to select one or of the displayed reasons. The optimization computer 120 receives and records such selection.
  • the reason developed at the step 428 may be, for example, that one or more of the classification module(s) 114 did not correctly classify the received message from the customer, all of the output messages suggested at the problem node were related to a product not requested by the customer (e.g., because the customer is requesting a new product), the received message from the customer included multiple requests but one or more of the classification module(s) 114 identified only one (e.g., the customer asked for a phone and a new line, but one or more of the classification module(s) 114 identified the received messages as asking for a phone only), and the like.
  • the optimization module 118 determines a corrective action to undertake to address the reason determined at the step 428. As with determining such reason, the optimization module 118 may analyze the reason and autonomously develop the corrective action without any user intervention, propose one or more corrective action(s) and ask the user (via appropriate instructions generated and transmitted to the optimization user computer 120) to confirm the proposed corrective action, and/or ask the user to specify the corrective action.
  • the corrective action determined at the step 430 may add to, replace, or modify such ranked output messages.
  • the such corrective action may modify the language used in the ranked output messages to use certain language that will elicit a desired response from the customer that will lead future conversations away from the problem node to a desired terminal node.
  • the corrective action developed at the step 430 may create a further node and an edge (i.e., a transition) from the problem node to the further node, wherein the further node is associated with a topic similar to that requested by the message from the customer device and includes the appropriate ranked output messages that lead to a desired terminal node.
  • the corrective action developed at the step 430 may be to specify Boolean logic to evaluate state variables to select one of a plurality of sets of proposed ranked output messages for the conversation module 112 to transmit to the agent computer 102.
  • the problem node may specify that the message received from the user device 104 is interpreted by first and second classification modules 114 that identify a product type and a purchase type, respectively.
  • the corrective action developed at the step 430 may specify Boolean logic that evaluates the product type and the purchase type to select an appropriate set of ranked messages.
  • Boolean logic may result in recommending to the agent a first set of ranked messages at the problem node when the product type is an Apple iPhone and the purchase type indicates that a special offer is requested and a second set of ranked messages if the product type is an Apple iPhone and the purchase type does not indicate that a special offer is requested.
  • Specification of such Boolean logic as a corrective action allows fine tuning of the messages presented at the problem node and may allow conversations to flow from the problem node to a desired terminal node. Further, Boolean logic may be added as a corrective action that causes the conversation module 112 to transition from the problem node to an appropriate follower node that leads to a terminal node associated with a desired outcome.
  • the corrective action developed at the step 430 may be to create a transition from the predecessor node of the problem node to a different node of the conversation DAG 108 that is associated with a topic similar to that requested in the message received from the customer device 104, and that does result in a desired outcome. Further, if after such modification of the conversation DAG 108, there are no predecessor nodes that lead to the problem node, the problem node may be deleted.
  • the problem node may be split into one or more additional node(s) to facilitate a conversation that focuses on one topic that is of interest to the user at a time.
  • additional nodes may be connected to other nodes of the conversation DAG 108 that lead to a desired terminal node.
  • the corrective action notes the correct predetermined message annotation that should have been generated and marks the classification module 114 for possible retraining.
  • the corrective action may be to modify the problem node to select a different classification module 114 to interpret the received messages. Further, additional Boolean logic may be specified that evaluates state variables to select an appropriate classification module 114 for a received message. If an appropriate classification module 114 does not exist, the corrective action may create and train a new classification module 114 using the received message and related training data sets. The problem node is then modified to specify the use of the new classification module 114 to classify certain messages received from the customer device 104.
  • the optimization module 118 After developing the corrective action at the step 430, the optimization module 118 creates, at a step 432, an updated conversation DAG 108 in accordance with such corrective action. [0070] At a step 434, the optimization module 118 determines if additional clusters are associated with the problem node selected at the step 422, and if so proceeds to the step 424 to select another cluster. Otherwise, at a step 436, the optimization module determines if there any additional problem nodes that have not been processed as described above, and if so, proceeds to the step 422 to select an additional problem node.
  • the optimization module 118 determines if any of the classification module(s) 114 were marked for retraining at a step 430 in connection with at least a predetermined number of clusters and/or problem nodes. If so, such classification module 114 is retrained at a step 440, otherwise the optimization module 118 proceeds to a step 442.
  • the optimization module 118 uses the received messages that were misinterpreted by such classification module 114 and the correct classification of such received message noted at the step 430.
  • the classification module 114 is a neural network
  • such retraining may involve training the classification module 114 with the received messages as input to generate the correct classifications in response using, for example, backward propagation.
  • the received messages may be used in combination with other training data sets to retrain the classification module 114.
  • the optimization module 118 stores the updated conversation DAG 108 created at the step 432 and/or the retrained classification module(s) 114 created at the step 440. Thereafter, the optimization module 118 exits.
  • the optimization module 118 is described above for analyzing problem nodes of a conversation DAG 108, it should be apparent that the optimization module 118 may be used to analyze non-problem nodes. For example, the optimization module 118 may be used to identify most traversed pathways of the conversation DAG 108, what nodes of the conversation DAG 108 are most frequently encountered during conversations, and extraneous nodes of the conversation DAG 108 that are rarely encountered. The foregoing information may further be analyzed in accordance with characteristics of the customer device 104 and/or the customer associated with therewith such as geographical location, first time versus a repeat customer, demographic information, and the like.
  • the such information may be analyzed in accordance with the identity of characteristics of agents involved in conversations such as geographical location, training level of the agents, and the like. Such information could be displayed on a dashboard for a manager or other staff member to quickly identify additional optimizations of the conversation DAG 108, training to provide to agents, and the like.
  • optimization module 118 simplifies analyzing and modifying the conversation DAG 108 and/or the classification module(s) 114, the user of the optimization user computer 120 does not need special training in programming, computer systems, artificial intelligence and the like.
  • the testing module 122 evaluates the performance of such updated conversation DAG 108 and/or retrained classification module 114.
  • FIG. 6 shows a flowchart 500 of the steps undertaken by the testing module 122 to perform such evaluation.
  • the testing protocol to be used by the testing module may be predefined or specified by the user of the optimization user computer 120 after operation of the optimization module 118 has been undertaken a predetermined number of times.
  • the testing module 122 determines if the performance of the updated conversation DAG 108 and/or retrained classification module 114 should be evaluated using chat transcripts stored in the historical conversations data store 126. If so, the testing module proceeds to a step 504, otherwise the testing module 122 proceeds to a step 506.
  • the testing module 122 selects versions of the conversation DAG 108 and classification modules 118 as they existed before operation optimization module 118 was undertaken.
  • the testing module 122 operates the conversation module 112 in a simulation mode using the conversation DAG 108 and classification module(s) selected at the step 504 and received messages recorded in one or more chat transcripts stored in the historical conversations data store 126.
  • the testing module 122 determines the number of positive and negative outcomes (i.e., positive and negative terminal nodes of the conversation DAG 108 that were reached at the conclusion of the step 508).
  • the testing module 122 selects the updated conversation DAG 108 and retrained classification module(s) 114 developed by the optimization module 118.
  • the testing module 122 once again operates the conversation module 112 in the simulation mode using the updated conversation DAG 108 and retrained classification module(s) 114, and the received messages recorded in the chat transcripts used at the step 508.
  • the testing module 122 determines the number of positive and negative terminal nodes of the updated conversation DAG 108 that were reached at the conclusion of the step 512.
  • the testing module 122 reports the numbers of positive and negative terminal nodes determined at the steps 510 and 516. In some embodiments, the testing module 122 reports such information to an operator of the CMS 100. In other embodiments, the testing module 122 stores such information with the updated conversation DAG 108 and/or retrained classification module(s) 114. Further, in some cases, if the number of positive outcomes determined at the step 516 is greater than the number of positive terminal nodes determined at the step 510 by at least a predetermined amount, the testing module 122 marks the updated conversation DAG 108 and any retrained classification modules 114 as candidates for deployment. After the step 518, the testing module 122 proceeds to the step 506.
  • the testing module 122 determines if A/B testing on future conversation is to be undertaken prior to deployment. If so, the testing module 122 proceeds to a step 520, otherwise the testing module 122 proceeds to a step 522.
  • the nodes of the conversation DAG 108 may identify one or more classification module(s) 114 to use to interpret a message received from the customer device. Further, when the optimization module 118 is operated, a modified conversation DAG 108 may be developed and, for each classification module 114 identified by the nodes of the modified conversation DAG 108, one or more modified classification module(s) 114 may be developed.
  • A/B testing may be undertaken every time at least one of the modified conversation DAG 108 and/or at least one of the classification module(s) 114 is modified, it may be more efficient to undertake A/B testing after several, for example, a predetermined number, of modified conversation DAGs 108 and/or modified classification module(s) 114 have been developed.
  • the testing module 122 waits for the conversation module 112 to receive a request from the customer device 104 to begin a new conversation.
  • the testing module 122 develops a test set that specifies a randomly selected modified or unmodified conversation DAGs 108. For each classification module 114 specified by the selected conversation DAG 108, the test set also specifies one classification module(s) 114 (either modified or unmodified) for each classification module 114 specified by the nodes of the conversation DAG 108.
  • the testing module 122 configures the conversation module 112 to use the conversation DAG 108 and the classification module(s) 114 specified by the test set developed in step 524.
  • the testing module 122 waits for the conversation to complete.
  • the testing module 122 determines the terminal node of the conversation DAG 108 at which the conversation ended, records such terminal node and the test set in a memory associated with the testing module 122.
  • the testing module 122 determines if additional iterations of A/B testing should be conducted. If additional iterations are to be conducted, the testing module 122 proceeds to step 524 to develop another test set to test, otherwise the testing module 122 proceeds to step 522. [0091] At the step 522, the testing module 122 analyzes the outcomes determined at the step 516 and, if A/B testing was undertaken, at a step 530 to select the combination of a modified or unmodified DAG 108 and one or more modified or unmodified classification module(s) 114 that result in the greatest number of positive outcomes or the greatest aggregate positive outcome.
  • the testing module 122 may select a combination that does not result in the greatest number of positive outcomes, but a combination associated with the greatest amount of value (e.g., revenue) generated thereby. Also, at the step 522, the testing module 122 configures the conversation module 112 to use the conversation DAG 108 and one or more classification modules 114 specified by the selected conversation in future conversations. Thereafter, the testing module 122 exits.
  • the conversation module 112 is a state machine wherein in each state is represented by a node of the conversation DAG 108. As the conversation proceeds, such state machine transitions from one state to a follower state until a terminal state is reached.
  • the optimization module 118 analyzes the operation of the state machine by analyzing the chat transcripts that result from operation the state machine and facilitates modification of the state machine by modifying the conversation DAG 108 that represents the state machine and the classification modules 114 used by the state machine during operation.
  • the CMS 100 described above encapsulates the capabilities of high-performing agents into the conversation DAG 108 and classification modules 114 to provide guidance to a novice agent during a conversation to increase the possibility of achieving a positive outcome (i.e., a positive terminal node of the conversation DAG 108) is improved.
  • the optimization module 108 is used to refine the initial conversation DAG 108 as conversations are conducted to further improve the likelihood that responses to messages recommended by the refined conversation DAG 108 will result in a positive outcome.
  • any combination of hardware and/or software may be used to implement the conversation management system 100 described herein. It will be understood and appreciated that one or more of the processes, sub-processes, and process steps described in connection with FIGS. 1 may be performed by hardware, software, or a combination of hardware and software on one or more electronic or digitally-controlled devices.
  • the software may reside in a software memory (not shown) in a suitable electronic processing component or system such as, for example, one or more of the functional systems, controllers, devices, components, modules, or sub-modules schematically depicted in FIGS. 1-6.
  • the software memory may include an ordered listing of executable instructions for implementing logical functions (that is, "logic” that may be implemented in digital form such as digital circuitry or source code, or in analog form such as analog source such as an analog electrical, sound, or video signal).
  • the instructions may be executed within a processing module or controller (e.g., the user interface module 110, the conversation module 112, the classification module(s) 114, the optimization module 118, the testing module 122, and the DAG generation module 124 of FIG. 1), which includes, for example, one or more microprocessors, general purpose processors, combinations of processors, digital signal processors (DSPs), field programmable gate arrays (FPGAs), or application-specific integrated circuits (ASICs).
  • DSPs digital signal processors
  • FPGAs field programmable gate arrays
  • ASICs application-specific integrated circuits
  • schematic diagrams describe a logical division of functions having physical (hardware and/or software) implementations that are not limited by architecture or the physical layout of the functions.
  • the example systems described in this application may be implemented in a variety of configurations and operate as hardware/software components in a single hardware/software unit, or in separate hardware/software units.
  • the executable instructions may be implemented as a computer program product having instructions stored therein which, when executed by a processing module of an electronic system, direct the electronic system to carry out the instructions.
  • the computer program product may be selectively embodied in any non-transitory computer- readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as an electronic computer-based system, processor-containing system, or other system that may selectively fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
  • computer-readable storage medium is any non-transitory means that may store the program for use by or in connection with the instruction execution system, apparatus, or device.
  • the non-transitory computer-readable storage medium may selectively be, for example, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device.
  • a non-exhaustive list of more specific examples of non- transitory computer readable media include: an electrical connection having one or more wires (electronic); a portable computer diskette (magnetic); a random access, i.e., volatile, memory (electronic); a read-only memory (electronic); an erasable programmable read only memory such as, for example, Flash memory (electronic); a compact disc memory such as, for example, CD-ROM, CD-R, CD-RW (optical); and digital versatile disc memory, i.e., DVD (optical).
  • receiving and transmitting of signals or data means that two or more systems, devices, components, modules, or sub-modules are capable of communicating with each other via signals that travel over some type of signal path.
  • the signals may be communication, power, data, or energy signals, which may communicate information, power, or energy from a first system, device, component, module, or sub-module to a second system, device, component, module, or sub-module along a signal path between the first and second system, device, component, module, or sub-module.
  • the signal paths may include physical, electrical, magnetic, electromagnetic, electrochemical, optical, wired, or wireless connections.
  • the signal paths may also include additional systems, devices, components, modules, or sub-modules between the first and second system, device, component, module, or sub-module.

Abstract

Cette invention concerne un système de gestion de conversation permettant d'optimiser le fonctionnement d'un système de gestion de conversation, comprenant un module d'optimisation fonctionnant sur au moins un processeur. Le module d'optimisation charge un graphe acyclique orienté (DAG) utilisé par le système de gestion de conversation pour faciliter une conversation entre un agent et un client, le graphe acyclique orienté comprenant une pluralité de nœuds et chaque nœud spécifiant une réponse d'agent proposée pour générer en réponse un message reçu par le système de gestion de conversation. Le module d'optimisation analyse en outre une pluralité de transcriptions de dialogue en ligne générées par le système de gestion de conversation, chaque transcription de conversation en ligne étant générée suite à une conversation entreprise conformément au graphe acyclique orienté, pour identifier un nœud problématique du graphe acyclique orienté qui spécifie une réponse d'agent proposée qui est sensiblement différente d'une réponse d'agent réelle transmise en réponse à une pluralité de messages de client reçus. Suite à cela, le module d'optimisation affiche des statistiques concernant le nœud problématique et détermine une action corrective à appliquer au nœud problématique.
PCT/US2019/052671 2018-09-24 2019-09-24 Système et procédé pour optimiser le fonctionnement d'un système de gestion de conversation WO2020068808A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862735266P 2018-09-24 2018-09-24
US62/735,266 2018-09-24

Publications (1)

Publication Number Publication Date
WO2020068808A1 true WO2020068808A1 (fr) 2020-04-02

Family

ID=69949768

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/052671 WO2020068808A1 (fr) 2018-09-24 2019-09-24 Système et procédé pour optimiser le fonctionnement d'un système de gestion de conversation

Country Status (1)

Country Link
WO (1) WO2020068808A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11949635B2 (en) * 2021-06-15 2024-04-02 Drift.com, Inc. Proactive and reactive directing of conversational bot-human interactions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140067378A1 (en) * 2011-01-05 2014-03-06 International Business Machines Corporation Expert Conversation Builder
US20150281071A1 (en) * 2014-03-26 2015-10-01 Palo Alto Research Center Incorporated Multi-publisher routing protocol for named data networks
US20190182382A1 (en) * 2017-12-13 2019-06-13 Genesys Telecomminications Laboratories, Inc. Systems and methods for chatbot generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140067378A1 (en) * 2011-01-05 2014-03-06 International Business Machines Corporation Expert Conversation Builder
US20150281071A1 (en) * 2014-03-26 2015-10-01 Palo Alto Research Center Incorporated Multi-publisher routing protocol for named data networks
US20190182382A1 (en) * 2017-12-13 2019-06-13 Genesys Telecomminications Laboratories, Inc. Systems and methods for chatbot generation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11949635B2 (en) * 2021-06-15 2024-04-02 Drift.com, Inc. Proactive and reactive directing of conversational bot-human interactions

Similar Documents

Publication Publication Date Title
JP6805226B2 (ja) 人工知能に基づくサービス実施
US20180052664A1 (en) Method and system for developing, training, and deploying effective intelligent virtual agent
US11159679B2 (en) Automated systems and methods for natural language processing with speaker intention inference
US20220036899A1 (en) Multi-modal conversational agent platform
CN113169931B (zh) 基于脚本的自动化机器人程序创建
US20180054464A1 (en) Method and system for collaborative intelligent virtual agents
US20180053119A1 (en) Method and system for semi-supervised learning in generating knowledge for intelligent virtual agents
KR20200021162A (ko) 상담원의 상담내용을 기반으로 상담 챗봇을 학습하는 시스템 및 방법
US11544721B2 (en) Supporting automation of customer service
KR20210028480A (ko) 인공지능기반 상담지원장치
US11615144B2 (en) Machine learning query session enhancement
US20230036072A1 (en) AI-Based Method and System for Testing Chatbots
Engelbrecht Estimating spoken dialog system quality with user models
US20190295098A1 (en) Performing Real-Time Analytics for Customer Care Interactions
US20230206096A1 (en) Automated machine learning model explanation generation
US9864949B1 (en) Cognition model-based product assist
WO2020068808A1 (fr) Système et procédé pour optimiser le fonctionnement d'un système de gestion de conversation
US20200342469A1 (en) System and method for performing a quality assessment by segmenting and analyzing verbatims
US11972467B2 (en) Question-answer expansion
US11055329B2 (en) Query and information meter for query session
JP7153422B2 (ja) 媒体用コンセプト予測の予測
KR102653266B1 (ko) 인공지능 기반의 챗봇 대화 상담 시스템 및 그 방법
US20230333966A1 (en) Systems and methods for customer journey orchestration
CN113569028A (zh) 智能客服知识库模型训练方法、装置及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19864625

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19864625

Country of ref document: EP

Kind code of ref document: A1